Commit graph

413 commits

Author SHA1 Message Date
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