ancient-graph-spreading
Version:
Automatic maintenance spreading of graph according other graphs.
3,426 lines (912 loc) • 91.2 kB
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>GraphSpreading - Documentation</title>
<script src="scripts/prettify/prettify.js"></script>
<script src="scripts/prettify/lang-css.js"></script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<input type="checkbox" id="nav-trigger" class="nav-trigger" />
<label for="nav-trigger" class="navicon-button x">
<div class="navicon"></div>
</label>
<label for="nav-trigger" class="overlay"></label>
<nav>
<h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="GraphSpreading.html">GraphSpreading</a><ul class='methods'><li data-type='method'><a href="GraphSpreading.html#_getFromFields">_getFromFields</a></li><li data-type='method'><a href="GraphSpreading.html#_getToFields">_getToFields</a></li><li data-type='method'><a href="GraphSpreading.html#_spreadByPathLink">_spreadByPathLink</a></li><li data-type='method'><a href="GraphSpreading.html#_spreadFromSpreadLinkByPathGraph">_spreadFromSpreadLinkByPathGraph</a></li><li data-type='method'><a href="GraphSpreading.html#_spreadFromSpreadLinkByPathLink">_spreadFromSpreadLinkByPathLink</a></li><li data-type='method'><a href="GraphSpreading.html#_wrapPathQuery">_wrapPathQuery</a></li><li data-type='method'><a href="GraphSpreading.html#_wrapSpreadQuery">_wrapSpreadQuery</a></li><li data-type='method'><a href="GraphSpreading.html#addPathGraph">addPathGraph</a></li><li data-type='method'><a href="GraphSpreading.html#each">each</a></li><li data-type='method'><a href="GraphSpreading.html#spreadByPathLink">spreadByPathLink</a></li><li data-type='method'><a href="GraphSpreading.html#spreadFromSpreadLink">spreadFromSpreadLink</a></li><li data-type='method'><a href="GraphSpreading.html#spreadFromSpreadLinkByPathGraph">spreadFromSpreadLinkByPathGraph</a></li><li data-type='method'><a href="GraphSpreading.html#spreadFromSpreadLinkByPathLink">spreadFromSpreadLinkByPathLink</a></li><li data-type='method'><a href="GraphSpreading.html#spreadNewSpreadLink">spreadNewSpreadLink</a></li><li data-type='method'><a href="GraphSpreading.html#spreadTo">spreadTo</a></li><li data-type='method'><a href="GraphSpreading.html#unspread">unspread</a></li><li data-type='method'><a href="GraphSpreading.html#unspreadByPathId">unspreadByPathId</a></li><li data-type='method'><a href="GraphSpreading.html#unspreadFromRemovedSpreadLinkByPrevId">unspreadFromRemovedSpreadLinkByPrevId</a></li></ul></li><li><a href="PathGraph.html">PathGraph</a></li><li><a href="QueueSpreading.html">QueueSpreading</a><ul class='methods'><li data-type='method'><a href="QueueSpreading.html#_getGraph">_getGraph</a></li><li data-type='method'><a href="QueueSpreading.html#removeFromLaunched">removeFromLaunched</a></li><li data-type='method'><a href="QueueSpreading.html#spreadByPath">spreadByPath</a></li><li data-type='method'><a href="QueueSpreading.html#spreadBySpread">spreadBySpread</a></li><li data-type='method'><a href="QueueSpreading.html#spreadBySpreader">spreadBySpreader</a></li><li data-type='method'><a href="QueueSpreading.html#unspreadByPath">unspreadByPath</a></li><li data-type='method'><a href="QueueSpreading.html#unspreadBySpread">unspreadBySpread</a></li><li data-type='method'><a href="QueueSpreading.html#unspreadBySpreader">unspreadBySpreader</a></li></ul></li><li><a href="SpreaderGraph.html">SpreaderGraph</a></li><li><a href="SpreadGraph.html">SpreadGraph</a><ul class='methods'><li data-type='method'><a href="SpreadGraph.html#_spreadingHandler">_spreadingHandler</a></li><li data-type='method'><a href="SpreadGraph.html#_unspreadingHandler">_unspreadingHandler</a></li><li data-type='method'><a href="SpreadGraph.html#insert">insert</a></li><li data-type='method'><a href="SpreadGraph.html#remove">remove</a></li></ul></li></ul><h3>Global</h3><ul><li><a href="global.html#factoryLaunchedGraph">factoryLaunchedGraph</a></li><li><a href="global.html#factoryPathGraph">factoryPathGraph</a></li><li><a href="global.html#factoryRespreadGraph">factoryRespreadGraph</a></li><li><a href="global.html#factorySpreaderGraph">factorySpreaderGraph</a></li><li><a href="global.html#factorySpreadGraph">factorySpreadGraph</a></li></ul>
</nav>
<div id="main">
<h1 class="page-title">GraphSpreading</h1>
<section>
<header>
<h2>
GraphSpreading
</h2>
<div class="class-description"><p>Class with methods for spread and unspread of the spreadGraph on pathGraph(s).</p></div>
</header>
<article>
<div class="container-overview">
<h2>Constructor</h2>
<h4 class="name" id="GraphSpreading"><span class="type-signature"></span>new GraphSpreading<span class="signature">(spreadGraph)</span><span class="type-signature"></span></h4>
<div class="description">
<p><code>import { GraphSpreading } from 'ancient-graph-spreading';</code></p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>spreadGraph</code></td>
<td class="type">
<span class="param-type"><a href="SpreadGraph.html">SpreadGraph</a></span>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="spreading.js.html">spreading.js</a>, <a href="spreading.js.html#line9">line 9</a>
</li></ul></dd>
</dl>
</div>
<h3 class="subsection-title">Methods</h3>
<h4 class="name" id="_getFromFields"><span class="type-signature"></span>_getFromFields<span class="signature">(pathGraph<span class="signature-attributes">opt</span>, pathLink<span class="signature-attributes">opt</span>, spreadLink<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {Array.<String>}</span></h4>
<div class="description">
<p>Custom getter of possible from fields.</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>pathGraph</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>pathLink</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>spreadLink</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="spreading.js.html">spreading.js</a>, <a href="spreading.js.html#line64">line 64</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>[fromFields]</p>
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">Array.<String></span>
</dd>
</dl>
<h4 class="name" id="_getToFields"><span class="type-signature"></span>_getToFields<span class="signature">(pathGraph<span class="signature-attributes">opt</span>, pathLink<span class="signature-attributes">opt</span>, spreadLink<span class="signature-attributes">opt</span>)</span><span class="type-signature"> → {Array.<String>}</span></h4>
<div class="description">
<p>Custom getter of possible to fields.</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>pathGraph</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>pathLink</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>spreadLink</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="spreading.js.html">spreading.js</a>, <a href="spreading.js.html#line76">line 76</a>
</li></ul></dd>
</dl>
<h5>Returns:</h5>
<div class="param-desc">
<p>[toFields]</p>
</div>
<dl class="param-type">
<dt>
Type
</dt>
<dd>
<span class="param-type">Array.<String></span>
</dd>
</dl>
<h4 class="name" id="_spreadByPathLink"><span class="type-signature"></span>_spreadByPathLink<span class="signature">(fromField, pathGraph, pathLink, context<span class="signature-attributes">opt</span>, handler<span class="signature-attributes">opt</span>, callback<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h4>
<div class="description">
<p>Spread by pathLink and specified fromField with available spreadLinks.</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>fromField</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>pathGraph</code></td>
<td class="type">
<span class="param-type"><a href="PathGraph.html">PathGraph</a></span>
</td>
<td class="attributes">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>pathLink</code></td>
<td class="type">
<span class="param-type">PathLink</span>
</td>
<td class="attributes">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>context</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>handler</code></td>
<td class="type">
<span class="param-type"><a href="GraphSpreading.html#~spreadFromSpreadLinkByPathLinkCallback">GraphSpreading~spreadFromSpreadLinkByPathLinkCallback</a></span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>callback</code></td>
<td class="type">
<span class="param-type"><a href="GraphSpreading.html#~spreadByPathLinkCallback">GraphSpreading~spreadByPathLinkCallback</a></span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="spreading.js.html">spreading.js</a>, <a href="spreading.js.html#line90">line 90</a>
</li></ul></dd>
</dl>
<h4 class="name" id="_spreadFromSpreadLinkByPathGraph"><span class="type-signature"></span>_spreadFromSpreadLinkByPathGraph<span class="signature">(fromField, spreadLink, pathGraph, context<span class="signature-attributes">opt</span>, handler<span class="signature-attributes">opt</span>, callback<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h4>
<div class="description">
<p>Spread by all available paths in pathGraph from spreadLink and specified fromField.</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>fromField</code></td>
<td class="type">
<span class="param-type">string</span>
</td>
<td class="attributes">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>spreadLink</code></td>
<td class="type">
<span class="param-type">SpreadLink</span>
</td>
<td class="attributes">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>pathGraph</code></td>
<td class="type">
<span class="param-type"><a href="PathGraph.html">PathGraph</a></span>
</td>
<td class="attributes">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>context</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>handler</code></td>
<td class="type">
<span class="param-type"><a href="GraphSpreading.html#~spreadFromSpreadLinkByPathGraphHandler">GraphSpreading~spreadFromSpreadLinkByPathGraphHandler</a></span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>callback</code></td>
<td class="type">
<span class="param-type"><a href="GraphSpreading.html#~spreadFromSpreadLinkByPathGraphCallback">GraphSpreading~spreadFromSpreadLinkByPathGraphCallback</a></span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="spreading.js.html">spreading.js</a>, <a href="spreading.js.html#line172">line 172</a>
</li></ul></dd>
</dl>
<h4 class="name" id="_spreadFromSpreadLinkByPathLink"><span class="type-signature"></span>_spreadFromSpreadLinkByPathLink<span class="signature">(spreadLink, pathGraph, pathLink, context<span class="signature-attributes">opt</span>, callback<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h4>
<div class="description">
<p>Spread by pathLink and specified toField in pathGraph from spreadLink.</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>spreadLink</code></td>
<td class="type">
<span class="param-type">SpreadLink</span>
</td>
<td class="attributes">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>pathGraph</code></td>
<td class="type">
<span class="param-type"><a href="PathGraph.html">PathGraph</a></span>
</td>
<td class="attributes">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>pathLink</code></td>
<td class="type">
<span class="param-type">PathLink</span>
</td>
<td class="attributes">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>context</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>callback</code></td>
<td class="type">
<span class="param-type"><a href="GraphSpreading.html#~spreadFromSpreadLinkByPathLinkCallback">GraphSpreading~spreadFromSpreadLinkByPathLinkCallback</a></span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="spreading.js.html">spreading.js</a>, <a href="spreading.js.html#line226">line 226</a>
</li></ul></dd>
</dl>
<h4 class="name" id="_wrapPathQuery"><span class="type-signature"></span>_wrapPathQuery<span class="signature">(query<span class="signature-attributes">opt</span>, pathGraph<span class="signature-attributes">opt</span>, fromField<span class="signature-attributes">opt</span>, toField<span class="signature-attributes">opt</span>, context<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h4>
<div class="description">
<p>Custom wrapper of query to path graph</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>query</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>pathGraph</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>fromField</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>toField</code></td>
<td class="type">
<span class="param-type">String</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>context</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="spreading.js.html">spreading.js</a>, <a href="spreading.js.html#line54">line 54</a>
</li></ul></dd>
</dl>
<h4 class="name" id="_wrapSpreadQuery"><span class="type-signature"></span>_wrapSpreadQuery<span class="signature">(query<span class="signature-attributes">opt</span>, context<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h4>
<div class="description">
<p>Custom wrapper of query to spread graph</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>query</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>context</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="spreading.js.html">spreading.js</a>, <a href="spreading.js.html#line43">line 43</a>
</li></ul></dd>
</dl>
<h4 class="name" id="addPathGraph"><span class="type-signature"></span>addPathGraph<span class="signature">(pathGraph)</span><span class="type-signature"></span></h4>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>pathGraph</code></td>
<td class="type">
<span class="param-type"><a href="PathGraph.html">PathGraph</a></span>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="spreading.js.html">spreading.js</a>, <a href="spreading.js.html#line33">line 33</a>
</li></ul></dd>
</dl>
<h4 class="name" id="each"><span class="type-signature"></span>each<span class="signature">(coll, iteratee, callback)</span><span class="type-signature"></span></h4>
<div class="description">
<p>Custom async callbacks support</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>coll</code></td>
<td class="type">
<span class="param-type">Array</span>
|
<span class="param-type">Iterable</span>
|
<span class="param-type">Object</span>
</td>
<td class="description last"><p>A collection to iterate over.</p></td>
</tr>
<tr>
<td class="name"><code>iteratee</code></td>
<td class="type">
<span class="param-type">function</span>
</td>
<td class="description last"><p>A function to apply to each item in coll.</p></td>
</tr>
<tr>
<td class="name"><code>callback</code></td>
<td class="type">
<span class="param-type">function</span>
</td>
<td class="description last"><p>A callback which is called when all iteratee functions have finished.</p></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="spreading.js.html">spreading.js</a>, <a href="spreading.js.html#line26">line 26</a>
</li></ul></dd>
</dl>
<h4 class="name" id="spreadByPathLink"><span class="type-signature"></span>spreadByPathLink<span class="signature">(pathGraph, pathLink, context<span class="signature-attributes">opt</span>, handler<span class="signature-attributes">opt</span>, callback<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h4>
<div class="description">
<p>Spread by pathLink with available spreadLinks.</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>pathGraph</code></td>
<td class="type">
<span class="param-type"><a href="PathGraph.html">PathGraph</a></span>
</td>
<td class="attributes">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>pathLink</code></td>
<td class="type">
<span class="param-type">PathLink</span>
</td>
<td class="attributes">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>context</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>handler</code></td>
<td class="type">
<span class="param-type"><a href="GraphSpreading.html#~spreadFromSpreadLinkByPathLinkCallback">GraphSpreading~spreadFromSpreadLinkByPathLinkCallback</a></span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>callback</code></td>
<td class="type">
<span class="param-type"><a href="GraphSpreading.html#~spreadByPathLinkCallback">GraphSpreading~spreadByPathLinkCallback</a></span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="spreading.js.html">spreading.js</a>, <a href="spreading.js.html#line117">line 117</a>
</li></ul></dd>
</dl>
<h4 class="name" id="spreadFromSpreadLink"><span class="type-signature"></span>spreadFromSpreadLink<span class="signature">(spreadLink, context<span class="signature-attributes">opt</span>, handler<span class="signature-attributes">opt</span>, callback<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h4>
<div class="description">
<p>Spread by all available paths from spreadLink.</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>spreadLink</code></td>
<td class="type">
<span class="param-type">SpreadLink</span>
</td>
<td class="attributes">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>context</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>handler</code></td>
<td class="type">
<span class="param-type"><a href="GraphSpreading.html#~spreadFromSpreadLinkByPathGraphHandler">GraphSpreading~spreadFromSpreadLinkByPathGraphHandler</a></span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>callback</code></td>
<td class="type">
<span class="param-type"><a href="GraphSpreading.html#~spreadFromSpreadLinkByPathGraphCallback">GraphSpreading~spreadFromSpreadLinkByPathGraphCallback</a></span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="spreading.js.html">spreading.js</a>, <a href="spreading.js.html#line154">line 154</a>
</li></ul></dd>
</dl>
<h4 class="name" id="spreadFromSpreadLinkByPathGraph"><span class="type-signature"></span>spreadFromSpreadLinkByPathGraph<span class="signature">(spreadLink, pathGraph, handler<span class="signature-attributes">opt</span>, callback<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h4>
<div class="description">
<p>Spread by all available paths in pathGraph from spreadLink.</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>spreadLink</code></td>
<td class="type">
<span class="param-type">SpreadLink</span>
</td>
<td class="attributes">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>pathGraph</code></td>
<td class="type">
<span class="param-type"><a href="PathGraph.html">PathGraph</a></span>
</td>
<td class="attributes">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>handler</code></td>
<td class="type">
<span class="param-type"><a href="GraphSpreading.html#~spreadFromSpreadLinkByPathGraphHandler">GraphSpreading~spreadFromSpreadLinkByPathGraphHandler</a></span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>callback</code></td>
<td class="type">
<span class="param-type"><a href="GraphSpreading.html#~spreadFromSpreadLinkByPathGraphCallback">GraphSpreading~spreadFromSpreadLinkByPathGraphCallback</a></span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="spreading.js.html">spreading.js</a>, <a href="spreading.js.html#line194">line 194</a>
</li></ul></dd>
</dl>
<h4 class="name" id="spreadFromSpreadLinkByPathLink"><span class="type-signature"></span>spreadFromSpreadLinkByPathLink<span class="signature">(spreadLink, pathGraph, pathLink, context<span class="signature-attributes">opt</span>, handler<span class="signature-attributes">opt</span>, callback<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h4>
<div class="description">
<p>Spread by pathLink in pathGraph from spreadLink.</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>spreadLink</code></td>
<td class="type">
<span class="param-type">SpreadLink</span>
</td>
<td class="attributes">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>pathGraph</code></td>
<td class="type">
<span class="param-type"><a href="PathGraph.html">PathGraph</a></span>
</td>
<td class="attributes">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>pathLink</code></td>
<td class="type">
<span class="param-type">PathLink</span>
</td>
<td class="attributes">
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>context</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>handler</code></td>
<td class="type">
<span class="param-type">GraphSpreading~spreadFromSpreadLinkByPathLinkHandler</span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
<tr>
<td class="name"><code>callback</code></td>
<td class="type">
<span class="param-type"><a href="GraphSpreading.html#~spreadFromSpreadLinkByPathLinkCallback">GraphSpreading~spreadFromSpreadLinkByPathLinkCallback</a></span>
</td>
<td class="attributes">
<optional><br>
</td>
<td class="description last"></td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source">Source:</dt>
<dd class="tag-source"><ul class="dummy"><li>
<a href="spreading.js.html">spreading.js</a>, <a href="spreading.js.html#line254">line 254</a>
</li></ul></dd>
</dl>
<h4 class="name" id="spreadNewSpreadLink"><span class="type-signature"></span>spreadNewSpreadLink<span class="signature">(newSpreadLink, context<span class="signature-attributes">opt</span>, callback<span class="signature-attributes">opt</span>)</span><span class="type-signature"></span></h4>
<div class="description">
<p>Spread root of tree spreadLink.</p>
</div>
<h5>Parameters:</h5>
<table class="params">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Attributes</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>newSpreadLink</code></td>
<td class="type">
<span class="param-type">SpreadLink</span>
</td>
<td class="attributes">
</td>
<td class="description last"></t