183 lines
No EOL
74 KiB
HTML
183 lines
No EOL
74 KiB
HTML
<!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->LIST</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-NIL-.3ESET"><div class="inner"><span>NIL->SET</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-nil-.3Eval"><div class="inner"><span>nil->val</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-NIL-.3EVECTOR"><div class="inner"><span>NIL->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<</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-pred.3C.3D"><div class="inner"><span>pred<=</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></span></div></a></li><li class="depth-1"><a href="com.rpl.specter.html#var-pred.3E.3D"><div class="inner"><span>pred>=</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 & 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] & 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 & 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 & 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 & 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 & 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 & 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 & 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 & 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 & 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->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->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->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->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 & 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<</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#L1184">view source</a></div></div><div class="public anchor" id="var-pred.3C.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#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></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#L1185">view source</a></div></div><div class="public anchor" id="var-pred.3E.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#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 & 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 & {: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 & 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> |