## Members

<dl>
<dt><a href="#root">root</a> ⇒ <code>Object</code></dt>
<dd><p>Gets the root node by traversing up the parent nodes.</p>
</dd>
</dl>

## Functions

<dl>
<dt><a href="#NestedMixin">NestedMixin([childClass])</a></dt>
<dd><p>Mixin to add nested capabilities to a class. 
This class can be used as a superclass or mixed into other classes.</p>
</dd>
<dt><a href="#mixin">mixin(childClass)</a> ⇒ <code>Class</code></dt>
<dd><p>Utility function for creating a mixin with Nested capabilities.</p>
</dd>
<dt><a href="#sub">sub(path, [opts], ...args)</a> ⇒ <code>Object</code></dt>
<dd><p>Creates and returns a new node, subordinated to this node.</p>
</dd>
</dl>

<a name="root"></a>

## root ⇒ <code>Object</code>
Gets the root node by traversing up the parent nodes.

**Kind**: global variable  
**Returns**: <code>Object</code> - The root node.  
<a name="NestedMixin"></a>

## NestedMixin([childClass])
Mixin to add nested capabilities to a class. 
This class can be used as a superclass or mixed into other classes.

**Kind**: global function  

| Param | Type | Default | Description |
| --- | --- | --- | --- |
| [childClass] | <code>Class</code> | <code>class {}</code> | The class to which nested capabilities will be added. |

<a name="mixin"></a>

## mixin(childClass) ⇒ <code>Class</code>
Utility function for creating a mixin with Nested capabilities.

**Kind**: global function  
**Returns**: <code>Class</code> - - A class mixed in with Nested capabilities.  

| Param | Type | Description |
| --- | --- | --- |
| childClass | <code>Class</code> | The class to which nested capabilities will be added. |

<a name="sub"></a>

## sub(path, [opts], ...args) ⇒ <code>Object</code>
Creates and returns a new node, subordinated to this node.

**Kind**: global function  
**Returns**: <code>Object</code> - - The newly created sub-node.  

| Param | Type | Default | Description |
| --- | --- | --- | --- |
| path | <code>Array</code> \| <code>string</code> |  | The path to the new sub-node. |
| [opts] | <code>Object</code> \| <code>function</code> | <code>{}</code> | Options or a function to generate options for the new node. |
| ...args | <code>any</code> |  | Additional arguments passed to the constructor of the new node. |

