specter/com.rpl.specter.html
Nathan Marz 5dbcfe3f8a update
2019-10-13 23:05:18 -04:00

183 lines
No EOL
74 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html PUBLIC ""
"">
<html><head><meta charset="UTF-8" /><title>com.rpl.specter documentation</title><link rel="stylesheet" type="text/css" href="css/default.css" /><link rel="stylesheet" type="text/css" href="css/highlight.css" /><script type="text/javascript" src="js/highlight.min.js"></script><script type="text/javascript" src="js/jquery.min.js"></script><script type="text/javascript" src="js/page_effects.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div id="header"><h2>Generated by <a href="https://github.com/weavejester/codox">Codox</a></h2><h1><a href="index.html"><span class="project-title"><span class="project-name">Specter</span> <span class="project-version">1.1.3</span></span></a></h1></div><div class="sidebar primary"><h3 class="no-link"><span class="inner">Project</span></h3><ul class="index-link"><li class="depth-1 "><a href="index.html"><div class="inner">Index</div></a></li></ul><h3 class="no-link"><span class="inner">Namespaces</span></h3><ul><li class="depth-1"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>com</span></div></div></li><li class="depth-2"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>rpl</span></div></div></li><li class="depth-3 current"><a href="com.rpl.specter.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>specter</span></div></a></li><li class="depth-4 branch"><a href="com.rpl.specter.protocols.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>protocols</span></div></a></li><li class="depth-4 branch"><a href="com.rpl.specter.transients.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>transients</span></div></a></li><li class="depth-4"><a href="com.rpl.specter.zipper.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>zipper</span></div></a></li></ul></div><div class="sidebar secondary"><h3><a href="#top"><span class="inner">Public Vars</span></a></h3><ul><li class="depth-1"><a href="com.rpl.specter.html#var-AFTER-ELEM"><div class="inner"><span>AFTER-ELEM</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-ALL"><div class="inner"><span>ALL</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-ALL-WITH-META"><div class="inner"><span>ALL-WITH-META</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-ATOM"><div class="inner"><span>ATOM</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-BEFORE-ELEM"><div class="inner"><span>BEFORE-ELEM</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-before-index"><div class="inner"><span>before-index</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-BEGINNING"><div class="inner"><span>BEGINNING</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-codewalker"><div class="inner"><span>codewalker</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-collect"><div class="inner"><span>collect</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-collect-one"><div class="inner"><span>collect-one</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-collected.3F"><div class="inner"><span>collected?</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-collector"><div class="inner"><span>collector</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-comp-paths"><div class="inner"><span>comp-paths</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-compact"><div class="inner"><span>compact</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-compiled-multi-transform"><div class="inner"><span>compiled-multi-transform</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-compiled-replace-in"><div class="inner"><span>compiled-replace-in</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-compiled-select"><div class="inner"><span>compiled-select</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-compiled-select-any"><div class="inner"><span>compiled-select-any</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-compiled-select-first"><div class="inner"><span>compiled-select-first</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-compiled-select-one"><div class="inner"><span>compiled-select-one</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-compiled-select-one.21"><div class="inner"><span>compiled-select-one!</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-compiled-selected-any.3F"><div class="inner"><span>compiled-selected-any?</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-compiled-setval"><div class="inner"><span>compiled-setval</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-compiled-transform"><div class="inner"><span>compiled-transform</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-compiled-traverse"><div class="inner"><span>compiled-traverse</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-compiled-traverse-all"><div class="inner"><span>compiled-traverse-all</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-compiled-vtransform"><div class="inner"><span>compiled-vtransform</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-cond-path"><div class="inner"><span>cond-path</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-continue-then-stay"><div class="inner"><span>continue-then-stay</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-continuous-subseqs"><div class="inner"><span>continuous-subseqs</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-declarepath"><div class="inner"><span>declarepath</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-defcollector"><div class="inner"><span>defcollector</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-defdynamicnav"><div class="inner"><span>defdynamicnav</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-defmacroalias"><div class="inner"><span>defmacroalias</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-defnav"><div class="inner"><span>defnav</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-defprotocolpath"><div class="inner"><span>defprotocolpath</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-defrichnav"><div class="inner"><span>defrichnav</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-DISPENSE"><div class="inner"><span>DISPENSE</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-dynamic-param.3F"><div class="inner"><span>dynamic-param?</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-dynamicnav"><div class="inner"><span>dynamicnav</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-eachnav"><div class="inner"><span>eachnav</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-END"><div class="inner"><span>END</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-end-fn"><div class="inner"><span>end-fn</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-extend-protocolpath"><div class="inner"><span>extend-protocolpath</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-extend-protocolpath*"><div class="inner"><span>extend-protocolpath*</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-filterer"><div class="inner"><span>filterer</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-FIRST"><div class="inner"><span>FIRST</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-if-path"><div class="inner"><span>if-path</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-index-nav"><div class="inner"><span>index-nav</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-INDEXED-VALS"><div class="inner"><span>INDEXED-VALS</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-indexed-vals"><div class="inner"><span>indexed-vals</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-keypath"><div class="inner"><span>keypath</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-LAST"><div class="inner"><span>LAST</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-late-bound-collector"><div class="inner"><span>late-bound-collector</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-late-bound-nav"><div class="inner"><span>late-bound-nav</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-late-bound-richnav"><div class="inner"><span>late-bound-richnav</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-late-path"><div class="inner"><span>late-path</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-late-resolved-fn"><div class="inner"><span>late-resolved-fn</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-local-declarepath"><div class="inner"><span>local-declarepath</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-map-key"><div class="inner"><span>map-key</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-MAP-KEYS"><div class="inner"><span>MAP-KEYS</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-MAP-VALS"><div class="inner"><span>MAP-VALS</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-META"><div class="inner"><span>META</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-multi-path"><div class="inner"><span>multi-path</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-multi-transform"><div class="inner"><span>multi-transform</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-multi-transform*"><div class="inner"><span>multi-transform*</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-must"><div class="inner"><span>must</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-NAME"><div class="inner"><span>NAME</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-NAMESPACE"><div class="inner"><span>NAMESPACE</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-nav"><div class="inner"><span>nav</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-NIL-.3ELIST"><div class="inner"><span>NIL-&gt;LIST</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-NIL-.3ESET"><div class="inner"><span>NIL-&gt;SET</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-nil-.3Eval"><div class="inner"><span>nil-&gt;val</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-NIL-.3EVECTOR"><div class="inner"><span>NIL-&gt;VECTOR</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-NONE"><div class="inner"><span>NONE</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-NONE-ELEM"><div class="inner"><span>NONE-ELEM</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-not-selected.3F"><div class="inner"><span>not-selected?</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-nthpath"><div class="inner"><span>nthpath</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-parser"><div class="inner"><span>parser</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-path"><div class="inner"><span>path</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-pred"><div class="inner"><span>pred</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-pred.3C"><div class="inner"><span>pred&lt;</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-pred.3C.3D"><div class="inner"><span>pred&lt;=</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-pred.3D"><div class="inner"><span>pred=</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-pred.3E"><div class="inner"><span>pred&gt;</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-pred.3E.3D"><div class="inner"><span>pred&gt;=</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-providepath"><div class="inner"><span>providepath</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-putval"><div class="inner"><span>putval</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-recursive-path"><div class="inner"><span>recursive-path</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-regex-nav"><div class="inner"><span>regex-nav</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-replace-in"><div class="inner"><span>replace-in</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-replace-in*"><div class="inner"><span>replace-in*</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-richnav"><div class="inner"><span>richnav</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-satisfies-protpath.3F"><div class="inner"><span>satisfies-protpath?</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-select"><div class="inner"><span>select</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-select*"><div class="inner"><span>select*</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-select-any"><div class="inner"><span>select-any</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-select-any*"><div class="inner"><span>select-any*</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-select-first"><div class="inner"><span>select-first</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-select-first*"><div class="inner"><span>select-first*</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-select-one"><div class="inner"><span>select-one</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-select-one.21"><div class="inner"><span>select-one!</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-select-one.21*"><div class="inner"><span>select-one!*</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-select-one*"><div class="inner"><span>select-one*</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-selected-any.3F"><div class="inner"><span>selected-any?</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-selected-any.3F*"><div class="inner"><span>selected-any?*</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-selected.3F"><div class="inner"><span>selected?</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-set-elem"><div class="inner"><span>set-elem</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-setval"><div class="inner"><span>setval</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-setval*"><div class="inner"><span>setval*</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-srange"><div class="inner"><span>srange</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-srange-dynamic"><div class="inner"><span>srange-dynamic</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-STAY"><div class="inner"><span>STAY</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-stay-then-continue"><div class="inner"><span>stay-then-continue</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-STOP"><div class="inner"><span>STOP</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-submap"><div class="inner"><span>submap</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-subselect"><div class="inner"><span>subselect</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-subset"><div class="inner"><span>subset</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-terminal"><div class="inner"><span>terminal</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-terminal-val"><div class="inner"><span>terminal-val</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-transform"><div class="inner"><span>transform</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-transform*"><div class="inner"><span>transform*</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-transformed"><div class="inner"><span>transformed</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-traverse"><div class="inner"><span>traverse</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-traverse*"><div class="inner"><span>traverse*</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-traverse-all"><div class="inner"><span>traverse-all</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-traverse-all*"><div class="inner"><span>traverse-all*</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-traversed"><div class="inner"><span>traversed</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-VAL"><div class="inner"><span>VAL</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-view"><div class="inner"><span>view</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-vterminal"><div class="inner"><span>vterminal</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-vtransform"><div class="inner"><span>vtransform</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-walker"><div class="inner"><span>walker</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-with-fresh-collected"><div class="inner"><span>with-fresh-collected</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-with-inline-debug"><div class="inner"><span>with-inline-debug</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-wrap-dynamic-nav"><div class="inner"><span>wrap-dynamic-nav</span></div></a></li></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">com.rpl.specter</h1><div class="doc"><pre class="plaintext"></pre></div><div class="public anchor" id="var-AFTER-ELEM"><h3>AFTER-ELEM</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigate to 'void' element after the sequence.
For transformations if result is not `NONE`,
then append that value.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L834">view source</a></div></div><div class="public anchor" id="var-ALL"><h3>ALL</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigate to every element of the collection. For maps navigates to
a vector of `[key value]`.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L679">view source</a></div></div><div class="public anchor" id="var-ALL-WITH-META"><h3>ALL-WITH-META</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Same as ALL, except maintains metadata on the structure.
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L689">view source</a></div></div><div class="public anchor" id="var-ATOM"><h3>ATOM</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigates to atom value.
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1085">view source</a></div></div><div class="public anchor" id="var-BEFORE-ELEM"><h3>BEFORE-ELEM</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigate to 'void' element before the sequence.
For transformations if result is not `NONE`,
then prepend that value.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L819">view source</a></div></div><div class="public anchor" id="var-before-index"><h3>before-index</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigates to the empty space between the index and the prior index. For select
navigates to NONE, and transforms to non-NONE insert at that position.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L968">view source</a></div></div><div class="public anchor" id="var-BEGINNING"><h3>BEGINNING</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigate to the empty subsequence before the first element of the collection.
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L777">view source</a></div></div><div class="public anchor" id="var-codewalker"><h3>codewalker</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Like `walker` but maintains metadata of any forms traversed.
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1455">view source</a></div></div><div class="public anchor" id="var-collect"><h3>collect</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Adds the result of running select with the given path on the
current value to the collected vals.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1292">view source</a></div></div><div class="public anchor" id="var-collect-one"><h3>collect-one</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Adds the result of running select-one with the given path on the
current value to the collected vals.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1302">view source</a></div></div><div class="public anchor" id="var-collected.3F"><h3>collected?</h3><h4 class="type">macro</h4><div class="usage"><code>(collected? params &amp; body)</code></div><div class="doc"><pre class="plaintext">Creates a filter function navigator that takes in all the collected values
as input. For arguments, can use `(collected? [a b] ...)` syntax to look
at each collected value as individual arguments, or `(collected? v ...)` syntax
to capture all the collected values as a single vector.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L399">view source</a></div></div><div class="public anchor" id="var-collector"><h3>collector</h3><h4 class="type">macro</h4><div class="usage"><code>(collector params [_ [_ structure-sym] &amp; body])</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L67">view source</a></div></div><div class="public anchor" id="var-comp-paths"><h3>comp-paths</h3><div class="usage"><code>(comp-paths &amp; apath)</code></div><div class="doc"><pre class="plaintext">Returns a compiled version of the given path for use with
compiled-{select/transform/setval/etc.} functions.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L478">view source</a></div></div><div class="public anchor" id="var-compact"><h3>compact</h3><div class="usage"></div><div class="doc"><pre class="plaintext">During transforms, after each step of navigation in subpath check if the
value is empty. If so, remove that value by setting it to NONE.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1465">view source</a></div></div><div class="public anchor" id="var-compiled-multi-transform"><h3>compiled-multi-transform</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Version of `multi-transform` that takes in a path precompiled with `comp-paths`
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L575">view source</a></div></div><div class="public anchor" id="var-compiled-replace-in"><h3>compiled-replace-in</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Version of replace-in that takes in a path precompiled with comp-paths
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L596">view source</a></div></div><div class="public anchor" id="var-compiled-select"><h3>compiled-select</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Version of select that takes in a path precompiled with comp-paths
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L486">view source</a></div></div><div class="public anchor" id="var-compiled-select-any"><h3>compiled-select-any</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Version of select-any that takes in a path precompiled with comp-paths
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L520">view source</a></div></div><div class="public anchor" id="var-compiled-select-first"><h3>compiled-select-first</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Version of select-first that takes in a path precompiled with comp-paths
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L511">view source</a></div></div><div class="public anchor" id="var-compiled-select-one"><h3>compiled-select-one</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Version of select-one that takes in a path precompiled with comp-paths
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L495">view source</a></div></div><div class="public anchor" id="var-compiled-select-one.21"><h3>compiled-select-one!</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Version of select-one! that takes in a path precompiled with comp-paths
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L503">view source</a></div></div><div class="public anchor" id="var-compiled-selected-any.3F"><h3>compiled-selected-any?</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Version of selected-any? that takes in a path precompiled with comp-paths
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L533">view source</a></div></div><div class="public anchor" id="var-compiled-setval"><h3>compiled-setval</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Version of setval that takes in a path precompiled with comp-paths
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L588">view source</a></div></div><div class="public anchor" id="var-compiled-transform"><h3>compiled-transform</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Version of transform that takes in a path precompiled with comp-paths
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L562">view source</a></div></div><div class="public anchor" id="var-compiled-traverse"><h3>compiled-traverse</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Version of traverse that takes in a path precompiled with comp-paths
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L543">view source</a></div></div><div class="public anchor" id="var-compiled-traverse-all"><h3>compiled-traverse-all</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Version of traverse-all that takes in a path precompiled with comp-paths
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L552">view source</a></div></div><div class="public anchor" id="var-compiled-vtransform"><h3>compiled-vtransform</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Version of vtransform that takes in a path precompiled with comp-paths
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L565">view source</a></div></div><div class="public anchor" id="var-cond-path"><h3>cond-path</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Takes in alternating cond-path path cond-path path...
Tests the structure if selecting with cond-path returns anything.
If so, it uses the following path for this portion of the navigation.
Otherwise, it tries the next cond-path. If nothing matches, then the structure
is not selected.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1394">view source</a></div></div><div class="public anchor" id="var-continue-then-stay"><h3>continue-then-stay</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigates to the provided path and then to the current element. This can be used
to implement post-order traversal.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1439">view source</a></div></div><div class="public anchor" id="var-continuous-subseqs"><h3>continuous-subseqs</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigates to every continuous subsequence of elements matching `pred`
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L766">view source</a></div></div><div class="public anchor" id="var-declarepath"><h3>declarepath</h3><h4 class="type">macro</h4><div class="usage"><code>(declarepath name)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L101">view source</a></div></div><div class="public anchor" id="var-defcollector"><h3>defcollector</h3><h4 class="type">macro</h4><div class="usage"><code>(defcollector name &amp; body)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L74">view source</a></div></div><div class="public anchor" id="var-defdynamicnav"><h3>defdynamicnav</h3><h4 class="type">macro</h4><div class="usage"><code>(defdynamicnav name &amp; args)</code></div><div class="doc"><pre class="plaintext">Defines a function that can choose what navigator to use at runtime based on
the dynamic context. The arguments will either be static values or
objects satisfying `dynamic-param?`. Use `late-bound-nav` to produce a runtime
navigator that uses the values of the dynamic params. See `selected?` for
an illustrative example of dynamic navs.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L147">view source</a></div></div><div class="public anchor" id="var-defmacroalias"><h3>defmacroalias</h3><h4 class="type">macro</h4><div class="usage"><code>(defmacroalias name target)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L57">view source</a></div></div><div class="public anchor" id="var-defnav"><h3>defnav</h3><h4 class="type">macro</h4><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L64">view source</a></div></div><div class="public anchor" id="var-defprotocolpath"><h3>defprotocolpath</h3><h4 class="type">macro</h4><div class="usage"><code>(defprotocolpath name)</code><code>(defprotocolpath name params)</code></div><div class="doc"><pre class="plaintext">Defines a navigator that chooses the path to take based on the type
of the value at the current point. May be specified with parameters to
specify that all extensions must require that number of parameters.
Currently not available for ClojureScript.
Example of usage:
(defrecord SingleAccount [funds])
(defrecord FamilyAccount [single-accounts])
(defprotocolpath FundsPath)
(extend-protocolpath FundsPath
SingleAccount :funds
FamilyAccount [ALL FundsPath]
)
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L415">view source</a></div></div><div class="public anchor" id="var-defrichnav"><h3>defrichnav</h3><h4 class="type">macro</h4><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L65">view source</a></div></div><div class="public anchor" id="var-DISPENSE"><h3>DISPENSE</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Drops all collected values for subsequent navigation.
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1340">view source</a></div></div><div class="public anchor" id="var-dynamic-param.3F"><h3>dynamic-param?</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L611">view source</a></div></div><div class="public anchor" id="var-dynamicnav"><h3>dynamicnav</h3><h4 class="type">macro</h4><div class="usage"><code>(dynamicnav &amp; args)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L144">view source</a></div></div><div class="public anchor" id="var-eachnav"><h3>eachnav</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Turns a navigator that takes one argument into a navigator that takes
many arguments and uses the same navigator with each argument. There
is no performance cost to using this. See implementation of `keypath`</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L615">view source</a></div></div><div class="public anchor" id="var-END"><h3>END</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigate to the empty subsequence after the last element of the collection.
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L790">view source</a></div></div><div class="public anchor" id="var-end-fn"><h3>end-fn</h3><h4 class="type">macro</h4><div class="usage"><code>(end-fn &amp; args)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L471">view source</a></div></div><div class="public anchor" id="var-extend-protocolpath"><h3>extend-protocolpath</h3><h4 class="type">macro</h4><div class="usage"><code>(extend-protocolpath protpath &amp; extensions)</code></div><div class="doc"><pre class="plaintext">Used in conjunction with `defprotocolpath`. See [[defprotocolpath]].
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L462">view source</a></div></div><div class="public anchor" id="var-extend-protocolpath*"><h3>extend-protocolpath*</h3><div class="usage"><code>(extend-protocolpath* protpath-prot extensions)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L454">view source</a></div></div><div class="public anchor" id="var-filterer"><h3>filterer</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigates to a view of the current sequence that only contains elements that
match the given path. An element matches the selector path if calling select
on that element with the path yields anything other than an empty sequence.
For transformation: `NONE` entries in the result sequence cause corresponding entries in
input to be removed. A result sequence smaller than the input sequence is equivalent to
padding the result sequence with `NONE` at the end until the same size as the input.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1141">view source</a></div></div><div class="public anchor" id="var-FIRST"><h3>FIRST</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigate to the first element of the collection. If the collection is
empty navigation is stopped at this point.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L735">view source</a></div></div><div class="public anchor" id="var-if-path"><h3>if-path</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Like cond-path, but with if semantics.
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1349">view source</a></div></div><div class="public anchor" id="var-index-nav"><h3>index-nav</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigates to the index of the sequence if within 0 and size. Transforms move element
at that index to the new index, shifting other elements in the sequence.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L983">view source</a></div></div><div class="public anchor" id="var-INDEXED-VALS"><h3>INDEXED-VALS</h3><div class="usage"></div><div class="doc"><pre class="plaintext">`indexed-vals` with a starting index of 0.
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1058">view source</a></div></div><div class="public anchor" id="var-indexed-vals"><h3>indexed-vals</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigate to [index elem] pairs for each element in a sequence. The sequence will be indexed
starting from `start`. Changing index in transform has same effect as `index-nav`. Indices seen
during transform take into account any shifting from prior sequence elements changing indices.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1022">view source</a></div></div><div class="public anchor" id="var-keypath"><h3>keypath</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigate to the specified keys one after another. If navigate to NONE,
that element is removed from the map or vector.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L952">view source</a></div></div><div class="public anchor" id="var-LAST"><h3>LAST</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigate to the last element of the collection. If the collection is
empty navigation is stopped at this point.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L729">view source</a></div></div><div class="public anchor" id="var-late-bound-collector"><h3>late-bound-collector</h3><h4 class="type">macro</h4><div class="usage"><code>(late-bound-collector bindings impl)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L91">view source</a></div></div><div class="public anchor" id="var-late-bound-nav"><h3>late-bound-nav</h3><h4 class="type">macro</h4><div class="usage"><code>(late-bound-nav bindings &amp; impls)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L88">view source</a></div></div><div class="public anchor" id="var-late-bound-richnav"><h3>late-bound-richnav</h3><h4 class="type">macro</h4><div class="usage"><code>(late-bound-richnav bindings &amp; impls)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L94">view source</a></div></div><div class="public anchor" id="var-late-path"><h3>late-path</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L610">view source</a></div></div><div class="public anchor" id="var-late-resolved-fn"><h3>late-resolved-fn</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L612">view source</a></div></div><div class="public anchor" id="var-local-declarepath"><h3>local-declarepath</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L628">view source</a></div></div><div class="public anchor" id="var-map-key"><h3>map-key</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigates to the given key in the map (not to the value). Navigates only if the
key currently exists in the map. Can transform to NONE to remove the key/value
pair from the map.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L909">view source</a></div></div><div class="public anchor" id="var-MAP-KEYS"><h3>MAP-KEYS</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigate to each key of the map. This is more efficient than
navigating via [ALL FIRST]</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L713">view source</a></div></div><div class="public anchor" id="var-MAP-VALS"><h3>MAP-VALS</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigate to each value of the map. This is more efficient than
navigating via [ALL LAST]</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L702">view source</a></div></div><div class="public anchor" id="var-META"><h3>META</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigates to the metadata of the structure, or nil if
the structure has no metadata or may not contain metadata.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1257">view source</a></div></div><div class="public anchor" id="var-multi-path"><h3>multi-path</h3><div class="usage"></div><div class="doc"><pre class="plaintext">A path that branches on multiple paths. For updates,
applies updates to the paths in order.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1409">view source</a></div></div><div class="public anchor" id="var-multi-transform"><h3>multi-transform</h3><h4 class="type">macro</h4><div class="usage"><code>(multi-transform apath structure)</code></div><div class="doc"><pre class="plaintext">Just like `transform` but expects transform functions to be specified
inline in the path using `terminal` or `vterminal`. Error is thrown if navigation finishes
at a non-terminal navigator. `terminal-val` is a wrapper around `terminal` and is
the `multi-transform` equivalent of `setval`.
This macro will do inline caching of the path.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L361">view source</a></div></div><div class="public anchor" id="var-multi-transform*"><h3>multi-transform*</h3><div class="usage"><code>(multi-transform* path structure)</code></div><div class="doc"><pre class="plaintext">Just like `transform` but expects transform functions to be specified
inline in the path using `terminal` or `vterminal`. Error is thrown if navigation finishes
at a non-terminal navigator. `terminal-val` is a wrapper around `terminal` and is
the `multi-transform` equivalent of `setval`.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L579">view source</a></div></div><div class="public anchor" id="var-must"><h3>must</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigate to the specified keys one after another, only if they exist
in the data structure. If navigate to NONE, that element is removed
from the map or vector.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L957">view source</a></div></div><div class="public anchor" id="var-NAME"><h3>NAME</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigates to the name portion of the keyword or symbol
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1266">view source</a></div></div><div class="public anchor" id="var-NAMESPACE"><h3>NAMESPACE</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigates to the namespace portion of the keyword or symbol
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1279">view source</a></div></div><div class="public anchor" id="var-nav"><h3>nav</h3><h4 class="type">macro</h4><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L63">view source</a></div></div><div class="public anchor" id="var-NIL-.3ELIST"><h3>NIL-&gt;LIST</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigates to '() if the value is nil. Otherwise it stays
navigated at the current value.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1245">view source</a></div></div><div class="public anchor" id="var-NIL-.3ESET"><h3>NIL-&gt;SET</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigates to #{} if the value is nil. Otherwise it stays
navigated at the current value.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1239">view source</a></div></div><div class="public anchor" id="var-nil-.3Eval"><h3>nil-&gt;val</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigates to the provided val if the structure is nil. Otherwise it stays
navigated at the structure.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1229">view source</a></div></div><div class="public anchor" id="var-NIL-.3EVECTOR"><h3>NIL-&gt;VECTOR</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigates to [] if the value is nil. Otherwise it stays
navigated at the current value.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1251">view source</a></div></div><div class="public anchor" id="var-NONE"><h3>NONE</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Global value used to indicate no elements selected during
[[select-any]].</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L523">view source</a></div></div><div class="public anchor" id="var-NONE-ELEM"><h3>NONE-ELEM</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigate to 'void' elem in the set.
For transformations - if result is not `NONE`,
then add that value to the set.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L802">view source</a></div></div><div class="public anchor" id="var-not-selected.3F"><h3>not-selected?</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1124">view source</a></div></div><div class="public anchor" id="var-nthpath"><h3>nthpath</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigate to the specified indices one after another. If navigate to
NONE, that element is removed from the sequence.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L963">view source</a></div></div><div class="public anchor" id="var-parser"><h3>parser</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigate to the result of running `parse-fn` on the value. For
transforms, the transformed value then has `unparse-fn` run on
it to get the final value at this point.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1073">view source</a></div></div><div class="public anchor" id="var-path"><h3>path</h3><h4 class="type">macro</h4><div class="usage"><code>(path &amp; path)</code></div><div class="doc"><pre class="plaintext">Same as calling comp-paths, except it caches the composition of the static parts
of the path for later re-use (when possible). For almost all idiomatic uses
of Specter provides huge speedup. This macro is automatically used by the
select/transform/setval/replace-in/etc. macros.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L232">view source</a></div></div><div class="public anchor" id="var-pred"><h3>pred</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Keeps the element only if it matches the supplied predicate. Functions in paths
implicitly convert to this navigator.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1175">view source</a></div></div><div class="public anchor" id="var-pred.3C"><h3>pred&lt;</h3><div class="usage"><code>(pred&lt; v)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1184">view source</a></div></div><div class="public anchor" id="var-pred.3C.3D"><h3>pred&lt;=</h3><div class="usage"><code>(pred&lt;= v)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1186">view source</a></div></div><div class="public anchor" id="var-pred.3D"><h3>pred=</h3><div class="usage"><code>(pred= v)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1183">view source</a></div></div><div class="public anchor" id="var-pred.3E"><h3>pred&gt;</h3><div class="usage"><code>(pred&gt; v)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1185">view source</a></div></div><div class="public anchor" id="var-pred.3E.3D"><h3>pred&gt;=</h3><div class="usage"><code>(pred&gt;= v)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1187">view source</a></div></div><div class="public anchor" id="var-providepath"><h3>providepath</h3><h4 class="type">macro</h4><div class="usage"><code>(providepath name apath)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L104">view source</a></div></div><div class="public anchor" id="var-putval"><h3>putval</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Adds an external value to the collected vals. Useful when additional arguments
are required to the transform function that would otherwise require partial
application or a wrapper function.
e.g., incrementing val at path [:a :b] by 3:
(transform [:a :b (putval 3)] + some-map)</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1312">view source</a></div></div><div class="public anchor" id="var-recursive-path"><h3>recursive-path</h3><h4 class="type">macro</h4><div class="usage"><code>(recursive-path params self-sym path)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L107">view source</a></div></div><div class="public anchor" id="var-regex-nav"><h3>regex-nav</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1096">view source</a></div></div><div class="public anchor" id="var-replace-in"><h3>replace-in</h3><h4 class="type">macro</h4><div class="usage"><code>(replace-in apath transform-fn structure &amp; args)</code></div><div class="doc"><pre class="plaintext">Similar to transform, except returns a pair of [transformed-structure sequence-of-user-ret].
The transform-fn in this case is expected to return [ret user-ret]. ret is
what's used to transform the data structure, while user-ret will be added to the user-ret sequence
in the final return. replace-in is useful for situations where you need to know the specific values
of what was transformed in the data structure.
This macro will do inline caching of the path.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L389">view source</a></div></div><div class="public anchor" id="var-replace-in*"><h3>replace-in*</h3><div class="usage"><code>(replace-in* path transform-fn structure &amp; {:keys [merge-fn], :or {merge-fn concat}})</code></div><div class="doc"><pre class="plaintext">Similar to transform, except returns a pair of [transformed-structure sequence-of-user-ret].
The transform-fn in this case is expected to return [ret user-ret]. ret is
what's used to transform the data structure, while user-ret will be added to the user-ret sequence
in the final return. replace-in is useful for situations where you need to know the specific values
of what was transformed in the data structure.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L599">view source</a></div></div><div class="public anchor" id="var-richnav"><h3>richnav</h3><h4 class="type">macro</h4><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L62">view source</a></div></div><div class="public anchor" id="var-satisfies-protpath.3F"><h3>satisfies-protpath?</h3><h4 class="type">macro</h4><div class="usage"><code>(satisfies-protpath? protpath o)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L451">view source</a></div></div><div class="public anchor" id="var-select"><h3>select</h3><h4 class="type">macro</h4><div class="usage"><code>(select apath structure)</code></div><div class="doc"><pre class="plaintext">Navigates to and returns a sequence of all the elements specified by the path.
This macro will do inline caching of the path.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L311">view source</a></div></div><div class="public anchor" id="var-select*"><h3>select*</h3><div class="usage"><code>(select* path structure)</code></div><div class="doc"><pre class="plaintext">Navigates to and returns a sequence of all the elements specified by the path.
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L489">view source</a></div></div><div class="public anchor" id="var-select-any"><h3>select-any</h3><h4 class="type">macro</h4><div class="usage"><code>(select-any apath structure)</code></div><div class="doc"><pre class="plaintext">Returns any element found or [[NONE]] if nothing selected. This is the most
efficient of the various selection operations.
This macro will do inline caching of the path.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L335">view source</a></div></div><div class="public anchor" id="var-select-any*"><h3>select-any*</h3><div class="usage"><code>(select-any* path structure)</code></div><div class="doc"><pre class="plaintext">Returns any element found or [[NONE]] if nothing selected. This is the most
efficient of the various selection operations.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L527">view source</a></div></div><div class="public anchor" id="var-select-first"><h3>select-first</h3><h4 class="type">macro</h4><div class="usage"><code>(select-first apath structure)</code></div><div class="doc"><pre class="plaintext">Returns first element found.
This macro will do inline caching of the path.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L329">view source</a></div></div><div class="public anchor" id="var-select-first*"><h3>select-first*</h3><div class="usage"><code>(select-first* path structure)</code></div><div class="doc"><pre class="plaintext">Returns first element found.
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L515">view source</a></div></div><div class="public anchor" id="var-select-one"><h3>select-one</h3><h4 class="type">macro</h4><div class="usage"><code>(select-one apath structure)</code></div><div class="doc"><pre class="plaintext">Like select, but returns either one element or nil. Throws exception if multiple elements found.
This macro will do inline caching of the path.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L323">view source</a></div></div><div class="public anchor" id="var-select-one.21"><h3>select-one!</h3><h4 class="type">macro</h4><div class="usage"><code>(select-one! apath structure)</code></div><div class="doc"><pre class="plaintext">Returns exactly one element, throws exception if zero or multiple elements found.
This macro will do inline caching of the path.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L317">view source</a></div></div><div class="public anchor" id="var-select-one.21*"><h3>select-one!*</h3><div class="usage"><code>(select-one!* path structure)</code></div><div class="doc"><pre class="plaintext">Returns exactly one element, throws exception if zero or multiple elements found
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L506">view source</a></div></div><div class="public anchor" id="var-select-one*"><h3>select-one*</h3><div class="usage"><code>(select-one* path structure)</code></div><div class="doc"><pre class="plaintext">Like select, but returns either one element or nil. Throws exception if multiple elements found
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L498">view source</a></div></div><div class="public anchor" id="var-selected-any.3F"><h3>selected-any?</h3><h4 class="type">macro</h4><div class="usage"><code>(selected-any? apath structure)</code></div><div class="doc"><pre class="plaintext">Returns true if any element was selected, false otherwise.
This macro will do inline caching of the path.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L342">view source</a></div></div><div class="public anchor" id="var-selected-any.3F*"><h3>selected-any?*</h3><div class="usage"><code>(selected-any?* path structure)</code></div><div class="doc"><pre class="plaintext">Returns true if any element was selected, false otherwise.
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L536">view source</a></div></div><div class="public anchor" id="var-selected.3F"><h3>selected?</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Filters the current value based on whether a path finds anything.
e.g. (selected? :vals ALL even?) keeps the current element only if an
even number exists for the :vals key.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1103">view source</a></div></div><div class="public anchor" id="var-set-elem"><h3>set-elem</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigates to the given element in the set only if it exists in the set.
Can transform to NONE to remove the element from the set.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L931">view source</a></div></div><div class="public anchor" id="var-setval"><h3>setval</h3><h4 class="type">macro</h4><div class="usage"><code>(setval apath aval structure)</code></div><div class="doc"><pre class="plaintext">Navigates to each value specified by the path and replaces it by `aval`.
This macro will do inline caching of the path.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L371">view source</a></div></div><div class="public anchor" id="var-setval*"><h3>setval*</h3><div class="usage"><code>(setval* path val structure)</code></div><div class="doc"><pre class="plaintext">Navigates to each value specified by the path and replaces it by val
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L591">view source</a></div></div><div class="public anchor" id="var-srange"><h3>srange</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigates to the subsequence bound by the indexes start (inclusive)
and end (exclusive)</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L755">view source</a></div></div><div class="public anchor" id="var-srange-dynamic"><h3>srange-dynamic</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Uses start-index-fn and end-index-fn to determine the bounds of the subsequence
to select when navigating. `start-index-fn` takes in the structure as input. `end-index-fn`
can be one of two forms. If a regular function (e.g. defined with `fn`), it takes in only the structure as input. If a function defined using special `end-fn` macro, it takes in the structure and the result of `start-index-fn`.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L741">view source</a></div></div><div class="public anchor" id="var-STAY"><h3>STAY</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Stays navigated at the current point. Essentially a no-op navigator.
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L644">view source</a></div></div><div class="public anchor" id="var-stay-then-continue"><h3>stay-then-continue</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigates to the current element and then navigates via the provided path.
This can be used to implement pre-order traversal.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1433">view source</a></div></div><div class="public anchor" id="var-STOP"><h3>STOP</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Stops navigation at this point. For selection returns nothing and for
transformation returns the structure unchanged</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L632">view source</a></div></div><div class="public anchor" id="var-submap"><h3>submap</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigates to the specified submap (using select-keys).
In a transform, that submap in the original map is changed to the new
value of the submap.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L865">view source</a></div></div><div class="public anchor" id="var-subselect"><h3>subselect</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigates to a sequence that contains the results of (select ...),
but is a view to the original structure that can be transformed.
Requires that the input navigators will walk the structure's
children in the same order when executed on "select" and then
"transform".
If transformed sequence is smaller than input sequence, missing entries
will be filled in with NONE, triggering removal if supported by that navigator.
Value collection (e.g. collect, collect-one) may not be used in the subpath.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L880">view source</a></div></div><div class="public anchor" id="var-subset"><h3>subset</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigates to the specified subset (by taking an intersection).
In a transform, that subset in the original set is changed to the
new value of the subset.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L849">view source</a></div></div><div class="public anchor" id="var-terminal"><h3>terminal</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Defines an endpoint in the navigation the transform function run. The transform
function works just like it does in `transform`, with collected values
given as the first arguments</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L649">view source</a></div></div><div class="public anchor" id="var-terminal-val"><h3>terminal-val</h3><div class="usage"><code>(terminal-val v)</code></div><div class="doc"><pre class="plaintext">Like `terminal` but specifies a val to set at the location regardless of
the collected values or the value at the location.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L673">view source</a></div></div><div class="public anchor" id="var-transform"><h3>transform</h3><h4 class="type">macro</h4><div class="usage"><code>(transform apath transform-fn structure)</code></div><div class="doc"><pre class="plaintext">Navigates to each value specified by the path and replaces it by the result of running
the transform-fn on it.
This macro will do inline caching of the path.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L348">view source</a></div></div><div class="public anchor" id="var-transform*"><h3>transform*</h3><div class="usage"><code>(transform* path transform-fn structure)</code></div><div class="doc"><pre class="plaintext">Navigates to each value specified by the path and replaces it by the result of running
the transform-fn on it</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L569">view source</a></div></div><div class="public anchor" id="var-transformed"><h3>transformed</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigates to a view of the current value by transforming it with the
specified path and update-fn.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1152">view source</a></div></div><div class="public anchor" id="var-traverse"><h3>traverse</h3><h4 class="type">macro</h4><div class="usage"><code>(traverse apath structure)</code></div><div class="doc"><pre class="plaintext">Return a reducible object that traverses over `structure` to every element
specified by the path.
This macro will do inline caching of the path.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L377">view source</a></div></div><div class="public anchor" id="var-traverse*"><h3>traverse*</h3><div class="usage"><code>(traverse* apath structure)</code></div><div class="doc"><pre class="plaintext">Return a reducible object that traverses over `structure` to every element
specified by the path</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L546">view source</a></div></div><div class="public anchor" id="var-traverse-all"><h3>traverse-all</h3><h4 class="type">macro</h4><div class="usage"><code>(traverse-all apath)</code></div><div class="doc"><pre class="plaintext">Returns a transducer that traverses over each element with the given path.
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L384">view source</a></div></div><div class="public anchor" id="var-traverse-all*"><h3>traverse-all*</h3><div class="usage"><code>(traverse-all* apath)</code></div><div class="doc"><pre class="plaintext">Returns a transducer that traverses over each element with the given path.
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L555">view source</a></div></div><div class="public anchor" id="var-traversed"><h3>traversed</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigates to a view of the current value by transforming with a reduction over
the specified traversal.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1163">view source</a></div></div><div class="public anchor" id="var-VAL"><h3>VAL</h3><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L725">view source</a></div></div><div class="public anchor" id="var-view"><h3>view</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigates to result of running `afn` on the currently navigated value.
</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1063">view source</a></div></div><div class="public anchor" id="var-vterminal"><h3>vterminal</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Defines an endpoint in the navigation the transform function run.The transform
function works differently than it does in `transform`. Rather than receive
collected vals spliced in as the first arguments to the function, this function
always takes two arguemnts. The first is all collected vals in a vector, and
the second is the navigated value.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L660">view source</a></div></div><div class="public anchor" id="var-vtransform"><h3>vtransform</h3><h4 class="type">macro</h4><div class="usage"><code>(vtransform apath transform-fn structure)</code></div><div class="doc"><pre class="plaintext">Navigates to each value specified by the path and replaces it by the result of running
the transform-fn on two arguments: the collected values as a vector, and the navigated value.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L355">view source</a></div></div><div class="public anchor" id="var-walker"><h3>walker</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Navigate the data structure until reaching
a value for which `afn` returns truthy. Has
same semantics as clojure.walk.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1445">view source</a></div></div><div class="public anchor" id="var-with-fresh-collected"><h3>with-fresh-collected</h3><div class="usage"></div><div class="doc"><pre class="plaintext">Continues navigating on the given path with the collected vals reset to []. Once
navigation leaves the scope of with-fresh-collected, the collected vals revert
to what they were before.</pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L1325">view source</a></div></div><div class="public anchor" id="var-with-inline-debug"><h3>with-inline-debug</h3><h4 class="type">macro</h4><div class="usage"><code>(with-inline-debug &amp; body)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L97">view source</a></div></div><div class="public anchor" id="var-wrap-dynamic-nav"><h3>wrap-dynamic-nav</h3><div class="usage"><code>(wrap-dynamic-nav f)</code></div><div class="doc"><pre class="plaintext"></pre></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.1.3/src/clj/com/rpl/specter.cljc#L41">view source</a></div></div></div></body></html>