Skip to content

Commit b11c380

Browse files
Regenerate documentation
1 parent a7d5da9 commit b11c380

File tree

1 file changed

+186
-6
lines changed

1 file changed

+186
-6
lines changed

api.md

Lines changed: 186 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,17 @@
1212
* [.prev(object)](#module_symbol-tree--SymbolTree+prev) ⇒ <code>Object</code>
1313
* [.next(object)](#module_symbol-tree--SymbolTree+next) ⇒ <code>Object</code>
1414
* [.parent(object)](#module_symbol-tree--SymbolTree+parent) ⇒ <code>Object</code>
15+
* [.lastInclusiveDescendant(object)](#module_symbol-tree--SymbolTree+lastInclusiveDescendant) ⇒ <code>Object</code>
16+
* [.preceding(object, [treeRoot])](#module_symbol-tree--SymbolTree+preceding) ⇒ <code>Object</code>
17+
* [.following(object, [treeRoot], [skipChildren])](#module_symbol-tree--SymbolTree+following) ⇒ <code>Object</code>
18+
* [.childrenToArray(parent, [array], [filter], [thisArg])](#module_symbol-tree--SymbolTree+childrenToArray) ⇒ <code>Array.&lt;Object&gt;</code>
19+
* [.ancestorsToArray(object, [array], [filter], [thisArg])](#module_symbol-tree--SymbolTree+ancestorsToArray) ⇒ <code>Array.&lt;Object&gt;</code>
20+
* [.treeToArray(root, [array], [filter], [thisArg])](#module_symbol-tree--SymbolTree+treeToArray) ⇒ <code>Array.&lt;Object&gt;</code>
21+
* [.childrenIterator(parent)](#module_symbol-tree--SymbolTree+childrenIterator) ⇒ <code>Object</code>
22+
* [.ancestorsIterator(object)](#module_symbol-tree--SymbolTree+ancestorsIterator) ⇒ <code>Object</code>
23+
* [.treeIterator(root)](#module_symbol-tree--SymbolTree+treeIterator) ⇒ <code>Object</code>
24+
* [.index(child)](#module_symbol-tree--SymbolTree+index) ⇒ <code>Number</code>
25+
* [.childrenCount(parent)](#module_symbol-tree--SymbolTree+childrenCount) ⇒ <code>Number</code>
1526
* [.remove(removeObject)](#module_symbol-tree--SymbolTree+remove) ⇒ <code>Object</code>
1627
* [.insertBefore(newObject, referenceObject)](#module_symbol-tree--SymbolTree+insertBefore) ⇒ <code>Object</code>
1728
* [.insertAfter(newObject, referenceObject)](#module_symbol-tree--SymbolTree+insertAfter) ⇒ <code>Object</code>
@@ -31,7 +42,10 @@
3142
<a name="module_symbol-tree--SymbolTree+initialize"></a>
3243
#### symbolTree.initialize(object) ⇒ <code>Object</code>
3344
You can optionally initialize an object after its creation,
34-
to take advantage of fast properties
45+
to take advantage of V8's fast properties. Also useful if you would like to
46+
freeze your object.
47+
48+
`O(1)`
3549

3650
**Kind**: instance method of <code>[SymbolTree](#exp_module_symbol-tree--SymbolTree)</code>
3751
**Returns**: <code>Object</code> - object
@@ -43,6 +57,7 @@ to take advantage of fast properties
4357
<a name="module_symbol-tree--SymbolTree+isEmpty"></a>
4458
#### symbolTree.isEmpty(object) ⇒ <code>Boolean</code>
4559
Returns true if the object has any children.
60+
4661
`O(1)`
4762

4863
**Kind**: instance method of <code>[SymbolTree](#exp_module_symbol-tree--SymbolTree)</code>
@@ -54,6 +69,7 @@ Returns true if the object has any children.
5469
<a name="module_symbol-tree--SymbolTree+first"></a>
5570
#### symbolTree.first(object) ⇒ <code>Object</code>
5671
Return the first child of the given object.
72+
5773
`O(1)`
5874

5975
**Kind**: instance method of <code>[SymbolTree](#exp_module_symbol-tree--SymbolTree)</code>
@@ -65,6 +81,7 @@ Return the first child of the given object.
6581
<a name="module_symbol-tree--SymbolTree+last"></a>
6682
#### symbolTree.last(object) ⇒ <code>Object</code>
6783
Return the last child of the given object.
84+
6885
`O(1)`
6986

7087
**Kind**: instance method of <code>[SymbolTree](#exp_module_symbol-tree--SymbolTree)</code>
@@ -76,6 +93,7 @@ Return the last child of the given object.
7693
<a name="module_symbol-tree--SymbolTree+prev"></a>
7794
#### symbolTree.prev(object) ⇒ <code>Object</code>
7895
Return the previous sibling of the given object.
96+
7997
`O(1)`
8098

8199
**Kind**: instance method of <code>[SymbolTree](#exp_module_symbol-tree--SymbolTree)</code>
@@ -87,6 +105,7 @@ Return the previous sibling of the given object.
87105
<a name="module_symbol-tree--SymbolTree+next"></a>
88106
#### symbolTree.next(object) ⇒ <code>Object</code>
89107
Return the next sibling of the given object.
108+
90109
`O(1)`
91110

92111
**Kind**: instance method of <code>[SymbolTree](#exp_module_symbol-tree--SymbolTree)</code>
@@ -98,6 +117,7 @@ Return the next sibling of the given object.
98117
<a name="module_symbol-tree--SymbolTree+parent"></a>
99118
#### symbolTree.parent(object) ⇒ <code>Object</code>
100119
Return the parent of the given object.
120+
101121
`O(1)`
102122

103123
**Kind**: instance method of <code>[SymbolTree](#exp_module_symbol-tree--SymbolTree)</code>
@@ -106,12 +126,168 @@ Return the parent of the given object.
106126
| --- | --- |
107127
| object | <code>Object</code> |
108128

129+
<a name="module_symbol-tree--SymbolTree+lastInclusiveDescendant"></a>
130+
#### symbolTree.lastInclusiveDescendant(object) ⇒ <code>Object</code>
131+
Find the inclusive descendant that is last in tree order of the given object.
132+
133+
`O(n)` (worst case)
134+
135+
**Kind**: instance method of <code>[SymbolTree](#exp_module_symbol-tree--SymbolTree)</code>
136+
137+
| Param | Type |
138+
| --- | --- |
139+
| object | <code>Object</code> |
140+
141+
<a name="module_symbol-tree--SymbolTree+preceding"></a>
142+
#### symbolTree.preceding(object, [treeRoot]) ⇒ <code>Object</code>
143+
Find the preceding object (A) of the given object (B).
144+
An object A is preceding an object B if A and B are in the same tree
145+
and A comes before B in tree order.
146+
147+
`O(n)` (worst case)
148+
149+
**Kind**: instance method of <code>[SymbolTree](#exp_module_symbol-tree--SymbolTree)</code>
150+
151+
| Param | Type | Description |
152+
| --- | --- | --- |
153+
| object | <code>Object</code> | |
154+
| [treeRoot] | <code>Object</code> | If set, `treeRoot` must be an inclusive ancestor of the return value (or else null is returned). This check _assumes_ that `root` is also an inclusive ancestor of the given `node` |
155+
156+
<a name="module_symbol-tree--SymbolTree+following"></a>
157+
#### symbolTree.following(object, [treeRoot], [skipChildren]) ⇒ <code>Object</code>
158+
Find the following object (A) of the given object (B).
159+
An object A is following an object B if A and B are in the same tree
160+
and A comes after B in tree order.
161+
162+
`O(n)` (worst case)
163+
164+
**Kind**: instance method of <code>[SymbolTree](#exp_module_symbol-tree--SymbolTree)</code>
165+
166+
| Param | Type | Default | Description |
167+
| --- | --- | --- | --- |
168+
| object | <code>Object</code> | | |
169+
| [treeRoot] | <code>Object</code> | | If set, `treeRoot` must be an inclusive ancestor of the return value (or else null is returned). This check _assumes_ that `root` is also an inclusive ancestor of the given `node` |
170+
| [skipChildren] | <code>Boolean</code> | <code>false</code> | If set, ignore the childen of `object` |
171+
172+
<a name="module_symbol-tree--SymbolTree+childrenToArray"></a>
173+
#### symbolTree.childrenToArray(parent, [array], [filter], [thisArg]) ⇒ <code>Array.&lt;Object&gt;</code>
174+
Append all children of the given object to an array.
175+
176+
`O(n)`
177+
178+
**Kind**: instance method of <code>[SymbolTree](#exp_module_symbol-tree--SymbolTree)</code>
179+
180+
| Param | Type | Default | Description |
181+
| --- | --- | --- | --- |
182+
| parent | <code>Object</code> | | |
183+
| [array] | <code>Array.&lt;Object&gt;</code> | <code>[]</code> | |
184+
| [filter] | <code>function</code> | | Function to test each object before it is added to the array. Invoked with arguments (object). Should return `true` if an object is to be included. |
185+
| [thisArg] | <code>\*</code> | | Value to use as `this` when executing `filter`. |
186+
187+
<a name="module_symbol-tree--SymbolTree+ancestorsToArray"></a>
188+
#### symbolTree.ancestorsToArray(object, [array], [filter], [thisArg]) ⇒ <code>Array.&lt;Object&gt;</code>
189+
Append all inclusive ancestors of the given object to an array.
190+
191+
`O(n)`
192+
193+
**Kind**: instance method of <code>[SymbolTree](#exp_module_symbol-tree--SymbolTree)</code>
194+
195+
| Param | Type | Default | Description |
196+
| --- | --- | --- | --- |
197+
| object | <code>Object</code> | | |
198+
| [array] | <code>Array.&lt;Object&gt;</code> | <code>[]</code> | |
199+
| [filter] | <code>function</code> | | Function to test each object before it is added to the array. Invoked with arguments (object). Should return `true` if an object is to be included. |
200+
| [thisArg] | <code>\*</code> | | Value to use as `this` when executing `filter`. |
201+
202+
<a name="module_symbol-tree--SymbolTree+treeToArray"></a>
203+
#### symbolTree.treeToArray(root, [array], [filter], [thisArg]) ⇒ <code>Array.&lt;Object&gt;</code>
204+
Append all descendants of the given object to an array (in tree order).
205+
206+
`O(n)`
207+
208+
**Kind**: instance method of <code>[SymbolTree](#exp_module_symbol-tree--SymbolTree)</code>
209+
210+
| Param | Type | Default | Description |
211+
| --- | --- | --- | --- |
212+
| root | <code>Object</code> | | |
213+
| [array] | <code>Array.&lt;Object&gt;</code> | <code>[]</code> | |
214+
| [filter] | <code>function</code> | | Function to test each object before it is added to the array. Invoked with arguments (object). Should return `true` if an object is to be included. |
215+
| [thisArg] | <code>\*</code> | | Value to use as `this` when executing `filter`. |
216+
217+
<a name="module_symbol-tree--SymbolTree+childrenIterator"></a>
218+
#### symbolTree.childrenIterator(parent) ⇒ <code>Object</code>
219+
Iterate over all children of the given object to an array.
220+
221+
`O(1)` for a single iteration
222+
223+
**Kind**: instance method of <code>[SymbolTree](#exp_module_symbol-tree--SymbolTree)</code>
224+
**Returns**: <code>Object</code> - An iterable iterator (ES6)
225+
226+
| Param | Type |
227+
| --- | --- |
228+
| parent | <code>Object</code> |
229+
230+
<a name="module_symbol-tree--SymbolTree+ancestorsIterator"></a>
231+
#### symbolTree.ancestorsIterator(object) ⇒ <code>Object</code>
232+
Iterate over all inclusive ancestors of the given object
233+
234+
`O(1)` for a single iteration
235+
236+
**Kind**: instance method of <code>[SymbolTree](#exp_module_symbol-tree--SymbolTree)</code>
237+
**Returns**: <code>Object</code> - An iterable iterator (ES6)
238+
239+
| Param | Type |
240+
| --- | --- |
241+
| object | <code>Object</code> |
242+
243+
<a name="module_symbol-tree--SymbolTree+treeIterator"></a>
244+
#### symbolTree.treeIterator(root) ⇒ <code>Object</code>
245+
Iterate over all descendants of the given object (in tree order).
246+
247+
`O(n)` for the entire iteration<br>
248+
`O(n)` for a single iteration (worst case)
249+
250+
**Kind**: instance method of <code>[SymbolTree](#exp_module_symbol-tree--SymbolTree)</code>
251+
**Returns**: <code>Object</code> - An iterable iterator (ES6)
252+
253+
| Param | Type |
254+
| --- | --- |
255+
| root | <code>Object</code> |
256+
257+
<a name="module_symbol-tree--SymbolTree+index"></a>
258+
#### symbolTree.index(child) ⇒ <code>Number</code>
259+
Find the index of the given object (the number of preceding siblings).
260+
261+
`O(n)`<br>
262+
`O(1)` (cached)
263+
264+
**Kind**: instance method of <code>[SymbolTree](#exp_module_symbol-tree--SymbolTree)</code>
265+
**Returns**: <code>Number</code> - The number of preceding siblings, or -1 if the object has no parent
266+
267+
| Param | Type |
268+
| --- | --- |
269+
| child | <code>Object</code> |
270+
271+
<a name="module_symbol-tree--SymbolTree+childrenCount"></a>
272+
#### symbolTree.childrenCount(parent) ⇒ <code>Number</code>
273+
Calculate the number of children.
274+
275+
`O(n)`<br>
276+
`O(1)` (cached)
277+
278+
**Kind**: instance method of <code>[SymbolTree](#exp_module_symbol-tree--SymbolTree)</code>
279+
280+
| Param |
281+
| --- |
282+
| parent |
283+
109284
<a name="module_symbol-tree--SymbolTree+remove"></a>
110285
#### symbolTree.remove(removeObject) ⇒ <code>Object</code>
111286
Remove the object from this tree.
112-
`O(1)`
113287
Has no effect if already removed.
114288

289+
`O(1)`
290+
115291
**Kind**: instance method of <code>[SymbolTree](#exp_module_symbol-tree--SymbolTree)</code>
116292
**Returns**: <code>Object</code> - removeObject
117293

@@ -122,8 +298,9 @@ Has no effect if already removed.
122298
<a name="module_symbol-tree--SymbolTree+insertBefore"></a>
123299
#### symbolTree.insertBefore(newObject, referenceObject) ⇒ <code>Object</code>
124300
Insert the given object before the reference object.
301+
`newObject` is now the previous sibling of `referenceObject`.
302+
125303
`O(1)`
126-
`newObject` is now the previous sibling of `referenceObject`
127304

128305
**Kind**: instance method of <code>[SymbolTree](#exp_module_symbol-tree--SymbolTree)</code>
129306
**Returns**: <code>Object</code> - newObject
@@ -140,8 +317,9 @@ Insert the given object before the reference object.
140317
<a name="module_symbol-tree--SymbolTree+insertAfter"></a>
141318
#### symbolTree.insertAfter(newObject, referenceObject) ⇒ <code>Object</code>
142319
Insert the given object after the reference object.
320+
`newObject` is now the next sibling of `referenceObject`.
321+
143322
`O(1)`
144-
`newObject` is now the next sibling of `referenceObject`
145323

146324
**Kind**: instance method of <code>[SymbolTree](#exp_module_symbol-tree--SymbolTree)</code>
147325
**Returns**: <code>Object</code> - newObject
@@ -158,8 +336,9 @@ Insert the given object after the reference object.
158336
<a name="module_symbol-tree--SymbolTree+insertFirst"></a>
159337
#### symbolTree.insertFirst(newObject, referenceObject) ⇒ <code>Object</code>
160338
Insert the given object as the first child of the given reference object.
339+
`newObject` is now the first child of `referenceObject`.
340+
161341
`O(1)`
162-
`newObject` is now the first child of `referenceObject`
163342

164343
**Kind**: instance method of <code>[SymbolTree](#exp_module_symbol-tree--SymbolTree)</code>
165344
**Returns**: <code>Object</code> - newObject
@@ -176,8 +355,9 @@ Insert the given object as the first child of the given reference object.
176355
<a name="module_symbol-tree--SymbolTree+insertLast"></a>
177356
#### symbolTree.insertLast(newObject, referenceObject) ⇒ <code>Object</code>
178357
Insert the given object as the last child of the given reference object.
358+
`newObject` is now the last child of `referenceObject`.
359+
179360
`O(1)`
180-
`newObject` is now the last child of `referenceObject`
181361

182362
**Kind**: instance method of <code>[SymbolTree](#exp_module_symbol-tree--SymbolTree)</code>
183363
**Returns**: <code>Object</code> - newObject

0 commit comments

Comments
 (0)