collect-your-stuff 1.2.7 → 1.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2525 -2525
- package/browser/collect-your-stuff.js +22766 -22761
- package/browser/collect-your-stuff.min.js +1 -1
- package/dist/collections/arrayable/ArrayElement.d.ts +36 -36
- package/dist/collections/arrayable/ArrayElement.js +64 -64
- package/dist/collections/arrayable/Arrayable.d.ts +108 -108
- package/dist/collections/arrayable/Arrayable.js +188 -188
- package/dist/collections/doubly-linked-list/DoubleLinker.d.ts +46 -46
- package/dist/collections/doubly-linked-list/DoubleLinker.js +69 -69
- package/dist/collections/doubly-linked-list/DoublyLinkedList.d.ts +113 -113
- package/dist/collections/doubly-linked-list/DoublyLinkedList.js +274 -269
- package/dist/collections/doubly-linked-list/DoublyLinkedList.min.js +1 -1
- package/dist/collections/linked-list/LinkedList.d.ts +109 -109
- package/dist/collections/linked-list/LinkedList.js +233 -233
- package/dist/collections/linked-list/Linker.d.ts +43 -43
- package/dist/collections/linked-list/Linker.js +80 -80
- package/dist/collections/linked-tree-list/LinkedTreeList.d.ts +135 -135
- package/dist/collections/linked-tree-list/LinkedTreeList.js +252 -252
- package/dist/collections/linked-tree-list/TreeLinker.d.ts +63 -63
- package/dist/collections/linked-tree-list/TreeLinker.js +79 -79
- package/dist/collections/queue/Queue.d.ts +63 -63
- package/dist/collections/queue/Queue.js +130 -130
- package/dist/collections/queue/Queueable.d.ts +77 -77
- package/dist/collections/queue/Queueable.js +141 -141
- package/dist/collections/stack/Stack.d.ts +63 -63
- package/dist/collections/stack/Stack.js +106 -106
- package/dist/collections/stack/Stackable.d.ts +56 -56
- package/dist/collections/stack/Stackable.js +83 -83
- package/dist/main.d.ts +40 -40
- package/dist/main.js +50 -50
- package/dist/recipes/ArrayIterator.d.ts +10 -10
- package/dist/recipes/ArrayIterator.js +29 -29
- package/dist/recipes/DoubleLinkerIterator.d.ts +9 -9
- package/dist/recipes/DoubleLinkerIterator.js +24 -24
- package/dist/recipes/IsArrayable.d.ts +105 -105
- package/dist/recipes/IsArrayable.js +5 -5
- package/dist/recipes/IsDoubleLinker.d.ts +14 -14
- package/dist/recipes/IsDoubleLinker.js +5 -5
- package/dist/recipes/IsElement.d.ts +14 -14
- package/dist/recipes/IsElement.js +5 -5
- package/dist/recipes/IsLinker.d.ts +10 -10
- package/dist/recipes/IsLinker.js +5 -5
- package/dist/recipes/IsTree.d.ts +11 -11
- package/dist/recipes/IsTree.js +5 -5
- package/dist/recipes/IsTreeNode.d.ts +29 -29
- package/dist/recipes/IsTreeNode.js +5 -5
- package/dist/recipes/LinkerIterator.d.ts +9 -9
- package/dist/recipes/LinkerIterator.js +24 -24
- package/dist/recipes/Runnable.d.ts +54 -54
- package/dist/recipes/Runnable.js +68 -68
- package/dist/recipes/TreeLinkerIterator.d.ts +9 -9
- package/dist/recipes/TreeLinkerIterator.js +25 -25
- package/dist/recipes/recipes.d.ts +15 -15
- package/dist/recipes/recipes.js +22 -22
- package/dist/services/parseTree.d.ts +9 -9
- package/dist/services/parseTree.js +24 -24
- package/dist/services/parseTreeNext.d.ts +14 -14
- package/dist/services/parseTreeNext.js +47 -47
- package/dist/services/services.d.ts +13 -13
- package/dist/services/services.js +22 -22
- package/package.json +1 -1
package/dist/main.js
CHANGED
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', {
|
|
4
|
-
value: true
|
|
5
|
-
})
|
|
6
|
-
exports.default = void 0
|
|
7
|
-
require('core-js/stable')
|
|
8
|
-
var _Arrayable = require('./collections/arrayable/Arrayable')
|
|
9
|
-
var _DoublyLinkedList = require('./collections/doubly-linked-list/DoublyLinkedList')
|
|
10
|
-
var _LinkedList = require('./collections/linked-list/LinkedList')
|
|
11
|
-
var _LinkedTreeList = require('./collections/linked-tree-list/LinkedTreeList')
|
|
12
|
-
var _Queue = require('./collections/queue/Queue')
|
|
13
|
-
var _Stack = require('./collections/stack/Stack')
|
|
14
|
-
var _recipes = require('./recipes/recipes')
|
|
15
|
-
var _services = require('./services/services')
|
|
16
|
-
/**
|
|
17
|
-
* All of the collections available.
|
|
18
|
-
* @file
|
|
19
|
-
* @author Joshua Heagle <joshuaheagle@gmail.com>
|
|
20
|
-
* @version 1.0.0
|
|
21
|
-
* @module collect-your-stuff
|
|
22
|
-
*/
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* TODO:
|
|
26
|
-
* 1. Create binary tree. Use the tree, but it has a limit of only two children per parent, and when adding / removing sort is applied. Add sort function in fromArray
|
|
27
|
-
* 2. Create a heap (both min and max heap variants) which is similar to binary tree in structure, but tree having its min / max value as root. and it must insert on the left-most lowest level, and removes from root. Be able to easily swap nodes to ensure min / max ordering.
|
|
28
|
-
* 3. Create a graph type which can have directional and undirectional variants for linking nodes
|
|
29
|
-
*/
|
|
30
|
-
/**
|
|
31
|
-
* All methods exported from this module are encapsulated within collect-your-stuff.
|
|
32
|
-
*/
|
|
33
|
-
const collectYourStuff = {
|
|
34
|
-
Arrayable: _Arrayable.Arrayable,
|
|
35
|
-
DoublyLinkedList: _DoublyLinkedList.DoublyLinkedList,
|
|
36
|
-
LinkedList: _LinkedList.LinkedList,
|
|
37
|
-
LinkedTreeList: _LinkedTreeList.LinkedTreeList,
|
|
38
|
-
Queue: _Queue.Queue,
|
|
39
|
-
Stack: _Stack.Stack,
|
|
40
|
-
recipes: _recipes.recipes,
|
|
41
|
-
services: _services.services
|
|
42
|
-
}
|
|
43
|
-
var _default = exports.default = collectYourStuff
|
|
44
|
-
if (void 0) {
|
|
45
|
-
// @ts-ignore
|
|
46
|
-
(void 0).collectYourStuff = collectYourStuff
|
|
47
|
-
} else if (typeof window !== 'undefined') {
|
|
48
|
-
// @ts-ignore
|
|
49
|
-
window.collectYourStuff = collectYourStuff
|
|
50
|
-
}
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', {
|
|
4
|
+
value: true
|
|
5
|
+
})
|
|
6
|
+
exports.default = void 0
|
|
7
|
+
require('core-js/stable')
|
|
8
|
+
var _Arrayable = require('./collections/arrayable/Arrayable')
|
|
9
|
+
var _DoublyLinkedList = require('./collections/doubly-linked-list/DoublyLinkedList')
|
|
10
|
+
var _LinkedList = require('./collections/linked-list/LinkedList')
|
|
11
|
+
var _LinkedTreeList = require('./collections/linked-tree-list/LinkedTreeList')
|
|
12
|
+
var _Queue = require('./collections/queue/Queue')
|
|
13
|
+
var _Stack = require('./collections/stack/Stack')
|
|
14
|
+
var _recipes = require('./recipes/recipes')
|
|
15
|
+
var _services = require('./services/services')
|
|
16
|
+
/**
|
|
17
|
+
* All of the collections available.
|
|
18
|
+
* @file
|
|
19
|
+
* @author Joshua Heagle <joshuaheagle@gmail.com>
|
|
20
|
+
* @version 1.0.0
|
|
21
|
+
* @module collect-your-stuff
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* TODO:
|
|
26
|
+
* 1. Create binary tree. Use the tree, but it has a limit of only two children per parent, and when adding / removing sort is applied. Add sort function in fromArray
|
|
27
|
+
* 2. Create a heap (both min and max heap variants) which is similar to binary tree in structure, but tree having its min / max value as root. and it must insert on the left-most lowest level, and removes from root. Be able to easily swap nodes to ensure min / max ordering.
|
|
28
|
+
* 3. Create a graph type which can have directional and undirectional variants for linking nodes
|
|
29
|
+
*/
|
|
30
|
+
/**
|
|
31
|
+
* All methods exported from this module are encapsulated within collect-your-stuff.
|
|
32
|
+
*/
|
|
33
|
+
const collectYourStuff = {
|
|
34
|
+
Arrayable: _Arrayable.Arrayable,
|
|
35
|
+
DoublyLinkedList: _DoublyLinkedList.DoublyLinkedList,
|
|
36
|
+
LinkedList: _LinkedList.LinkedList,
|
|
37
|
+
LinkedTreeList: _LinkedTreeList.LinkedTreeList,
|
|
38
|
+
Queue: _Queue.Queue,
|
|
39
|
+
Stack: _Stack.Stack,
|
|
40
|
+
recipes: _recipes.recipes,
|
|
41
|
+
services: _services.services
|
|
42
|
+
}
|
|
43
|
+
var _default = exports.default = collectYourStuff
|
|
44
|
+
if (void 0) {
|
|
45
|
+
// @ts-ignore
|
|
46
|
+
(void 0).collectYourStuff = collectYourStuff
|
|
47
|
+
} else if (typeof window !== 'undefined') {
|
|
48
|
+
// @ts-ignore
|
|
49
|
+
window.collectYourStuff = collectYourStuff
|
|
50
|
+
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { IsElement } from './IsElement';
|
|
2
|
-
/**
|
|
3
|
-
* Class ArrayIterator returns the next value when using elements of array type list.
|
|
4
|
-
*/
|
|
5
|
-
export declare class ArrayIterator implements Iterator<IsElement> {
|
|
6
|
-
private readonly innerList;
|
|
7
|
-
private index;
|
|
8
|
-
constructor(innerList: Array<IsElement>, index?: number);
|
|
9
|
-
next(value?: any): IteratorResult<IsElement>;
|
|
10
|
-
}
|
|
1
|
+
import { IsElement } from './IsElement';
|
|
2
|
+
/**
|
|
3
|
+
* Class ArrayIterator returns the next value when using elements of array type list.
|
|
4
|
+
*/
|
|
5
|
+
export declare class ArrayIterator implements Iterator<IsElement> {
|
|
6
|
+
private readonly innerList;
|
|
7
|
+
private index;
|
|
8
|
+
constructor(innerList: Array<IsElement>, index?: number);
|
|
9
|
+
next(value?: any): IteratorResult<IsElement>;
|
|
10
|
+
}
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', {
|
|
4
|
-
value: true
|
|
5
|
-
})
|
|
6
|
-
exports.ArrayIterator = void 0
|
|
7
|
-
/**
|
|
8
|
-
* Class ArrayIterator returns the next value when using elements of array type list.
|
|
9
|
-
*/
|
|
10
|
-
class ArrayIterator {
|
|
11
|
-
constructor (innerList, index = 0) {
|
|
12
|
-
this.innerList = innerList
|
|
13
|
-
this.index = index
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
next (value) {
|
|
17
|
-
if (this.index < this.innerList.length) {
|
|
18
|
-
return {
|
|
19
|
-
value: this.innerList[this.index++],
|
|
20
|
-
done: false
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
return {
|
|
24
|
-
value: undefined,
|
|
25
|
-
done: true
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
exports.ArrayIterator = ArrayIterator
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', {
|
|
4
|
+
value: true
|
|
5
|
+
})
|
|
6
|
+
exports.ArrayIterator = void 0
|
|
7
|
+
/**
|
|
8
|
+
* Class ArrayIterator returns the next value when using elements of array type list.
|
|
9
|
+
*/
|
|
10
|
+
class ArrayIterator {
|
|
11
|
+
constructor (innerList, index = 0) {
|
|
12
|
+
this.innerList = innerList
|
|
13
|
+
this.index = index
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
next (value) {
|
|
17
|
+
if (this.index < this.innerList.length) {
|
|
18
|
+
return {
|
|
19
|
+
value: this.innerList[this.index++],
|
|
20
|
+
done: false
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return {
|
|
24
|
+
value: undefined,
|
|
25
|
+
done: true
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.ArrayIterator = ArrayIterator
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { IsDoubleLinker } from './IsDoubleLinker';
|
|
2
|
-
/**
|
|
3
|
-
* Class DoubleLinkerIterator returns the next value when using linkers of linked type lists.
|
|
4
|
-
*/
|
|
5
|
-
export declare class DoubleLinkerIterator implements Iterator<IsDoubleLinker> {
|
|
6
|
-
private current;
|
|
7
|
-
constructor(current: IsDoubleLinker);
|
|
8
|
-
next(value?: any): IteratorResult<IsDoubleLinker>;
|
|
9
|
-
}
|
|
1
|
+
import { IsDoubleLinker } from './IsDoubleLinker';
|
|
2
|
+
/**
|
|
3
|
+
* Class DoubleLinkerIterator returns the next value when using linkers of linked type lists.
|
|
4
|
+
*/
|
|
5
|
+
export declare class DoubleLinkerIterator implements Iterator<IsDoubleLinker> {
|
|
6
|
+
private current;
|
|
7
|
+
constructor(current: IsDoubleLinker);
|
|
8
|
+
next(value?: any): IteratorResult<IsDoubleLinker>;
|
|
9
|
+
}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', {
|
|
4
|
-
value: true
|
|
5
|
-
})
|
|
6
|
-
exports.DoubleLinkerIterator = void 0
|
|
7
|
-
/**
|
|
8
|
-
* Class DoubleLinkerIterator returns the next value when using linkers of linked type lists.
|
|
9
|
-
*/
|
|
10
|
-
class DoubleLinkerIterator {
|
|
11
|
-
constructor (current) {
|
|
12
|
-
this.current = current
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
next (value) {
|
|
16
|
-
const result = {
|
|
17
|
-
value: this.current,
|
|
18
|
-
done: !this.current
|
|
19
|
-
}
|
|
20
|
-
this.current = this.current ? this.current.next : null
|
|
21
|
-
return result
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
exports.DoubleLinkerIterator = DoubleLinkerIterator
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', {
|
|
4
|
+
value: true
|
|
5
|
+
})
|
|
6
|
+
exports.DoubleLinkerIterator = void 0
|
|
7
|
+
/**
|
|
8
|
+
* Class DoubleLinkerIterator returns the next value when using linkers of linked type lists.
|
|
9
|
+
*/
|
|
10
|
+
class DoubleLinkerIterator {
|
|
11
|
+
constructor (current) {
|
|
12
|
+
this.current = current
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
next (value) {
|
|
16
|
+
const result = {
|
|
17
|
+
value: this.current,
|
|
18
|
+
done: !this.current
|
|
19
|
+
}
|
|
20
|
+
this.current = this.current ? this.current.next : null
|
|
21
|
+
return result
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.DoubleLinkerIterator = DoubleLinkerIterator
|
|
@@ -1,105 +1,105 @@
|
|
|
1
|
-
import { IsElement } from './IsElement';
|
|
2
|
-
/**
|
|
3
|
-
* Run this function for each element in this arrayable.
|
|
4
|
-
* @callback forEachCallback
|
|
5
|
-
* @param {number} index
|
|
6
|
-
* @param {IsArrayable} thisArg
|
|
7
|
-
* @returns void
|
|
8
|
-
*/
|
|
9
|
-
export type forEachCallback = (element: IsElement, index?: number, thisArg?: IsArrayable<any>) => void;
|
|
10
|
-
/**
|
|
11
|
-
* Arrayable represents a collection stored as Elements.
|
|
12
|
-
*/
|
|
13
|
-
export interface IsArrayable<T extends IsElement> {
|
|
14
|
-
/**
|
|
15
|
-
* Obnoxious typescript won't let me use typeof this class
|
|
16
|
-
* @property {IsArrayable} classType
|
|
17
|
-
*/
|
|
18
|
-
classType: any;
|
|
19
|
-
/**
|
|
20
|
-
* @property {Array<IsElement> | IsElement | null} innerList
|
|
21
|
-
*/
|
|
22
|
-
innerList: Array<T> | T | null;
|
|
23
|
-
/**
|
|
24
|
-
* @private {boolean} initialized
|
|
25
|
-
*/
|
|
26
|
-
initialized: boolean;
|
|
27
|
-
/**
|
|
28
|
-
* Initialize the inner list, should only run once.
|
|
29
|
-
* @param {IsArrayable|Array} initialList
|
|
30
|
-
* @return {IsArrayable}
|
|
31
|
-
*/
|
|
32
|
-
initialize(initialList: Array<T> | T): IsArrayable<any>;
|
|
33
|
-
/**
|
|
34
|
-
* Retrieve a copy of the innerList used.
|
|
35
|
-
* @returns {Array}
|
|
36
|
-
*/
|
|
37
|
-
get list(): Array<IsElement> | IsElement;
|
|
38
|
-
/**
|
|
39
|
-
* Retrieve the first Element from the Arrayable
|
|
40
|
-
* @returns {IsElement}
|
|
41
|
-
*/
|
|
42
|
-
get first(): T;
|
|
43
|
-
/**
|
|
44
|
-
* Retrieve the last Element from the Arrayable
|
|
45
|
-
* @returns {IsElement}
|
|
46
|
-
*/
|
|
47
|
-
get last(): T;
|
|
48
|
-
/**
|
|
49
|
-
* Return the length of the list.
|
|
50
|
-
* @returns {number}
|
|
51
|
-
*/
|
|
52
|
-
get length(): number;
|
|
53
|
-
/**
|
|
54
|
-
* Insert a new node (or data) after a node.
|
|
55
|
-
* @param {IsElement} node
|
|
56
|
-
* @param {IsElement|*} newNode
|
|
57
|
-
* @returns {IsArrayable}
|
|
58
|
-
*/
|
|
59
|
-
insertAfter(node: T, newNode: T | any): IsArrayable<any>;
|
|
60
|
-
/**
|
|
61
|
-
* Insert a new node (or data) before a node.
|
|
62
|
-
* @param {IsElement} node
|
|
63
|
-
* @param {IsElement|*} newNode
|
|
64
|
-
* @returns {IsArrayable}
|
|
65
|
-
*/
|
|
66
|
-
insertBefore(node: T, newNode: T | any): IsArrayable<any>;
|
|
67
|
-
/**
|
|
68
|
-
* Add a node (or data) after the given (or last) node in the list.
|
|
69
|
-
* @param {IsElement|*} node
|
|
70
|
-
* @param {IsElement} after
|
|
71
|
-
* @returns {IsArrayable}
|
|
72
|
-
*/
|
|
73
|
-
append(node: T | any, after?: T): IsArrayable<any>;
|
|
74
|
-
/**
|
|
75
|
-
* Add a node (or data) before the given (or first) node in the list.
|
|
76
|
-
* @param {IsElement|*} node
|
|
77
|
-
* @param {IsElement} before
|
|
78
|
-
* @returns {IsArrayable}
|
|
79
|
-
*/
|
|
80
|
-
prepend(node: T | any, before?: T): IsArrayable<any>;
|
|
81
|
-
/**
|
|
82
|
-
* Remove an element from this arrayable.
|
|
83
|
-
* @param {IsElement} node
|
|
84
|
-
* @return {IsElement}
|
|
85
|
-
*/
|
|
86
|
-
remove(node: T): T;
|
|
87
|
-
/**
|
|
88
|
-
* Retrieve an element item from this list by numeric index, otherwise return null.
|
|
89
|
-
* @param {number} index
|
|
90
|
-
* @return {IsElement|null}
|
|
91
|
-
*/
|
|
92
|
-
item(index: number): T | null;
|
|
93
|
-
/**
|
|
94
|
-
* Be able to run forEach on this Arrayable to iterate over the elements.
|
|
95
|
-
* @param {forEachCallback} callback
|
|
96
|
-
* @param {IsArrayable} thisArg
|
|
97
|
-
* @returns {IsArrayable}
|
|
98
|
-
*/
|
|
99
|
-
forEach(callback: forEachCallback, thisArg?: IsArrayable<any>): IsArrayable<any>;
|
|
100
|
-
/**
|
|
101
|
-
* Be able to iterate over this class.
|
|
102
|
-
* @returns {Iterator}
|
|
103
|
-
*/
|
|
104
|
-
[Symbol.iterator](): Iterator<T>;
|
|
105
|
-
}
|
|
1
|
+
import { IsElement } from './IsElement';
|
|
2
|
+
/**
|
|
3
|
+
* Run this function for each element in this arrayable.
|
|
4
|
+
* @callback forEachCallback
|
|
5
|
+
* @param {number} index
|
|
6
|
+
* @param {IsArrayable} thisArg
|
|
7
|
+
* @returns void
|
|
8
|
+
*/
|
|
9
|
+
export type forEachCallback = (element: IsElement, index?: number, thisArg?: IsArrayable<any>) => void;
|
|
10
|
+
/**
|
|
11
|
+
* Arrayable represents a collection stored as Elements.
|
|
12
|
+
*/
|
|
13
|
+
export interface IsArrayable<T extends IsElement> {
|
|
14
|
+
/**
|
|
15
|
+
* Obnoxious typescript won't let me use typeof this class
|
|
16
|
+
* @property {IsArrayable} classType
|
|
17
|
+
*/
|
|
18
|
+
classType: any;
|
|
19
|
+
/**
|
|
20
|
+
* @property {Array<IsElement> | IsElement | null} innerList
|
|
21
|
+
*/
|
|
22
|
+
innerList: Array<T> | T | null;
|
|
23
|
+
/**
|
|
24
|
+
* @private {boolean} initialized
|
|
25
|
+
*/
|
|
26
|
+
initialized: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Initialize the inner list, should only run once.
|
|
29
|
+
* @param {IsArrayable|Array} initialList
|
|
30
|
+
* @return {IsArrayable}
|
|
31
|
+
*/
|
|
32
|
+
initialize(initialList: Array<T> | T): IsArrayable<any>;
|
|
33
|
+
/**
|
|
34
|
+
* Retrieve a copy of the innerList used.
|
|
35
|
+
* @returns {Array}
|
|
36
|
+
*/
|
|
37
|
+
get list(): Array<IsElement> | IsElement;
|
|
38
|
+
/**
|
|
39
|
+
* Retrieve the first Element from the Arrayable
|
|
40
|
+
* @returns {IsElement}
|
|
41
|
+
*/
|
|
42
|
+
get first(): T;
|
|
43
|
+
/**
|
|
44
|
+
* Retrieve the last Element from the Arrayable
|
|
45
|
+
* @returns {IsElement}
|
|
46
|
+
*/
|
|
47
|
+
get last(): T;
|
|
48
|
+
/**
|
|
49
|
+
* Return the length of the list.
|
|
50
|
+
* @returns {number}
|
|
51
|
+
*/
|
|
52
|
+
get length(): number;
|
|
53
|
+
/**
|
|
54
|
+
* Insert a new node (or data) after a node.
|
|
55
|
+
* @param {IsElement} node
|
|
56
|
+
* @param {IsElement|*} newNode
|
|
57
|
+
* @returns {IsArrayable}
|
|
58
|
+
*/
|
|
59
|
+
insertAfter(node: T, newNode: T | any): IsArrayable<any>;
|
|
60
|
+
/**
|
|
61
|
+
* Insert a new node (or data) before a node.
|
|
62
|
+
* @param {IsElement} node
|
|
63
|
+
* @param {IsElement|*} newNode
|
|
64
|
+
* @returns {IsArrayable}
|
|
65
|
+
*/
|
|
66
|
+
insertBefore(node: T, newNode: T | any): IsArrayable<any>;
|
|
67
|
+
/**
|
|
68
|
+
* Add a node (or data) after the given (or last) node in the list.
|
|
69
|
+
* @param {IsElement|*} node
|
|
70
|
+
* @param {IsElement} after
|
|
71
|
+
* @returns {IsArrayable}
|
|
72
|
+
*/
|
|
73
|
+
append(node: T | any, after?: T): IsArrayable<any>;
|
|
74
|
+
/**
|
|
75
|
+
* Add a node (or data) before the given (or first) node in the list.
|
|
76
|
+
* @param {IsElement|*} node
|
|
77
|
+
* @param {IsElement} before
|
|
78
|
+
* @returns {IsArrayable}
|
|
79
|
+
*/
|
|
80
|
+
prepend(node: T | any, before?: T): IsArrayable<any>;
|
|
81
|
+
/**
|
|
82
|
+
* Remove an element from this arrayable.
|
|
83
|
+
* @param {IsElement} node
|
|
84
|
+
* @return {IsElement}
|
|
85
|
+
*/
|
|
86
|
+
remove(node: T): T;
|
|
87
|
+
/**
|
|
88
|
+
* Retrieve an element item from this list by numeric index, otherwise return null.
|
|
89
|
+
* @param {number} index
|
|
90
|
+
* @return {IsElement|null}
|
|
91
|
+
*/
|
|
92
|
+
item(index: number): T | null;
|
|
93
|
+
/**
|
|
94
|
+
* Be able to run forEach on this Arrayable to iterate over the elements.
|
|
95
|
+
* @param {forEachCallback} callback
|
|
96
|
+
* @param {IsArrayable} thisArg
|
|
97
|
+
* @returns {IsArrayable}
|
|
98
|
+
*/
|
|
99
|
+
forEach(callback: forEachCallback, thisArg?: IsArrayable<any>): IsArrayable<any>;
|
|
100
|
+
/**
|
|
101
|
+
* Be able to iterate over this class.
|
|
102
|
+
* @returns {Iterator}
|
|
103
|
+
*/
|
|
104
|
+
[Symbol.iterator](): Iterator<T>;
|
|
105
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', {
|
|
4
|
-
value: true
|
|
5
|
-
})
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', {
|
|
4
|
+
value: true
|
|
5
|
+
})
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { IsLinker } from './IsLinker';
|
|
2
|
-
/**
|
|
3
|
-
* Define the common attributes of a DoubleLinker used in a linking structure chained with 'next' and sometimes 'prev'.
|
|
4
|
-
*/
|
|
5
|
-
export interface IsDoubleLinker extends IsLinker {
|
|
6
|
-
/**
|
|
7
|
-
* @property {IsDoubleLinker} [next=null]
|
|
8
|
-
*/
|
|
9
|
-
next: IsDoubleLinker;
|
|
10
|
-
/**
|
|
11
|
-
* @property {IsDoubleLinker} [prev=null]
|
|
12
|
-
*/
|
|
13
|
-
prev: IsDoubleLinker;
|
|
14
|
-
}
|
|
1
|
+
import { IsLinker } from './IsLinker';
|
|
2
|
+
/**
|
|
3
|
+
* Define the common attributes of a DoubleLinker used in a linking structure chained with 'next' and sometimes 'prev'.
|
|
4
|
+
*/
|
|
5
|
+
export interface IsDoubleLinker extends IsLinker {
|
|
6
|
+
/**
|
|
7
|
+
* @property {IsDoubleLinker} [next=null]
|
|
8
|
+
*/
|
|
9
|
+
next: IsDoubleLinker;
|
|
10
|
+
/**
|
|
11
|
+
* @property {IsDoubleLinker} [prev=null]
|
|
12
|
+
*/
|
|
13
|
+
prev: IsDoubleLinker;
|
|
14
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', {
|
|
4
|
-
value: true
|
|
5
|
-
})
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', {
|
|
4
|
+
value: true
|
|
5
|
+
})
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Define the common attributes of an Element in a list.
|
|
3
|
-
*/
|
|
4
|
-
export interface IsElement {
|
|
5
|
-
/**
|
|
6
|
-
* Obnoxious typescript won't let me use typeof this class
|
|
7
|
-
* @property {IsElement} classType
|
|
8
|
-
*/
|
|
9
|
-
classType: any;
|
|
10
|
-
/**
|
|
11
|
-
* @property {*} data
|
|
12
|
-
*/
|
|
13
|
-
data: any;
|
|
14
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Define the common attributes of an Element in a list.
|
|
3
|
+
*/
|
|
4
|
+
export interface IsElement {
|
|
5
|
+
/**
|
|
6
|
+
* Obnoxious typescript won't let me use typeof this class
|
|
7
|
+
* @property {IsElement} classType
|
|
8
|
+
*/
|
|
9
|
+
classType: any;
|
|
10
|
+
/**
|
|
11
|
+
* @property {*} data
|
|
12
|
+
*/
|
|
13
|
+
data: any;
|
|
14
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', {
|
|
4
|
-
value: true
|
|
5
|
-
})
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', {
|
|
4
|
+
value: true
|
|
5
|
+
})
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { IsElement } from './IsElement';
|
|
2
|
-
/**
|
|
3
|
-
* Define the common attributes of a Linker used in a linking structure chained with 'next' (and sometimes 'prev').
|
|
4
|
-
*/
|
|
5
|
-
export interface IsLinker extends IsElement {
|
|
6
|
-
/**
|
|
7
|
-
* @property {IsLinker} [next=null]
|
|
8
|
-
*/
|
|
9
|
-
next: IsLinker;
|
|
10
|
-
}
|
|
1
|
+
import { IsElement } from './IsElement';
|
|
2
|
+
/**
|
|
3
|
+
* Define the common attributes of a Linker used in a linking structure chained with 'next' (and sometimes 'prev').
|
|
4
|
+
*/
|
|
5
|
+
export interface IsLinker extends IsElement {
|
|
6
|
+
/**
|
|
7
|
+
* @property {IsLinker} [next=null]
|
|
8
|
+
*/
|
|
9
|
+
next: IsLinker;
|
|
10
|
+
}
|
package/dist/recipes/IsLinker.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', {
|
|
4
|
-
value: true
|
|
5
|
-
})
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', {
|
|
4
|
+
value: true
|
|
5
|
+
})
|
package/dist/recipes/IsTree.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { IsTreeNode } from './IsTreeNode';
|
|
2
|
-
import { IsArrayable } from './IsArrayable';
|
|
3
|
-
/**
|
|
4
|
-
* Arrayable represents a collection stored as Elements.
|
|
5
|
-
*/
|
|
6
|
-
export interface IsTree extends IsArrayable<IsTreeNode> {
|
|
7
|
-
/**
|
|
8
|
-
* @property {IsTreeNode} rootParent
|
|
9
|
-
*/
|
|
10
|
-
rootParent: IsTreeNode;
|
|
11
|
-
}
|
|
1
|
+
import { IsTreeNode } from './IsTreeNode';
|
|
2
|
+
import { IsArrayable } from './IsArrayable';
|
|
3
|
+
/**
|
|
4
|
+
* Arrayable represents a collection stored as Elements.
|
|
5
|
+
*/
|
|
6
|
+
export interface IsTree extends IsArrayable<IsTreeNode> {
|
|
7
|
+
/**
|
|
8
|
+
* @property {IsTreeNode} rootParent
|
|
9
|
+
*/
|
|
10
|
+
rootParent: IsTreeNode;
|
|
11
|
+
}
|
package/dist/recipes/IsTree.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', {
|
|
4
|
-
value: true
|
|
5
|
-
})
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', {
|
|
4
|
+
value: true
|
|
5
|
+
})
|