tommy
9a615ff22c
Implement ALL for strings ( #333 )
2024-09-16 05:10:52 -10:00
Michiel Borkent
a64209d582
Make babashka-compatible ( #323 )
2022-03-14 07:11:40 -10:00
Nathan Marz
a379893598
BEFORE-ELEM, AFTER-ELEM, FIRST, LAST, BEGINNING, and END on subvecs now produce vector type in cljs
2020-09-17 15:47:26 -04:00
Nathan Marz
efaf35558a
replace throw-illegal with ex-info
2020-09-17 15:36:16 -04:00
Nathan Marz
c54a46c686
before-index 0 on nil produces list, fix flaws in tests regarding predand=
2020-09-17 15:24:11 -04:00
Jeff Evans
2e002c1270
Improve before-index performance #223 ( #291 )
...
Adding new protocol for performing the insert-before-idx operation, with
implementations for core collection types
Adding new functional test to confirm behavior when operating on a string
Adding benchmarks to compare new performance vs old implementation vs
core Clojure in a couple of cases
2020-09-17 15:15:42 -04:00
Adrian
e222ba2a6c
Add arglist metadata to navs. ( #290 )
2020-08-16 19:40:02 -04:00
Nathan Marz
9c7f6fb65e
don't write class files for eval'd functions for inline path functions or protpath extensions.
2019-09-10 18:18:56 -04:00
nathanmarz
8764a4b2b6
fix throw-illegal in cljs code
2018-12-03 14:29:58 -05:00
nathanmarz
e7abb2b538
fix handling of subvector paths in cljs
2018-06-26 08:39:28 -04:00
nathanmarz
350c8b857f
Fix inline compiler symbol handling so class references can be used as constants within paths
2018-06-12 10:09:11 -04:00
nathanmarz
798cda211f
eliminate reflection warning
2018-05-18 13:45:20 -04:00
nathanmarz
79a3610a64
remove usage of pprint in cljs
2018-04-21 10:19:05 -04:00
gnl
eea5fcb48b
Fix ns form to comply with cljs.core.specs.alpha
...
When requiring the cljs.core.specs.alpha namespace with ClojureScript
1.10, the ns form in com.rpl.specter.navs fails spec validation and
produces a compile error, because the nested :clj reader conditionals
result in an empty :use clause.
Moving the reader conditional up to enclose :use fixes this.
Relevant spec:
b11cbeefa5/src/main/cljs/cljs/core/specs/alpha.cljc (L170)
Additional info:
https://clojurescript.org/news/2018-03-26-release#_core_specs_alpha
2018-04-07 16:54:11 +03:00
nathanmarz
ac48127871
fix
2018-03-23 18:24:01 -04:00
nathanmarz
01617b6264
fix build
2018-03-22 16:01:43 -04:00
nathanmarz
d4887c2090
fix issue with walker caused by change in cljs 1.10
2018-03-22 15:43:53 -04:00
nathanmarz
09d0d071ef
improve compact implementation
2017-12-24 10:50:22 -05:00
nathanmarz
70d9fef5cc
improve subselect fix
2017-12-21 23:28:00 -05:00
nathanmarz
7b646ca566
fix subselect changing first matched element to nil when transformed to empty sequence
2017-12-21 22:24:37 -05:00
nathanmarz
6a5054feea
add compact navigator
2017-12-21 13:15:22 -05:00
nathanmarz
632e710b07
make terminal and vterminal select codepath no-ops
2017-12-21 13:04:26 -05:00
nathanmarz
0ceda21151
add vtransform
2017-12-04 10:06:43 -05:00
nathanmarz
9515582a19
add vterminal
2017-12-04 09:57:43 -05:00
nathanmarz
5b60eb17e3
extend ImplicitNav for strings, numbers, characters, booleans, symbols, and regexes
2017-11-08 13:47:40 -05:00
nathanmarz
349e03342f
formatting
2017-10-22 12:23:25 -04:00
Michael Fogleman
98c7510d1c
Remove implicit regex functionality.
2017-10-20 10:50:16 -04:00
Michael Fogleman
4cf7ee965f
Rename regex* to regex-nav and move to specter.cljc.
2017-10-19 12:42:14 -04:00
Michael Fogleman
0e88c57a87
Correctly refer to regex type in CLJS.
...
Before it thought the type was com.rpl.specter/RegExp - but it's
actually js/RegExp.
2017-10-19 11:25:42 -04:00
Michael Fogleman
14dad51fd4
Specify where NONE is in regex*.
2017-10-19 11:25:42 -04:00
Michael Fogleman
d7ee2f7c6a
Move regex* location to a better spot.
...
...since it is no longer a "defrichnav."
2017-10-19 11:25:42 -04:00
Michael Fogleman
7dbe4dc524
Use defnav with regex* rather than defrichnav.
...
Nathan: vals is how collect / collect-one are implemented. You should
use defnav rather than defrichnav since it handles that parameter in
the background. defrichnav exists since the compiler doesn't do
certain inlining optimizations, so defrichnav allows the handling of
vals to be inlined manually. This is only important for navigators
which do very little work (like keypath) – I think regexes are
expensive enough that the inlining optimization won't be noticeable.
2017-10-19 11:25:42 -04:00
Michael Fogleman
dc9e2205c3
Wrap re-seq in doseqres.
...
This navigates to each match, not a sequence of matches.
2017-10-19 11:25:42 -04:00
Michael Fogleman
6e90ceadea
Use re-seq rather than re-find.
2017-10-19 11:25:42 -04:00
Michael Fogleman
b5f840db22
Initial select implementation for Regexes.
2017-10-19 11:25:42 -04:00
Michael Fogleman
efd123d17e
Add a space to the nthpath documentation.
2017-09-11 10:21:42 -04:00
nathanmarz
c233fb7e9d
add indexed-vals
2017-08-16 07:28:05 -04:00
nathanmarz
8d5f39a861
fix INDEXED-VALS
2017-08-15 01:32:43 -04:00
nathanmarz
85d3f14de9
fix docstring
2017-08-13 12:16:49 -04:00
nathanmarz
43fd7ab2e2
add INDEXED-VALS tests
2017-08-13 11:50:42 -04:00
nathanmarz
1805094df8
update changelog
2017-08-13 07:51:02 -04:00
nathanmarz
1b4a7d3d59
add INDEXED-VALS navigator
2017-08-13 07:49:08 -04:00
nathanmarz
1b7f987eaa
fix outdated docstrings
2017-07-29 12:35:33 -04:00
nathanmarz
03e686cd9c
tighten code
2017-07-24 13:02:19 -04:00
nathanmarz
dbae629472
cljs tests fix
2017-07-24 10:46:12 -04:00
nathanmarz
b7c62e444c
add before-index and index-nav navigators
2017-07-24 10:29:11 -04:00
nathanmarz
179d818503
fix regression in cljs that causes warning for record fields named var and other reserved words
2017-06-27 08:22:20 -04:00
nathanmarz
cfb191e1cd
add note about value collection in subselect
2017-06-14 12:11:09 -04:00
nathanmarz
7523e43823
improve doc for srange-dynamic
2017-06-07 17:17:13 -04:00
nathanmarz
3e4730b44f
add ability to declare end-fn for srange-dynamic that takes in result of start-fn
2017-06-07 17:14:20 -04:00