a vector of `[key value]`.</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L160">view source</a></div></div><divclass="public anchor"id="var-ATOM"><h3>ATOM</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Navigates to atom value.
</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L370">view source</a></div></div><divclass="public anchor"id="var-BEGINNING"><h3>BEGINNING</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Navigate to the empty subsequence before the first element of the collection.
</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L232">view source</a></div></div><divclass="public anchor"id="var-bind-params*"><h3>bind-params*</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Takes a compiled path that needs late-bound params and supplies it with
params. The return value is an executable selector.</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L117">view source</a></div></div><divclass="public anchor"id="var-codewalker"><h3>codewalker</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Like `walker` but maintains metadata of any forms traversed.
</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L295">view source</a></div></div><divclass="public anchor"id="var-collect"><h3>collect</h3><divclass="usage"><code>(collect & path)</code></div><divclass="doc"><preclass="plaintext">Adds the result of running select with the given path on the
current value to the collected vals.</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L501">view source</a></div></div><divclass="public anchor"id="var-collect-one"><h3>collect-one</h3><divclass="usage"><code>(collect-one & path)</code></div><divclass="doc"><preclass="plaintext">Adds the result of running select-one with the given path on the
current value to the collected vals.</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L511">view source</a></div></div><divclass="public anchor"id="var-comp-paths"><h3>comp-paths</h3><divclass="usage"><code>(comp-paths & apath)</code></div><divclass="doc"><preclass="plaintext">Returns a compiled version of the given path for use with
they were declared.</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L26">view source</a></div></div><divclass="public anchor"id="var-compiled-replace-in"><h3>compiled-replace-in</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Version of replace-in that takes in a path precompiled with comp-paths
</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L103">view source</a></div></div><divclass="public anchor"id="var-compiled-select"><h3>compiled-select</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Version of select that takes in a path precompiled with comp-paths
</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L49">view source</a></div></div><divclass="public anchor"id="var-compiled-select-first"><h3>compiled-select-first</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Version of select-first that takes in a path pre-compiled with comp-paths
</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L74">view source</a></div></div><divclass="public anchor"id="var-compiled-select-one"><h3>compiled-select-one</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Version of select-one that takes in a path pre-compiled with comp-paths
</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L58">view source</a></div></div><divclass="public anchor"id="var-compiled-select-one.21"><h3>compiled-select-one!</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Version of select-one! that takes in a path pre-compiled with comp-paths
</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L66">view source</a></div></div><divclass="public anchor"id="var-compiled-setval"><h3>compiled-setval</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Version of setval that takes in a path precompiled with comp-paths
</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L95">view source</a></div></div><divclass="public anchor"id="var-compiled-transform"><h3>compiled-transform</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Version of transform that takes in a path pre-compiled with comp-paths
</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L86">view source</a></div></div><divclass="public anchor"id="var-cond-path"><h3>cond-path</h3><divclass="usage"><code>(cond-path & conds)</code></div><divclass="doc"><preclass="plaintext">Takes in alternating cond-path path cond-path path...
were declared.</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L555">view source</a></div></div><divclass="public anchor"id="var-continue-then-stay"><h3>continue-then-stay</h3><divclass="usage"><code>(continue-then-stay & path)</code></div><divclass="doc"><preclass="plaintext">Navigates to the provided path and then to the current element. This can be used
to implement post-order traversal.</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L599">view source</a></div></div><divclass="public anchor"id="var-continuous-subseqs"><h3>continuous-subseqs</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Navigates to every continuous subsequence of elements matching `pred`
</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L214">view source</a></div></div><divclass="public anchor"id="var-END"><h3>END</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Navigate to the empty subsequence after the last element of the collection.
</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L243">view source</a></div></div><divclass="public anchor"id="var-filterer"><h3>filterer</h3><divclass="usage"><code>(filterer & path)</code></div><divclass="doc"><preclass="plaintext">Navigates to a view of the current sequence that only contains elements that
were declared.</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L419">view source</a></div></div><divclass="public anchor"id="var-FIRST"><h3>FIRST</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Navigate to the first element of the collection. If the collection is
empty navigation is stopped at this point.</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L186">view source</a></div></div><divclass="public anchor"id="var-if-path"><h3>if-path</h3><divclass="usage"><code>(if-path cond-p then-path)</code><code>(if-path cond-p then-path else-path)</code></div><divclass="doc"><preclass="plaintext">Like cond-path, but with if semantics.
</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L534">view source</a></div></div><divclass="public anchor"id="var-keypath"><h3>keypath</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Navigates to the specified key, navigating to nil if it does not exist.
</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L325">view source</a></div></div><divclass="public anchor"id="var-LAST"><h3>LAST</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Navigate to the last element of the collection. If the collection is
empty navigation is stopped at this point.</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L180">view source</a></div></div><divclass="public anchor"id="var-MAP-VALS"><h3>MAP-VALS</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Navigate to each value of the map. This is more efficient than
navigating via [ALL LAST]</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L166">view source</a></div></div><divclass="public anchor"id="var-multi-path"><h3>multi-path</h3><divclass="usage"><code>(multi-path & paths)</code></div><divclass="doc"><preclass="plaintext">A path that branches on multiple paths. For updates,
applies updates to the paths in order.</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L574">view source</a></div></div><divclass="public anchor"id="var-must"><h3>must</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Navigates to the key only if it exists in the map.
</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L335">view source</a></div></div><divclass="public anchor"id="var-must-cache-paths.21"><h3>must-cache-paths!</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Mandate that operations that do inline path factoring and compilation
where a navigator is expected.</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L35">view source</a></div></div><divclass="public anchor"id="var-NIL-.3ELIST"><h3>NIL->LIST</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Navigates to '() if the value is nil. Otherwise it stays
navigated at the current value.</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L489">view source</a></div></div><divclass="public anchor"id="var-NIL-.3ESET"><h3>NIL->SET</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Navigates to #{} if the value is nil. Otherwise it stays
navigated at the current value.</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L483">view source</a></div></div><divclass="public anchor"id="var-nil-.3Eval"><h3>nil->val</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Navigates to the provided val if the structure is nil. Otherwise it stays
navigated at the structure.</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L473">view source</a></div></div><divclass="public anchor"id="var-NIL-.3EVECTOR"><h3>NIL->VECTOR</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Navigates to [] if the value is nil. Otherwise it stays
navigated at the current value.</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L495">view source</a></div></div><divclass="public anchor"id="var-not-selected.3F"><h3>not-selected?</h3><divclass="usage"><code>(not-selected? & path)</code></div><divclass="doc"><preclass="plaintext"></pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L404">view source</a></div></div><divclass="public anchor"id="var-params-reset"><h3>params-reset</h3><divclass="usage"><code>(params-reset params-path)</code></div><divclass="doc"><preclass="plaintext"></pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L122">view source</a></div></div><divclass="public anchor"id="var-parser"><h3>parser</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Navigate to the result of running `parse-fn` on the value. For
it to get the final value at this point.</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L358">view source</a></div></div><divclass="public anchor"id="var-pred"><h3>pred</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Keeps the element only if it matches the supplied predicate. This is the
late-bound parameterized version of using a function directly in a path.</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L466">view source</a></div></div><divclass="public anchor"id="var-putval"><h3>putval</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Adds an external value to the collected vals. Useful when additional arguments
of what was transformed in the data structure.</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L106">view source</a></div></div><divclass="public anchor"id="var-select*"><h3>select*</h3><divclass="usage"><code>(select* path structure)</code></div><divclass="doc"><preclass="plaintext">Navigates to and returns a sequence of all the elements specified by the path.
</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L52">view source</a></div></div><divclass="public anchor"id="var-select-first*"><h3>select-first*</h3><divclass="usage"><code>(select-first* path structure)</code></div><divclass="doc"><preclass="plaintext">Returns first element found. Not any more efficient than select, just a convenience
</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L78">view source</a></div></div><divclass="public anchor"id="var-select-one.21*"><h3>select-one!*</h3><divclass="usage"><code>(select-one!* path structure)</code></div><divclass="doc"><preclass="plaintext">Returns exactly one element, throws exception if zero or multiple elements found
</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L69">view source</a></div></div><divclass="public anchor"id="var-select-one*"><h3>select-one*</h3><divclass="usage"><code>(select-one* path structure)</code></div><divclass="doc"><preclass="plaintext">Like select, but returns either one element or nil. Throws exception if multiple elements found
</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L61">view source</a></div></div><divclass="public anchor"id="var-selected.3F"><h3>selected?</h3><divclass="usage"><code>(selected? & path)</code></div><divclass="doc"><preclass="plaintext">Filters the current value based on whether a path finds anything.
were declared.</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L381">view source</a></div></div><divclass="public anchor"id="var-setval*"><h3>setval*</h3><divclass="usage"><code>(setval* path val structure)</code></div><divclass="doc"><preclass="plaintext">Navigates to each value specified by the path and replaces it by val
</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L98">view source</a></div></div><divclass="public anchor"id="var-srange"><h3>srange</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Navigates to the subsequence bound by the indexes start (inclusive)
and end (exclusive)</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L203">view source</a></div></div><divclass="public anchor"id="var-srange-dynamic"><h3>srange-dynamic</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Uses start-fn and end-fn to determine the bounds of the subsequence
to select when navigating. Each function takes in the structure as input.</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L192">view source</a></div></div><divclass="public anchor"id="var-STAY"><h3>STAY</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Stays navigated at the current point. Essentially a no-op navigator.
</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L151">view source</a></div></div><divclass="public anchor"id="var-stay-then-continue"><h3>stay-then-continue</h3><divclass="usage"><code>(stay-then-continue & path)</code></div><divclass="doc"><preclass="plaintext">Navigates to the current element and then navigates via the provided path.
This can be used to implement pre-order traversal.</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L593">view source</a></div></div><divclass="public anchor"id="var-STOP"><h3>STOP</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Stops navigation at this point. For selection returns nothing and for
transformation returns the structure unchanged</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L140">view source</a></div></div><divclass="public anchor"id="var-submap"><h3>submap</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Navigates to the specified submap (using select-keys).
value of the submap.</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L270">view source</a></div></div><divclass="public anchor"id="var-subselect"><h3>subselect</h3><divclass="usage"><code>(subselect & path)</code></div><divclass="doc"><preclass="plaintext">Navigates to a sequence that contains the results of (select ...),
"transform".</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L304">view source</a></div></div><divclass="public anchor"id="var-subset"><h3>subset</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Navigates to the specified subset (by taking an intersection).
new value of the subset.</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L254">view source</a></div></div><divclass="public anchor"id="var-transform*"><h3>transform*</h3><divclass="usage"><code>(transform* path transform-fn structure)</code></div><divclass="doc"><preclass="plaintext">Navigates to each value specified by the path and replaces it by the result of running
the transform-fn on it</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L89">view source</a></div></div><divclass="public anchor"id="var-transformed"><h3>transformed</h3><divclass="usage"><code>(transformed path update-fn)</code></div><divclass="doc"><preclass="plaintext">Navigates to a view of the current value by transforming it with the
were declared.</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L430">view source</a></div></div><divclass="public anchor"id="var-VAL"><h3>VAL</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext"></pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L178">view source</a></div></div><divclass="public anchor"id="var-view"><h3>view</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Navigates to result of running `afn` on the currently navigated value.
</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L348">view source</a></div></div><divclass="public anchor"id="var-walker"><h3>walker</h3><divclass="usage"></div><divclass="doc"><preclass="plaintext">Using clojure.walk, navigate the data structure until reaching
a value for which `afn` returns truthy.</pre></div><divclass="src-link"><ahref="https://github.com/nathanmarz/specter/tree/0.11.2/src/clj/com/rpl/specter.cljx#L285">view source</a></div></div></div></body></html>