Commit graph

873 commits

Author SHA1 Message Date
Jeff Evans
0ddebad851 Adding new subseq-pred-fn macro to create the new form of predicate
function (taking the previous and current item), to preserve backward
compatibility (still allowing predicate functions that only take the
current item).  This macro also takes in a get-truthy-fn as its first
argument, which is a function that marks whether that item in the
sequence should be included in a subsequence.  This is necessary
because the predicate function can now be of any arbitrary form, so
we cannot make any assumption about how the user intends for that
result to be interpreted as a "filter".

Adding SubseqsDynamicPredFn, which works the same as SrangeEndFn, to support backward compatibility

Adding wrapper to take a predicate on [prev current] and turn it into a predicate also taking the current index as the first param

Creating transducer to combine this with the user-supplied predicate function

Adding tests for select and transform

TODO: figure out how to make predicate function handle an open-ended subsequence (ex: end marker not yet seen)
2020-09-25 13:51:24 -05: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
083376f904 update changelog 2020-09-17 15:26:28 -04:00
Nathan Marz
de48f24d70 update changelog 2020-09-17 15:25:22 -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
Jeff Evans
789881b3ad
Fix instructions for running tests (#295) 2020-09-14 15:37:16 -04:00
Nathan Marz
edd7429281 update changelog 2020-08-16 19:40:59 -04:00
Adrian
e222ba2a6c
Add arglist metadata to navs. (#290) 2020-08-16 19:40:02 -04:00
Nathan Marz
40add561b6
Update README.md 2020-01-02 21:45:33 -05:00
Nathan Marz
123af0937e update release date 2019-10-13 23:07:26 -04:00
Nathan Marz
6e7d772755 update codox 2019-10-13 23:04:36 -04:00
Nathan Marz
134beac2a7 begin 1.1.4 2019-10-13 22:56:15 -04:00
Nathan Marz
86f8412ee4 update deploy 2019-10-13 22:56:04 -04:00
Nathan Marz
28ef42152a 1.1.3 2019-10-13 22:22:18 -04:00
Nathan Marz
ffe8130bf0 Merge branch 'master' of github.com:redplanetlabs/specter 2019-09-10 18:19:08 -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
Nathan Marz
029a33427f
Update README.md
Update links in README
2019-08-29 13:39:20 -04:00
nathanmarz
925e2e91d6 Merge branch 'master' of github.com:nathanmarz/specter 2019-08-27 20:48:58 -04:00
nathanmarz
29ee91d01e add CONTRIBUTING.md 2019-08-27 20:48:49 -04:00
Nathan Marz
b7ff05bf54
Update .travis.yml 2019-08-24 19:19:34 -04:00
Nathan Marz
ae24856ec3
Update travis link 2019-08-24 19:14:08 -04:00
Nathan Marz
23f4e1a370
Update README.md 2019-01-29 14:25:15 -05:00
Nathan Marz
e38a2561d8
Merge pull request #275 from xificurC/master
use criterium for benchmarks
2018-12-13 21:23:03 -05:00
Peter Nagy (NPE)
fe1deb5195 use criterium for benchmarks, output JVM and clojure version 2018-12-13 12:54:28 +01:00
nathanmarz
7790213b16 update changelog 2018-12-03 14:30:28 -05:00
nathanmarz
8764a4b2b6 fix throw-illegal in cljs code 2018-12-03 14:29:58 -05:00
nathanmarz
c65b31181a update changelog 2018-11-01 21:40:57 -04:00
nathanmarz
f13b5db08a begin 1.1.3 2018-11-01 21:39:09 -04:00
nathanmarz
6c3253f16a 1.1.2 2018-11-01 21:38:17 -04:00
nathanmarz
e7abb2b538 fix handling of subvector paths in cljs 2018-06-26 08:39:28 -04:00
nathanmarz
3536e3c461 update class-constant-test for cljs 2018-06-12 10:48:56 -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
4580de8cc6 1.1.1 2018-04-23 11:28:23 -04:00
nathanmarz
79a3610a64 remove usage of pprint in cljs 2018-04-21 10:19:05 -04:00
nathanmarz
1590b2c2d4 update changelog 2018-04-09 14:57:45 -04:00
Nathan Marz
efe94b6539
Merge pull request #253 from gnl/master
Fix ns form to comply with cljs.core.specs.alpha
2018-04-09 14:55:46 -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
38a27ecc43 Merge branch 'master' of github.com:nathanmarz/specter 2018-03-22 15:44:11 -04:00
nathanmarz
d4887c2090 fix issue with walker caused by change in cljs 1.10 2018-03-22 15:43:53 -04:00
Nathan Marz
4a589c3074
add cheat sheet to readme 2018-02-13 09:09:38 -05:00
nathanmarz
1a05546f27 Merge branch 'master' of github.com:nathanmarz/specter 2018-02-08 22:27:06 -05:00
nathanmarz
d5143f136c update readme 2018-02-08 22:26:58 -05:00
Nathan Marz
f7b7b0cba2
Merge pull request #245 from DjebbZ/master
Add dates to all changelog entries
2018-02-08 10:53:44 -05:00
DjebbZ
05e354a9a2 Add dates to all changelog entries 2018-02-08 15:47:20 +01:00
nathanmarz
b4a3c4f601 begin 1.1.1 2018-01-02 09:30:22 -05:00