specter/com.rpl.specter.protocols.html

14 lines
6 KiB
HTML
Raw Normal View History

2016-06-08 11:00:50 +00:00
<!DOCTYPE html PUBLIC ""
"">
2017-10-19 15:28:57 +00:00
<html><head><meta charset="UTF-8" /><link href="css/default.css" rel="stylesheet" type="text/css" /><script src="js/jquery.min.js" type="text/javascript"></script><script src="js/page_effects.js" type="text/javascript"></script><title>com.rpl.specter.protocols documentation</title></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.0.4</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"><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 current"><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.protocols.html#var-Collector"><div class="inner"><span>Collector</span></div></a></li><li class="depth-2"><a href="com.rpl.specter.protocols.html#var-collect-val"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>collect-val</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.protocols.html#var-ImplicitNav"><div class="inner"><span>ImplicitNav</span></div></a></li><li class="depth-2"><a href="com.rpl.specter.protocols.html#var-implicit-nav"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>implicit-nav</span></div></a></li><li class="depth-1"><a href="com.rpl.specter.protocols.html#var-RichNavigator"><div class="inner"><span>RichNavigator</span></div></a></li><li class="depth-2 branch"><a href="com.rpl.specter.protocols.html#var-select*"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>select*</span></div></a></li><li class="depth-2"><a href="com.rpl.specter.protocols.html#var-transform*"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>transform*</span></div></a></li></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">com.rpl.specter.protocols</h1><div class="doc"><pre class="plaintext"></pre></div><div class="public anchor" id="var-Collector"><h3>Collector</h3><h4 class="type">protocol</h4><div class="usage"></div><div class="doc"><pre class="plaintext">Do not use this protocol directly. All navigators must be created using
macros in com.rpl.specter namespace.</pre></div><div class="members"><h4>members</h4><div class="inner"><div class="public anchor" id="var-collect-val"><h3>collect-val</h3><div class="usage"><code>(collect-val this structure)</code></div><div class="doc"><pre class="plaintext"></pre></div></div></div></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.0.4/src/clj/com/rpl/specter/protocols.cljc#L21">view source</a></div></div><div class="public anchor" id="var-ImplicitNav"><h3>ImplicitNav</h3><h4 class="type">protocol</h4><div class="usage"></div><div class="doc"><pre class="plaintext"></pre></div><div class="members"><h4>members</h4><div class="inner"><div class="public anchor" id="var-implicit-nav"><h3>implicit-nav</h3><div class="usage"><code>(implicit-nav obj)</code></div><div class="doc"><pre class="plaintext"></pre></div></div></div></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.0.4/src/clj/com/rpl/specter/protocols.cljc#L26">view source</a></div></div><div class="public anchor" id="var-RichNavigator"><h3>RichNavigator</h3><h4 class="type">protocol</h4><div class="usage"></div><div class="doc"><pre class="plaintext">Do not use this protocol directly. All navigators must be created using macros
2016-09-06 23:38:44 +00:00
in com.rpl.specter namespace.</pre></div><div class="members"><h4>members</h4><div class="inner"><div class="public anchor" id="var-select*"><h3>select*</h3><div class="usage"><code>(select* this vals structure next-fn)</code></div><div class="doc"><pre class="plaintext">An implementation of `select*` must call `next-fn` on each
2016-08-06 04:47:46 +00:00
subvalue of `structure`. The result of `select*` is specified
as follows:
1. `NONE` if `next-fn` never called
2. `NONE` if all calls to `next-fn` return `NONE`
3. Otherwise, any non-`NONE` return value from calling `next-fn`
2016-09-06 23:38:44 +00:00
</pre></div></div><div class="public anchor" id="var-transform*"><h3>transform*</h3><div class="usage"><code>(transform* this vals structure next-fn)</code></div><div class="doc"><pre class="plaintext">An implementation of `transform*` must use `next-fn` to transform
2016-08-06 04:47:46 +00:00
any subvalues of `structure` and then merge those transformed values
2017-10-19 15:28:57 +00:00
back into `structure`. Everything else in `structure` must be unchanged.</pre></div></div></div></div><div class="src-link"><a href="https://github.com/nathanmarz/specter/tree/1.0.4/src/clj/com/rpl/specter/protocols.cljc#L3">view source</a></div></div></div></body></html>