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
nathanmarz
0b88411f88
rename walker param to be consistent with doc
2017-06-02 13:46:47 -04:00
nathanmarz
b2589e00a6
fix handling of records with ALL in cljs
2017-06-02 10:17:35 -04:00
nathanmarz
d0ff9bbc35
reimplement codewalker so it works with NONE
2017-06-01 02:38:20 -04:00
nathanmarz
340d6d3065
reimplement walker in terms of recursive-path to support NONE removal
2017-06-01 01:38:12 -04:00
nathanmarz
e8f15c4137
extend ALL to records (for walker reimplementation)
2017-06-01 01:27:24 -04:00
nathanmarz
5d185ec9f4
for ALL on maps, interpret transformed key value pair of < size 2 as removal
2017-05-31 21:00:23 -04:00
nathanmarz
1411ac495e
add comments about workaround for cljs bug
2017-05-29 21:52:40 -04:00
nathanmarz
a924c75ac6
workaround to cljs bug where private vars in cljs.core can cause warnings with same named var (in this case, NONE)
2017-05-29 21:46:59 -04:00
nathanmarz
0608ca6396
fix bug with nested dynamic params with dynamic function invocations
2017-05-08 18:48:46 -04:00
nathanmarz
426873da98
support transforms to NONE for set-elem and map-key
2017-05-07 20:30:50 -04:00
nathanmarz
2dd6432c69
add set-elem navigator and change semantics of map-key to only navigate if the key exists (for consistency with set-elem)
2017-05-07 19:36:50 -04:00
nathanmarz
2423127877
add map-key
2017-05-05 18:41:46 -04:00
nathanmarz
5dea8919be
add helper pred navs for common comparisons
2017-04-24 20:35:41 -04:00
nathanmarz
e3abd1ef9a
better doc for filterer
2017-04-15 15:45:22 -04:00
nathanmarz
be30e46960
allow subselect/filterer to remove subvals
2017-04-13 10:20:24 -04:00
nathanmarz
ee56ddc1ab
force ALL on lists to realize lazy sequence, fix benchmark
2017-04-11 11:58:52 -04:00
nathanmarz
b18a249623
improve performance of ALL transform on lists, add benchmark
2017-04-11 11:44:39 -04:00
nathanmarz
c3164d722d
add satisfies-protpath?
2017-04-03 13:46:08 -04:00