This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-09-22
Channels
- # alda (1)
- # aws-lambda (23)
- # beginners (27)
- # boot (156)
- # business (2)
- # carry (4)
- # cider (1)
- # cljsjs (2)
- # cljsrn (29)
- # clojure (170)
- # clojure-austin (35)
- # clojure-czech (8)
- # clojure-dusseldorf (5)
- # clojure-italy (4)
- # clojure-nl (1)
- # clojure-quebec (2)
- # clojure-russia (45)
- # clojure-spec (49)
- # clojure-uk (12)
- # clojurescript (81)
- # component (5)
- # datomic (24)
- # devcards (26)
- # emacs (4)
- # hoplon (4)
- # jobs (1)
- # juxt (5)
- # leiningen (6)
- # luminus (14)
- # mount (26)
- # om (27)
- # om-next (2)
- # onyx (22)
- # pedestal (2)
- # planck (3)
- # proton (5)
- # re-frame (19)
- # reagent (2)
- # ring-swagger (60)
- # spacemacs (12)
- # specter (8)
- # untangled (119)
- # vim (61)
- # yada (36)
@puzzler STAY
is common with recursive navigators, the README has one for navigating a tree represented by nested vectors. Also continue-then-stay
and stay-then-continue
use it https://github.com/nathanmarz/specter/blob/master/src/clj/com/rpl/specter.cljc#L1061
as for value collection, it's something I use constantly, especially for more sophisticated transformations
this is pretty representative of the kinds of things I use it for: https://github.com/nathanmarz/specter-clojure-west/blob/master/src/specter_demo/examples.clj#L489
those graph navigators aren't public, but that takes an ancestry graph and adds a field to each node for the "royal name" which is "{name} of {parent1}, {parent2}..."
it navigates to each :royal-name field to create and along the way collects what it needs to compute that value – the parent names and the name for this node
the only places I use STOP
are in conjunction with protocol paths, essentially saying there's nothing to navigate to for that type