Fork me on GitHub
#specter
<
2022-03-13
>
borkdude16:03:29

OK, here we go! specter in #babashka, all specter's tests are passing! Install the latest dev preview:

bash <(curl ) --version 0.7.8-SNAPSHOT --dir .
Then try this script:
(require '[babashka.deps :as deps])

(deps/add-deps '{:deps {com.rpl/specter {:git/url ""
                                         :git/sha "8ba809a2cd35d3b6f8c5287e6bd3b4e06e42f6dc"}}})

(require '[com.rpl.specter :as s])

(s/transform [(s/walker number?) odd?] inc {:a 1 :b [1 2 3]})
with:
./bb specter.clj
and it should print:
{:a 2, :b [2 2 4]}

borkdude16:03:29

@nathanmarz I'd love to contribute this back upstream, if you are open to this. The diff is fairly small: the JVM and CLJS code paths are unchanged, there are only a few extra :bb reader conditionals introduced. The diff: https://github.com/borkdude/specter/commit/8ba809a2cd35d3b6f8c5287e6bd3b4e06e42f6dc

borkdude19:03:06

The above is now available in babashka 0.7.8.