collect-your-stuff 1.1.9 → 1.2.0

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.
Files changed (76) hide show
  1. package/README.md +1265 -232
  2. package/browser/collect-your-stuff.js +131 -149
  3. package/browser/collect-your-stuff.min.js +1 -1
  4. package/dist/collections/arrayable/ArrayElement.d.ts +2 -3
  5. package/dist/collections/arrayable/ArrayElement.js +2 -2
  6. package/dist/collections/arrayable/ArrayElement.min.js +1 -1
  7. package/dist/collections/arrayable/Arrayable.d.ts +4 -5
  8. package/dist/collections/arrayable/Arrayable.js +7 -8
  9. package/dist/collections/arrayable/Arrayable.min.js +1 -1
  10. package/dist/collections/doubly-linked-list/DoubleLinker.d.ts +2 -3
  11. package/dist/collections/doubly-linked-list/DoubleLinker.js +4 -5
  12. package/dist/collections/doubly-linked-list/DoubleLinker.min.js +1 -1
  13. package/dist/collections/doubly-linked-list/DoublyLinkedList.d.ts +4 -5
  14. package/dist/collections/doubly-linked-list/DoublyLinkedList.js +11 -12
  15. package/dist/collections/doubly-linked-list/DoublyLinkedList.min.js +1 -1
  16. package/dist/collections/linked-list/LinkedList.d.ts +4 -5
  17. package/dist/collections/linked-list/LinkedList.js +9 -10
  18. package/dist/collections/linked-list/LinkedList.min.js +1 -1
  19. package/dist/collections/linked-list/Linker.d.ts +2 -3
  20. package/dist/collections/linked-list/Linker.js +4 -5
  21. package/dist/collections/linked-list/Linker.min.js +1 -1
  22. package/dist/collections/linked-tree-list/LinkedTreeList.d.ts +4 -5
  23. package/dist/collections/linked-tree-list/LinkedTreeList.js +15 -16
  24. package/dist/collections/linked-tree-list/LinkedTreeList.min.js +1 -1
  25. package/dist/collections/linked-tree-list/TreeLinker.d.ts +4 -5
  26. package/dist/collections/linked-tree-list/TreeLinker.js +8 -9
  27. package/dist/collections/linked-tree-list/TreeLinker.min.js +1 -1
  28. package/dist/collections/queue/Queue.d.ts +4 -5
  29. package/dist/collections/queue/Queue.js +8 -9
  30. package/dist/collections/queue/Queue.min.js +1 -1
  31. package/dist/collections/queue/Queueable.d.ts +2 -3
  32. package/dist/collections/queue/Queueable.js +4 -5
  33. package/dist/collections/queue/Queueable.min.js +1 -1
  34. package/dist/collections/stack/Stack.d.ts +4 -5
  35. package/dist/collections/stack/Stack.js +8 -9
  36. package/dist/collections/stack/Stack.min.js +1 -1
  37. package/dist/collections/stack/Stackable.d.ts +2 -3
  38. package/dist/collections/stack/Stackable.js +4 -5
  39. package/dist/collections/stack/Stackable.min.js +1 -1
  40. package/dist/main.d.ts +10 -10
  41. package/dist/main.js +16 -17
  42. package/dist/main.min.js +1 -1
  43. package/dist/recipes/ArrayIterator.d.ts +2 -3
  44. package/dist/recipes/ArrayIterator.js +2 -2
  45. package/dist/recipes/ArrayIterator.min.js +1 -1
  46. package/dist/recipes/DoubleLinkerIterator.d.ts +2 -3
  47. package/dist/recipes/DoubleLinkerIterator.js +2 -2
  48. package/dist/recipes/DoubleLinkerIterator.min.js +1 -1
  49. package/dist/recipes/IsArrayable.d.ts +2 -2
  50. package/dist/recipes/IsDoubleLinker.d.ts +2 -2
  51. package/dist/recipes/IsElement.d.ts +1 -1
  52. package/dist/recipes/IsLinker.d.ts +2 -2
  53. package/dist/recipes/IsTree.d.ts +3 -3
  54. package/dist/recipes/IsTreeNode.d.ts +4 -4
  55. package/dist/recipes/LinkerIterator.d.ts +2 -3
  56. package/dist/recipes/LinkerIterator.js +2 -2
  57. package/dist/recipes/LinkerIterator.min.js +1 -1
  58. package/dist/recipes/Runnable.d.ts +1 -1
  59. package/dist/recipes/Runnable.js +2 -2
  60. package/dist/recipes/Runnable.min.js +1 -1
  61. package/dist/recipes/TreeLinkerIterator.d.ts +2 -3
  62. package/dist/recipes/TreeLinkerIterator.js +4 -5
  63. package/dist/recipes/TreeLinkerIterator.min.js +1 -1
  64. package/dist/recipes/recipes.d.ts +3 -4
  65. package/dist/recipes/recipes.js +6 -8
  66. package/dist/recipes/recipes.min.js +1 -1
  67. package/dist/services/parseTree.d.ts +2 -3
  68. package/dist/services/parseTree.js +4 -5
  69. package/dist/services/parseTree.min.js +1 -1
  70. package/dist/services/parseTreeNext.d.ts +2 -3
  71. package/dist/services/parseTreeNext.js +2 -2
  72. package/dist/services/parseTreeNext.min.js +1 -1
  73. package/dist/services/services.d.ts +3 -4
  74. package/dist/services/services.js +6 -8
  75. package/dist/services/services.min.js +1 -1
  76. package/package.json +1 -1
@@ -4,11 +4,11 @@
4
4
  * @version 1.1.0
5
5
  * @memberOf module:collect-your-stuff
6
6
  */
7
- import IsElement from '../../recipes/IsElement';
7
+ import { IsElement } from '../../recipes/IsElement';
8
8
  /**
9
9
  * Element represents a node in an Arrayable.
10
10
  */
11
- declare class ArrayElement implements IsElement {
11
+ export declare class ArrayElement implements IsElement {
12
12
  readonly classType: typeof ArrayElement;
13
13
  data: any;
14
14
  /**
@@ -34,4 +34,3 @@ declare class ArrayElement implements IsElement {
34
34
  tail: ArrayElement;
35
35
  };
36
36
  }
37
- export default ArrayElement;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', {
4
4
  value: true
5
5
  })
6
- exports.default = void 0
6
+ exports.ArrayElement = void 0
7
7
  require('core-js/modules/esnext.async-iterator.reduce.js')
8
8
  require('core-js/modules/esnext.iterator.constructor.js')
9
9
  require('core-js/modules/esnext.iterator.reduce.js')
@@ -28,6 +28,7 @@ class ArrayElement {
28
28
  * @param {IsElement} [classType=ArrayElement] Provide the type of IsElement to use.
29
29
  * @return {ArrayElement}
30
30
  */
31
+ exports.ArrayElement = ArrayElement
31
32
  ArrayElement.make = function (element) {
32
33
  const classType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ArrayElement
33
34
  if (typeof element !== 'object') {
@@ -68,4 +69,3 @@ ArrayElement.fromArray = function () {
68
69
  tail: null
69
70
  })
70
71
  }
71
- var _default = exports.default = ArrayElement
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/modules/esnext.async-iterator.reduce.js"),require("core-js/modules/esnext.iterator.constructor.js"),require("core-js/modules/esnext.iterator.reduce.js");class ArrayElement{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.classType=ArrayElement,this.data=null,this.data=e}}ArrayElement.make=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ArrayElement;return"object"!=typeof e?new t(e):e.classType?e:new t(e)},ArrayElement.fromArray=function(){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ArrayElement;return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).reduce(((t,r)=>{const l=e.make(r,e);return t.head.length?(t.head.push(l),t.tail=l,t):{head:[l],tail:l}}),{head:[],tail:null})};var _default=exports.default=ArrayElement;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ArrayElement=void 0,require("core-js/modules/esnext.async-iterator.reduce.js"),require("core-js/modules/esnext.iterator.constructor.js"),require("core-js/modules/esnext.iterator.reduce.js");class ArrayElement{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;this.classType=ArrayElement,this.data=null,this.data=e}}exports.ArrayElement=ArrayElement,ArrayElement.make=function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ArrayElement;return"object"!=typeof e?new r(e):e.classType?e:new r(e)},ArrayElement.fromArray=function(){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ArrayElement;return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).reduce(((r,t)=>{const l=e.make(t,e);return r.head.length?(r.head.push(l),r.tail=l,r):{head:[l],tail:l}}),{head:[],tail:null})};
@@ -4,13 +4,13 @@
4
4
  * @version 1.1.0
5
5
  * @memberOf module:collect-your-stuff
6
6
  */
7
- import ArrayElement from './ArrayElement';
8
- import IsArrayable, { forEachCallback } from '../../recipes/IsArrayable';
9
- import IsElement from '../../recipes/IsElement';
7
+ import { ArrayElement } from './ArrayElement';
8
+ import { forEachCallback, IsArrayable } from '../../recipes/IsArrayable';
9
+ import { IsElement } from '../../recipes/IsElement';
10
10
  /**
11
11
  * Arrayable represents a collection stored as an array.
12
12
  */
13
- declare class Arrayable implements IsArrayable<ArrayElement>, Iterable<ArrayElement> {
13
+ export declare class Arrayable implements IsArrayable<ArrayElement>, Iterable<ArrayElement> {
14
14
  readonly classType: typeof Arrayable;
15
15
  innerList: Array<ArrayElement>;
16
16
  initialized: boolean;
@@ -106,4 +106,3 @@ declare class Arrayable implements IsArrayable<ArrayElement>, Iterable<ArrayElem
106
106
  */
107
107
  static fromArray: (values?: Array<any>, elementClass?: typeof ArrayElement, classType?: any) => IsArrayable<IsElement>;
108
108
  }
109
- export default Arrayable;
@@ -3,11 +3,10 @@
3
3
  Object.defineProperty(exports, '__esModule', {
4
4
  value: true
5
5
  })
6
- exports.default = void 0
6
+ exports.Arrayable = void 0
7
7
  require('core-js/modules/web.dom-collections.iterator.js')
8
- var _ArrayElement = _interopRequireDefault(require('./ArrayElement'))
9
- var _ArrayIterator = _interopRequireDefault(require('../../recipes/ArrayIterator'))
10
- function _interopRequireDefault (obj) { return obj && obj.__esModule ? obj : { default: obj } }
8
+ var _ArrayElement = require('./ArrayElement')
9
+ var _ArrayIterator = require('../../recipes/ArrayIterator')
11
10
  /**
12
11
  * @file arrayable list.
13
12
  * @author Joshua Heagle <joshuaheagle@gmail.com>
@@ -23,7 +22,7 @@ class Arrayable {
23
22
  * Create the new Arrayable instance, configure the Arrayable class.
24
23
  */
25
24
  constructor () {
26
- const elementClass = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _ArrayElement.default
25
+ const elementClass = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _ArrayElement.ArrayElement
27
26
  this.classType = Arrayable
28
27
  this.innerList = []
29
28
  this.initialized = false
@@ -177,7 +176,7 @@ class Arrayable {
177
176
  */
178
177
  [Symbol.iterator] () {
179
178
  const index = 0
180
- return new _ArrayIterator.default(this.innerList, index)
179
+ return new _ArrayIterator.ArrayIterator(this.innerList, index)
181
180
  }
182
181
  }
183
182
  /**
@@ -187,11 +186,11 @@ class Arrayable {
187
186
  * @param {IsArrayable<ArrayElement>} [classType=Arrayable] Provide the type of IsArrayable to use.
188
187
  * @returns {Arrayable}
189
188
  */
189
+ exports.Arrayable = Arrayable
190
190
  Arrayable.fromArray = function () {
191
191
  const values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []
192
- const elementClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _ArrayElement.default
192
+ const elementClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _ArrayElement.ArrayElement
193
193
  const classType = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Arrayable
194
194
  const list = new classType(elementClass)
195
195
  return list.initialize(elementClass.fromArray(values).head)
196
196
  }
197
- var _default = exports.default = Arrayable
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/modules/web.dom-collections.iterator.js");var _ArrayElement=_interopRequireDefault(require("./ArrayElement")),_ArrayIterator=_interopRequireDefault(require("../../recipes/ArrayIterator"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}class Arrayable{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_ArrayElement.default;this.classType=Arrayable,this.innerList=[],this.initialized=!1,this.elementClass=e}initialize(e){return this.initialized?(console.warn("Attempt to initialize non-empty list."),this):(this.initialized=!0,this.innerList=e,this)}get list(){return this.innerList}get first(){return this.innerList[0]}get last(){return this.innerList[this.length-1]}get length(){return this.innerList.length}insertAfter(e,t){const i=this.innerList.indexOf(e);return this.innerList.splice(i+1,0,this.elementClass.make(t)),this}insertBefore(e,t){const i=this.innerList.indexOf(e);return this.innerList.splice(i,0,this.elementClass.make(t)),this}append(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.last;return this.insertAfter(t,e)}prepend(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.first;return this.insertBefore(t,e)}remove(e){const t=this.innerList.indexOf(e);return this.innerList.splice(t,1),e}item(e){if(e>=this.length)return null;if(e>=0)return this.innerList[e];const t=this.length+e;return t<0?null:this.innerList[t]}forEach(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this;for(let i=0;i<t.length;++i)e(t.item(i),i,t);return t}[Symbol.iterator](){return new _ArrayIterator.default(this.innerList,0)}}Arrayable.fromArray=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_ArrayElement.default;return new(arguments.length>2&&void 0!==arguments[2]?arguments[2]:Arrayable)(t).initialize(t.fromArray(e).head)};var _default=exports.default=Arrayable;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Arrayable=void 0,require("core-js/modules/web.dom-collections.iterator.js");var _ArrayElement=require("./ArrayElement"),_ArrayIterator=require("../../recipes/ArrayIterator");class Arrayable{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_ArrayElement.ArrayElement;this.classType=Arrayable,this.innerList=[],this.initialized=!1,this.elementClass=e}initialize(e){return this.initialized?(console.warn("Attempt to initialize non-empty list."),this):(this.initialized=!0,this.innerList=e,this)}get list(){return this.innerList}get first(){return this.innerList[0]}get last(){return this.innerList[this.length-1]}get length(){return this.innerList.length}insertAfter(e,t){const r=this.innerList.indexOf(e);return this.innerList.splice(r+1,0,this.elementClass.make(t)),this}insertBefore(e,t){const r=this.innerList.indexOf(e);return this.innerList.splice(r,0,this.elementClass.make(t)),this}append(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.last;return this.insertAfter(t,e)}prepend(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.first;return this.insertBefore(t,e)}remove(e){const t=this.innerList.indexOf(e);return this.innerList.splice(t,1),e}item(e){if(e>=this.length)return null;if(e>=0)return this.innerList[e];const t=this.length+e;return t<0?null:this.innerList[t]}forEach(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this;for(let r=0;r<t.length;++r)e(t.item(r),r,t);return t}[Symbol.iterator](){return new _ArrayIterator.ArrayIterator(this.innerList,0)}}exports.Arrayable=Arrayable,Arrayable.fromArray=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_ArrayElement.ArrayElement;return new(arguments.length>2&&void 0!==arguments[2]?arguments[2]:Arrayable)(t).initialize(t.fromArray(e).head)};
@@ -4,12 +4,12 @@
4
4
  * @version 1.1.0
5
5
  * @memberOf module:collect-your-stuff
6
6
  */
7
- import IsDoubleLinker from '../../recipes/IsDoubleLinker';
7
+ import { IsDoubleLinker } from '../../recipes/IsDoubleLinker';
8
8
  /**
9
9
  * DoubleLinker represents a node in a DoublyLinkedList which is chained by next and prev.
10
10
  * @extends Linker
11
11
  */
12
- declare class DoubleLinker implements IsDoubleLinker {
12
+ export declare class DoubleLinker implements IsDoubleLinker {
13
13
  readonly classType: typeof DoubleLinker;
14
14
  data: any;
15
15
  next: DoubleLinker | null;
@@ -44,4 +44,3 @@ declare class DoubleLinker implements IsDoubleLinker {
44
44
  tail: DoubleLinker | any;
45
45
  };
46
46
  }
47
- export default DoubleLinker;
@@ -3,12 +3,11 @@
3
3
  Object.defineProperty(exports, '__esModule', {
4
4
  value: true
5
5
  })
6
- exports.default = void 0
6
+ exports.DoubleLinker = void 0
7
7
  require('core-js/modules/esnext.async-iterator.reduce.js')
8
8
  require('core-js/modules/esnext.iterator.constructor.js')
9
9
  require('core-js/modules/esnext.iterator.reduce.js')
10
- var _Linker = _interopRequireDefault(require('../linked-list/Linker'))
11
- function _interopRequireDefault (obj) { return obj && obj.__esModule ? obj : { default: obj } }
10
+ var _Linker = require('../linked-list/Linker')
12
11
  /**
13
12
  * DoubleLinker represents a node in a DoublyLinkedList which is chained by next and prev.
14
13
  * @extends Linker
@@ -42,9 +41,10 @@ class DoubleLinker {
42
41
  * @param {IsDoubleLinker} [classType=DoubleLinker] Provide the type of IsDoubleLinker to use.
43
42
  * @return {DoubleLinker}
44
43
  */
44
+ exports.DoubleLinker = DoubleLinker
45
45
  DoubleLinker.make = function (linker) {
46
46
  const classType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DoubleLinker
47
- return _Linker.default.make(linker, classType)
47
+ return _Linker.Linker.make(linker, classType)
48
48
  }
49
49
  /**
50
50
  * Convert an array into DoubleLinker instances, return the head and tail DoubleLinkers.
@@ -74,4 +74,3 @@ DoubleLinker.fromArray = function () {
74
74
  tail: null
75
75
  })
76
76
  }
77
- var _default = exports.default = DoubleLinker
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/modules/esnext.async-iterator.reduce.js"),require("core-js/modules/esnext.iterator.constructor.js"),require("core-js/modules/esnext.iterator.reduce.js");var _Linker=_interopRequireDefault(require("../linked-list/Linker"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}class DoubleLinker{constructor(){let{data:e=null,next:t=null,prev:r=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.classType=DoubleLinker,this.data=null,this.next=null,this.prev=null,this.data=e,this.next=t,this.prev=r}}DoubleLinker.make=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:DoubleLinker;return _Linker.default.make(e,t)},DoubleLinker.fromArray=function(){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:DoubleLinker;return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).reduce(((t,r)=>{const l=e.make(r,e);return null===t.head?{head:l,tail:l}:(l.prev=t.tail,t.tail.next=l,t.tail=l,t)}),{head:null,tail:null})};var _default=exports.default=DoubleLinker;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.DoubleLinker=void 0,require("core-js/modules/esnext.async-iterator.reduce.js"),require("core-js/modules/esnext.iterator.constructor.js"),require("core-js/modules/esnext.iterator.reduce.js");var _Linker=require("../linked-list/Linker");class DoubleLinker{constructor(){let{data:e=null,next:r=null,prev:t=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.classType=DoubleLinker,this.data=null,this.next=null,this.prev=null,this.data=e,this.next=r,this.prev=t}}exports.DoubleLinker=DoubleLinker,DoubleLinker.make=function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:DoubleLinker;return _Linker.Linker.make(e,r)},DoubleLinker.fromArray=function(){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:DoubleLinker;return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).reduce(((r,t)=>{const l=e.make(t,e);return null===r.head?{head:l,tail:l}:(l.prev=r.tail,r.tail.next=l,r.tail=l,r)}),{head:null,tail:null})};
@@ -4,14 +4,14 @@
4
4
  * @version 1.1.0
5
5
  * @memberOf module:collect-your-stuff
6
6
  */
7
- import DoubleLinker from './DoubleLinker';
8
- import IsArrayable, { forEachCallback } from '../../recipes/IsArrayable';
9
- import IsDoubleLinker from '../../recipes/IsDoubleLinker';
7
+ import { DoubleLinker } from './DoubleLinker';
8
+ import { forEachCallback, IsArrayable } from '../../recipes/IsArrayable';
9
+ import { IsDoubleLinker } from '../../recipes/IsDoubleLinker';
10
10
  /**
11
11
  * DoublyLinkedList represents a collection stored as a LinkedList with prev and next references.
12
12
  * @extends LinkedList
13
13
  */
14
- declare class DoublyLinkedList implements IsArrayable<DoubleLinker>, Iterable<DoubleLinker> {
14
+ export declare class DoublyLinkedList implements IsArrayable<DoubleLinker>, Iterable<DoubleLinker> {
15
15
  readonly classType: typeof DoublyLinkedList;
16
16
  innerList: DoubleLinker;
17
17
  initialized: boolean;
@@ -111,4 +111,3 @@ declare class DoublyLinkedList implements IsArrayable<DoubleLinker>, Iterable<Do
111
111
  */
112
112
  static fromArray: (values?: Array<any>, linkerClass?: typeof DoubleLinker, classType?: any) => IsArrayable<IsDoubleLinker> | any;
113
113
  }
114
- export default DoublyLinkedList;
@@ -3,12 +3,11 @@
3
3
  Object.defineProperty(exports, '__esModule', {
4
4
  value: true
5
5
  })
6
- exports.default = void 0
6
+ exports.DoublyLinkedList = void 0
7
7
  require('core-js/modules/web.dom-collections.iterator.js')
8
- var _DoubleLinker = _interopRequireDefault(require('./DoubleLinker'))
9
- var _DoubleLinkerIterator = _interopRequireDefault(require('../../recipes/DoubleLinkerIterator'))
10
- var _LinkedList = _interopRequireDefault(require('../linked-list/LinkedList'))
11
- function _interopRequireDefault (obj) { return obj && obj.__esModule ? obj : { default: obj } }
8
+ var _DoubleLinker = require('./DoubleLinker')
9
+ var _DoubleLinkerIterator = require('../../recipes/DoubleLinkerIterator')
10
+ var _LinkedList = require('../linked-list/LinkedList')
12
11
  /**
13
12
  * @file doubly linked list.
14
13
  * @author Joshua Heagle <joshuaheagle@gmail.com>
@@ -25,7 +24,7 @@ class DoublyLinkedList {
25
24
  * Create the new DoublyLinkedList instance.
26
25
  */
27
26
  constructor () {
28
- const linkerClass = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _DoubleLinker.default
27
+ const linkerClass = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _DoubleLinker.DoubleLinker
29
28
  this.classType = DoublyLinkedList
30
29
  this.innerList = null
31
30
  this.initialized = false
@@ -38,7 +37,7 @@ class DoublyLinkedList {
38
37
  * @return {DoublyLinkedList}
39
38
  */
40
39
  initialize (initialList) {
41
- return _LinkedList.default.prototype.initialize.call(this, initialList)
40
+ return _LinkedList.LinkedList.prototype.initialize.call(this, initialList)
42
41
  }
43
42
 
44
43
  /**
@@ -248,7 +247,7 @@ class DoublyLinkedList {
248
247
  */
249
248
  forEach (callback) {
250
249
  const thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this
251
- return _LinkedList.default.prototype.forEach.call(this, callback, thisArg)
250
+ return _LinkedList.LinkedList.prototype.forEach.call(this, callback, thisArg)
252
251
  }
253
252
 
254
253
  /**
@@ -257,7 +256,7 @@ class DoublyLinkedList {
257
256
  */
258
257
  [Symbol.iterator] () {
259
258
  const current = this.first
260
- return new _DoubleLinkerIterator.default(current)
259
+ return new _DoubleLinkerIterator.DoubleLinkerIterator(current)
261
260
  }
262
261
  }
263
262
  /**
@@ -267,10 +266,10 @@ class DoublyLinkedList {
267
266
  * @param {IsArrayable<IsDoubleLinker>} [classType=LinkedList] Provide the type of IsArrayable to use.
268
267
  * @returns {DoublyLinkedList}
269
268
  */
269
+ exports.DoublyLinkedList = DoublyLinkedList
270
270
  DoublyLinkedList.fromArray = function () {
271
271
  const values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []
272
- const linkerClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _DoubleLinker.default
272
+ const linkerClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _DoubleLinker.DoubleLinker
273
273
  const classType = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DoublyLinkedList
274
- return _LinkedList.default.fromArray(values, linkerClass, classType)
274
+ return _LinkedList.LinkedList.fromArray(values, linkerClass, classType)
275
275
  }
276
- var _default = exports.default = DoublyLinkedList
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/modules/web.dom-collections.iterator.js");var _DoubleLinker=_interopRequireDefault(require("./DoubleLinker")),_DoubleLinkerIterator=_interopRequireDefault(require("../../recipes/DoubleLinkerIterator")),_LinkedList=_interopRequireDefault(require("../linked-list/LinkedList"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}class DoublyLinkedList{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_DoubleLinker.default;this.classType=DoublyLinkedList,this.innerList=null,this.initialized=!1,this.linkerClass=e}initialize(e){return _LinkedList.default.prototype.initialize.call(this,e)}get list(){return this.innerList}get first(){return this.reset()}get last(){let e=this.innerList;if(null===e)return null;let t=e.next;for(;null!==t;)e=t,t=e.next;return e}get length(){let e=this.first,t=0;for(;null!==e;)++t,e=e.next;return t}insertAfter(e,t){return t=this.linkerClass.make(t),null!==e&&(t.next=e.next,t.prev=e,e.next=t),t.next&&(t.next.prev=t),this.length||(this.innerList=t),this.reset(),this}insertBefore(e,t){return t=this.linkerClass.make(t),null!==e&&(t.prev=e.prev,t.next=e,e.prev=t),t.prev&&(t.prev.next=t),this.length||(this.innerList=t),this.reset(),this}append(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.last;return this.insertAfter(t,e)}prepend(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.first;return this.insertBefore(t,e)}remove(e){return null===e?null:(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),this.reset(),e)}reset(){let e=this.innerList;if(null===e)return null;let t=e.next;for(;null!==t;)e=t,t=e.next;let r=e.prev;for(;null!==r;)e=r,r=e.prev;return this.innerList=e,e}item(e){if(e>=0){let t=this.first,r=-1;for(;++r<e&&null!==t;)t=t.next;return r===e?t:null}let t=this.last,r=this.length;const i=this.length+e;if(i<0)return null;for(;--r>i&&null!==t;)t=t.prev;return r===i?t:null}forEach(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this;return _LinkedList.default.prototype.forEach.call(this,e,t)}[Symbol.iterator](){let e=this.first;return new _DoubleLinkerIterator.default(e)}}DoublyLinkedList.fromArray=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_DoubleLinker.default,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:DoublyLinkedList;return _LinkedList.default.fromArray(e,t,r)};var _default=exports.default=DoublyLinkedList;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.DoublyLinkedList=void 0,require("core-js/modules/web.dom-collections.iterator.js");var _DoubleLinker=require("./DoubleLinker"),_DoubleLinkerIterator=require("../../recipes/DoubleLinkerIterator"),_LinkedList=require("../linked-list/LinkedList");class DoublyLinkedList{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_DoubleLinker.DoubleLinker;this.classType=DoublyLinkedList,this.innerList=null,this.initialized=!1,this.linkerClass=e}initialize(e){return _LinkedList.LinkedList.prototype.initialize.call(this,e)}get list(){return this.innerList}get first(){return this.reset()}get last(){let e=this.innerList;if(null===e)return null;let t=e.next;for(;null!==t;)e=t,t=e.next;return e}get length(){let e=this.first,t=0;for(;null!==e;)++t,e=e.next;return t}insertAfter(e,t){return t=this.linkerClass.make(t),null!==e&&(t.next=e.next,t.prev=e,e.next=t),t.next&&(t.next.prev=t),this.length||(this.innerList=t),this.reset(),this}insertBefore(e,t){return t=this.linkerClass.make(t),null!==e&&(t.prev=e.prev,t.next=e,e.prev=t),t.prev&&(t.prev.next=t),this.length||(this.innerList=t),this.reset(),this}append(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.last;return this.insertAfter(t,e)}prepend(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.first;return this.insertBefore(t,e)}remove(e){return null===e?null:(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),this.reset(),e)}reset(){let e=this.innerList;if(null===e)return null;let t=e.next;for(;null!==t;)e=t,t=e.next;let r=e.prev;for(;null!==r;)e=r,r=e.prev;return this.innerList=e,e}item(e){if(e>=0){let t=this.first,r=-1;for(;++r<e&&null!==t;)t=t.next;return r===e?t:null}let t=this.last,r=this.length;const i=this.length+e;if(i<0)return null;for(;--r>i&&null!==t;)t=t.prev;return r===i?t:null}forEach(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this;return _LinkedList.LinkedList.prototype.forEach.call(this,e,t)}[Symbol.iterator](){let e=this.first;return new _DoubleLinkerIterator.DoubleLinkerIterator(e)}}exports.DoublyLinkedList=DoublyLinkedList,DoublyLinkedList.fromArray=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_DoubleLinker.DoubleLinker,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:DoublyLinkedList;return _LinkedList.LinkedList.fromArray(e,t,r)};
@@ -4,14 +4,14 @@
4
4
  * @version 1.1.0
5
5
  * @memberOf module:collect-your-stuff
6
6
  */
7
- import IsArrayable, { forEachCallback } from '../../recipes/IsArrayable';
8
- import IsLinker from '../../recipes/IsLinker';
9
- import Linker from './Linker';
7
+ import { forEachCallback, IsArrayable } from '../../recipes/IsArrayable';
8
+ import { IsLinker } from '../../recipes/IsLinker';
9
+ import { Linker } from './Linker';
10
10
  /**
11
11
  * LinkedList represents a collection stored as a LinkedList with next references.
12
12
  * @extends Arrayable
13
13
  */
14
- declare class LinkedList implements IsArrayable<Linker>, Iterable<Linker> {
14
+ export declare class LinkedList implements IsArrayable<Linker>, Iterable<Linker> {
15
15
  readonly classType: typeof LinkedList;
16
16
  innerList: Linker;
17
17
  initialized: boolean;
@@ -107,4 +107,3 @@ declare class LinkedList implements IsArrayable<Linker>, Iterable<Linker> {
107
107
  */
108
108
  static fromArray: (values?: Array<any>, linkerClass?: typeof Linker, classType?: any) => IsArrayable<IsLinker> | any;
109
109
  }
110
- export default LinkedList;
@@ -3,12 +3,11 @@
3
3
  Object.defineProperty(exports, '__esModule', {
4
4
  value: true
5
5
  })
6
- exports.default = void 0
6
+ exports.LinkedList = void 0
7
7
  require('core-js/modules/web.dom-collections.iterator.js')
8
- var _Linker = _interopRequireDefault(require('./Linker'))
9
- var _LinkerIterator = _interopRequireDefault(require('../../recipes/LinkerIterator'))
10
- var _Arrayable = _interopRequireDefault(require('../arrayable/Arrayable'))
11
- function _interopRequireDefault (obj) { return obj && obj.__esModule ? obj : { default: obj } }
8
+ var _Linker = require('./Linker')
9
+ var _LinkerIterator = require('../../recipes/LinkerIterator')
10
+ var _Arrayable = require('../arrayable/Arrayable')
12
11
  /**
13
12
  * LinkedList represents a collection stored as a LinkedList with next references.
14
13
  * @extends Arrayable
@@ -18,7 +17,7 @@ class LinkedList {
18
17
  * Create the new LinkedList instance.
19
18
  */
20
19
  constructor () {
21
- const linkerClass = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _Linker.default
20
+ const linkerClass = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _Linker.Linker
22
21
  this.classType = LinkedList
23
22
  this.innerList = null
24
23
  this.initialized = false
@@ -31,7 +30,7 @@ class LinkedList {
31
30
  * @return {LinkedList}
32
31
  */
33
32
  initialize (initialList) {
34
- return _Arrayable.default.prototype.initialize.call(this, initialList)
33
+ return _Arrayable.Arrayable.prototype.initialize.call(this, initialList)
35
34
  }
36
35
 
37
36
  /**
@@ -222,7 +221,7 @@ class LinkedList {
222
221
  * @returns {Iterator}
223
222
  */
224
223
  [Symbol.iterator] () {
225
- return new _LinkerIterator.default(this.first)
224
+ return new _LinkerIterator.LinkerIterator(this.first)
226
225
  }
227
226
  }
228
227
  /**
@@ -232,11 +231,11 @@ class LinkedList {
232
231
  * @param {IsArrayable<Linker>} [classType=LinkedList] Provide the type of IsArrayable to use.
233
232
  * @returns {LinkedList}
234
233
  */
234
+ exports.LinkedList = LinkedList
235
235
  LinkedList.fromArray = function () {
236
236
  const values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []
237
- const linkerClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _Linker.default
237
+ const linkerClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _Linker.Linker
238
238
  const classType = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : LinkedList
239
239
  const list = new classType(linkerClass)
240
240
  return list.initialize(linkerClass.fromArray(values).head)
241
241
  }
242
- var _default = exports.default = LinkedList
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/modules/web.dom-collections.iterator.js");var _Linker=_interopRequireDefault(require("./Linker")),_LinkerIterator=_interopRequireDefault(require("../../recipes/LinkerIterator")),_Arrayable=_interopRequireDefault(require("../arrayable/Arrayable"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}class LinkedList{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_Linker.default;this.classType=LinkedList,this.innerList=null,this.initialized=!1,this.linkerClass=e}initialize(e){return _Arrayable.default.prototype.initialize.call(this,e)}get list(){return this.innerList}get first(){return this.innerList}get last(){let e=this.innerList;if(null===e)return null;let t=e.next;for(;null!==t;)e=t,t=e.next;return e}get length(){let e=this.first,t=0;for(;null!==e;)++t,e=e.next;return t}insertAfter(e,t){return t=this.linkerClass.make(t),null!==e&&(t.next=e.next,e.next=t),this.length||(this.innerList=t),this}insertBefore(e,t){t=this.linkerClass.make(t);let r=null,i=this.first;for(;i!==e;)r=i,i=i.next;return t.next=e,r&&(r.next=t),e!==this.first&&null!==e||(this.innerList=t),this}append(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.last;return this.insertAfter(t,e)}prepend(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.first;return this.insertBefore(t,e)}remove(e){let t=null,r=this.first;for(;r!==e;)t=r,r=r.next;return t&&(t.next=e.next),e===this.first&&null!==e&&(this.innerList=e.next),e}item(e){if(e>=0){let t=this.first,r=-1;for(;++r<e&&null!==t;)t=t.next;return r===e?t:null}let t=this.first,r=0;const i=this.length+e;if(i<0)return null;for(;r<i&&null!==t;)t=t.next,++r;return r===i?t:null}forEach(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this,r=0,i=t.first;for(;null!==i;)e(i,r,t),i=i.next,++r;return t}[Symbol.iterator](){return new _LinkerIterator.default(this.first)}}LinkedList.fromArray=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_Linker.default;return new(arguments.length>2&&void 0!==arguments[2]?arguments[2]:LinkedList)(t).initialize(t.fromArray(e).head)};var _default=exports.default=LinkedList;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LinkedList=void 0,require("core-js/modules/web.dom-collections.iterator.js");var _Linker=require("./Linker"),_LinkerIterator=require("../../recipes/LinkerIterator"),_Arrayable=require("../arrayable/Arrayable");class LinkedList{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_Linker.Linker;this.classType=LinkedList,this.innerList=null,this.initialized=!1,this.linkerClass=t}initialize(t){return _Arrayable.Arrayable.prototype.initialize.call(this,t)}get list(){return this.innerList}get first(){return this.innerList}get last(){let t=this.innerList;if(null===t)return null;let e=t.next;for(;null!==e;)t=e,e=t.next;return t}get length(){let t=this.first,e=0;for(;null!==t;)++e,t=t.next;return e}insertAfter(t,e){return e=this.linkerClass.make(e),null!==t&&(e.next=t.next,t.next=e),this.length||(this.innerList=e),this}insertBefore(t,e){e=this.linkerClass.make(e);let r=null,i=this.first;for(;i!==t;)r=i,i=i.next;return e.next=t,r&&(r.next=e),t!==this.first&&null!==t||(this.innerList=e),this}append(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.last;return this.insertAfter(e,t)}prepend(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.first;return this.insertBefore(e,t)}remove(t){let e=null,r=this.first;for(;r!==t;)e=r,r=r.next;return e&&(e.next=t.next),t===this.first&&null!==t&&(this.innerList=t.next),t}item(t){if(t>=0){let e=this.first,r=-1;for(;++r<t&&null!==e;)e=e.next;return r===t?e:null}let e=this.first,r=0;const i=this.length+t;if(i<0)return null;for(;r<i&&null!==e;)e=e.next,++r;return r===i?e:null}forEach(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this,r=0,i=e.first;for(;null!==i;)t(i,r,e),i=i.next,++r;return e}[Symbol.iterator](){return new _LinkerIterator.LinkerIterator(this.first)}}exports.LinkedList=LinkedList,LinkedList.fromArray=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_Linker.Linker;return new(arguments.length>2&&void 0!==arguments[2]?arguments[2]:LinkedList)(e).initialize(e.fromArray(t).head)};
@@ -4,12 +4,12 @@
4
4
  * @version 1.1.0
5
5
  * @memberOf module:collect-your-stuff
6
6
  */
7
- import IsLinker from '../../recipes/IsLinker';
7
+ import { IsLinker } from '../../recipes/IsLinker';
8
8
  /**
9
9
  * Linker represents a node in a LinkedList.
10
10
  * @extends ArrayElement
11
11
  */
12
- declare class Linker implements IsLinker {
12
+ export declare class Linker implements IsLinker {
13
13
  readonly classType: typeof Linker;
14
14
  data: any;
15
15
  next: Linker | null;
@@ -41,4 +41,3 @@ declare class Linker implements IsLinker {
41
41
  tail: IsLinker;
42
42
  };
43
43
  }
44
- export default Linker;
@@ -3,12 +3,11 @@
3
3
  Object.defineProperty(exports, '__esModule', {
4
4
  value: true
5
5
  })
6
- exports.default = void 0
6
+ exports.Linker = void 0
7
7
  require('core-js/modules/esnext.async-iterator.reduce.js')
8
8
  require('core-js/modules/esnext.iterator.constructor.js')
9
9
  require('core-js/modules/esnext.iterator.reduce.js')
10
- var _ArrayElement = _interopRequireDefault(require('../arrayable/ArrayElement'))
11
- function _interopRequireDefault (obj) { return obj && obj.__esModule ? obj : { default: obj } }
10
+ var _ArrayElement = require('../arrayable/ArrayElement')
12
11
  /**
13
12
  * Linker represents a node in a LinkedList.
14
13
  * @extends ArrayElement
@@ -38,6 +37,7 @@ class Linker {
38
37
  * @param {IsLinker} [classType=Linker] Provide the type of IsLinker to use.
39
38
  * @return {Linker}
40
39
  */
40
+ exports.Linker = Linker
41
41
  Linker.make = function (linker) {
42
42
  const classType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Linker
43
43
  if (typeof linker !== 'object') {
@@ -56,7 +56,7 @@ Linker.make = function (linker) {
56
56
  }
57
57
  }
58
58
  // Create the new node as the configured #classType
59
- return _ArrayElement.default.make(linker, classType)
59
+ return _ArrayElement.ArrayElement.make(linker, classType)
60
60
  }
61
61
  /**
62
62
  * Convert an array into Linker instances, return the head and tail Linkers.
@@ -84,4 +84,3 @@ Linker.fromArray = function (values) {
84
84
  tail: null
85
85
  })
86
86
  }
87
- var _default = exports.default = Linker
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/modules/esnext.async-iterator.reduce.js"),require("core-js/modules/esnext.iterator.constructor.js"),require("core-js/modules/esnext.iterator.reduce.js");var _ArrayElement=_interopRequireDefault(require("../arrayable/ArrayElement"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}class Linker{constructor(){let{data:e=null,next:t=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.classType=Linker,this.data=null,this.next=null,this.data=e,this.next=t}}Linker.make=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Linker;return"object"!=typeof e?new t({data:e}):e.classType?e:(e.data||(e={data:e}),_ArrayElement.default.make(e,t))},Linker.fromArray=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Linker;return e.reduce(((e,r)=>{const a=t.make(r,t);return null===e.head?{head:a,tail:a}:(e.tail.next=a,e.tail=a,e)}),{head:null,tail:null})};var _default=exports.default=Linker;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Linker=void 0,require("core-js/modules/esnext.async-iterator.reduce.js"),require("core-js/modules/esnext.iterator.constructor.js"),require("core-js/modules/esnext.iterator.reduce.js");var _ArrayElement=require("../arrayable/ArrayElement");class Linker{constructor(){let{data:e=null,next:r=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.classType=Linker,this.data=null,this.next=null,this.data=e,this.next=r}}exports.Linker=Linker,Linker.make=function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Linker;return"object"!=typeof e?new r({data:e}):e.classType?e:(e.data||(e={data:e}),_ArrayElement.ArrayElement.make(e,r))},Linker.fromArray=function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Linker;return e.reduce(((e,t)=>{const n=r.make(t,r);return null===e.head?{head:n,tail:n}:(e.tail.next=n,e.tail=n,e)}),{head:null,tail:null})};
@@ -4,15 +4,15 @@
4
4
  * @version 1.1.0
5
5
  * @memberOf module:collect-your-stuff
6
6
  */
7
- import TreeLinker from './TreeLinker';
7
+ import { TreeLinker } from './TreeLinker';
8
8
  import { forEachCallback } from '../../recipes/IsArrayable';
9
- import IsTree from '../../recipes/IsTree';
10
- import IsTreeNode from '../../recipes/IsTreeNode';
9
+ import { IsTree } from '../../recipes/IsTree';
10
+ import { IsTreeNode } from '../../recipes/IsTreeNode';
11
11
  /**
12
12
  * LinkedTreeList represents a collection stored with a root and spreading in branching (tree) formation.
13
13
  * @extends DoublyLinkedList
14
14
  */
15
- declare class LinkedTreeList implements IsTree, Iterable<TreeLinker> {
15
+ export declare class LinkedTreeList implements IsTree, Iterable<TreeLinker> {
16
16
  readonly classType: typeof LinkedTreeList;
17
17
  innerList: IsTreeNode | any;
18
18
  initialized: boolean;
@@ -133,4 +133,3 @@ declare class LinkedTreeList implements IsTree, Iterable<TreeLinker> {
133
133
  */
134
134
  static fromArray: (values?: Array<any>, linkerClass?: typeof TreeLinker, classType?: any) => IsTree | any;
135
135
  }
136
- export default LinkedTreeList;
@@ -3,12 +3,11 @@
3
3
  Object.defineProperty(exports, '__esModule', {
4
4
  value: true
5
5
  })
6
- exports.default = void 0
6
+ exports.LinkedTreeList = void 0
7
7
  require('core-js/modules/web.dom-collections.iterator.js')
8
- var _TreeLinker = _interopRequireDefault(require('./TreeLinker'))
9
- var _TreeLinkerIterator = _interopRequireDefault(require('../../recipes/TreeLinkerIterator'))
10
- var _DoublyLinkedList = _interopRequireDefault(require('../doubly-linked-list/DoublyLinkedList'))
11
- function _interopRequireDefault (obj) { return obj && obj.__esModule ? obj : { default: obj } }
8
+ var _TreeLinker = require('./TreeLinker')
9
+ var _TreeLinkerIterator = require('../../recipes/TreeLinkerIterator')
10
+ var _DoublyLinkedList = require('../doubly-linked-list/DoublyLinkedList')
12
11
  /**
13
12
  * @file doubly linked tree list.
14
13
  * @author Joshua Heagle <joshuaheagle@gmail.com>
@@ -25,7 +24,7 @@ class LinkedTreeList {
25
24
  * Create the new LinkedTreeList instance, configure the list class.
26
25
  */
27
26
  constructor () {
28
- const linkerClass = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _TreeLinker.default
27
+ const linkerClass = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _TreeLinker.TreeLinker
29
28
  this.classType = LinkedTreeList
30
29
  this.innerList = null
31
30
  this.initialized = false
@@ -158,7 +157,7 @@ class LinkedTreeList {
158
157
  * @returns {LinkedTreeList}
159
158
  */
160
159
  insertAfter (node, newNode) {
161
- return _DoublyLinkedList.default.prototype.insertAfter.call(this, node, newNode)
160
+ return _DoublyLinkedList.DoublyLinkedList.prototype.insertAfter.call(this, node, newNode)
162
161
  }
163
162
 
164
163
  /**
@@ -168,7 +167,7 @@ class LinkedTreeList {
168
167
  * @returns {LinkedTreeList}
169
168
  */
170
169
  insertBefore (node, newNode) {
171
- return _DoublyLinkedList.default.prototype.insertBefore.call(this, node, newNode)
170
+ return _DoublyLinkedList.DoublyLinkedList.prototype.insertBefore.call(this, node, newNode)
172
171
  }
173
172
 
174
173
  /**
@@ -179,7 +178,7 @@ class LinkedTreeList {
179
178
  */
180
179
  append (node) {
181
180
  const after = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.last
182
- return _DoublyLinkedList.default.prototype.append.call(this, node, after)
181
+ return _DoublyLinkedList.DoublyLinkedList.prototype.append.call(this, node, after)
183
182
  }
184
183
 
185
184
  /**
@@ -190,7 +189,7 @@ class LinkedTreeList {
190
189
  */
191
190
  prepend (node) {
192
191
  const before = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.first
193
- return _DoublyLinkedList.default.prototype.prepend.call(this, node, before)
192
+ return _DoublyLinkedList.DoublyLinkedList.prototype.prepend.call(this, node, before)
194
193
  }
195
194
 
196
195
  /**
@@ -199,7 +198,7 @@ class LinkedTreeList {
199
198
  * @return {TreeLinker}
200
199
  */
201
200
  remove (node) {
202
- return _DoublyLinkedList.default.prototype.remove.call(this, node)
201
+ return _DoublyLinkedList.DoublyLinkedList.prototype.remove.call(this, node)
203
202
  }
204
203
 
205
204
  /**
@@ -207,7 +206,7 @@ class LinkedTreeList {
207
206
  * @return {TreeLinker}
208
207
  */
209
208
  reset () {
210
- return _DoublyLinkedList.default.prototype.reset.call(this)
209
+ return _DoublyLinkedList.DoublyLinkedList.prototype.reset.call(this)
211
210
  }
212
211
 
213
212
  /**
@@ -216,7 +215,7 @@ class LinkedTreeList {
216
215
  * @returns {TreeLinker|null}
217
216
  */
218
217
  item (index) {
219
- return _DoublyLinkedList.default.prototype.item.call(this, index)
218
+ return _DoublyLinkedList.DoublyLinkedList.prototype.item.call(this, index)
220
219
  }
221
220
 
222
221
  /**
@@ -242,7 +241,7 @@ class LinkedTreeList {
242
241
  */
243
242
  [Symbol.iterator] () {
244
243
  const root = this.rootParent
245
- return new _TreeLinkerIterator.default(root)
244
+ return new _TreeLinkerIterator.TreeLinkerIterator(root)
246
245
  }
247
246
  }
248
247
  /**
@@ -252,11 +251,11 @@ class LinkedTreeList {
252
251
  * @param {IsArrayable<TreeLinker>} [classType=LinkedTreeList] Provide the type of IsArrayable to use.
253
252
  * @returns {LinkedTreeList}
254
253
  */
254
+ exports.LinkedTreeList = LinkedTreeList
255
255
  LinkedTreeList.fromArray = function () {
256
256
  const values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []
257
- const linkerClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _TreeLinker.default
257
+ const linkerClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _TreeLinker.TreeLinker
258
258
  const classType = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : LinkedTreeList
259
259
  const list = new classType(linkerClass)
260
260
  return list.initialize(linkerClass.fromArray(values).head)
261
261
  }
262
- var _default = exports.default = LinkedTreeList
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/modules/web.dom-collections.iterator.js");var _TreeLinker=_interopRequireDefault(require("./TreeLinker")),_TreeLinkerIterator=_interopRequireDefault(require("../../recipes/TreeLinkerIterator")),_DoublyLinkedList=_interopRequireDefault(require("../doubly-linked-list/DoublyLinkedList"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}class LinkedTreeList{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_TreeLinker.default;this.classType=LinkedTreeList,this.innerList=null,this.initialized=!1,this.linkerClass=e}initialize(e){return this.initialized?(console.warn("Attempt to initialize LinkedTreeList which is not empty."),this):(this.initialized=!0,this.innerList=e,this)}get list(){return this.innerList}get first(){return this.reset()}get last(){let e=this.innerList;if(null===e)return null;let t=e.next;for(;null!==t;)e=t,t=e.next;return e}get length(){let e=this.first,t=0;for(;null!==e;)++t,e=e.next;return t}get parent(){return null===this.first?null:this.first.parent}set parent(e){let t=this.first;for(;null!==t;)t.parent=e,t=t.next;e&&(e.children=this)}get rootParent(){let e=this.first;if(!e)return null;let t=this.first.parent;for(;null!==t;)e=t,t=e.parent;return e}setChildren(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;Array.from(this).indexOf(e)<0&&console.error("item is not a child of this"),t.parent=e}insertAfter(e,t){return _DoublyLinkedList.default.prototype.insertAfter.call(this,e,t)}insertBefore(e,t){return _DoublyLinkedList.default.prototype.insertBefore.call(this,e,t)}append(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.last;return _DoublyLinkedList.default.prototype.append.call(this,e,t)}prepend(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.first;return _DoublyLinkedList.default.prototype.prepend.call(this,e,t)}remove(e){return _DoublyLinkedList.default.prototype.remove.call(this,e)}reset(){return _DoublyLinkedList.default.prototype.reset.call(this)}item(e){return _DoublyLinkedList.default.prototype.item.call(this,e)}forEach(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this,r=0,i=t.first;for(;null!==i;)e(i,r,t),i=i.next,++r;return t}[Symbol.iterator](){let e=this.rootParent;return new _TreeLinkerIterator.default(e)}}LinkedTreeList.fromArray=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_TreeLinker.default;return new(arguments.length>2&&void 0!==arguments[2]?arguments[2]:LinkedTreeList)(t).initialize(t.fromArray(e).head)};var _default=exports.default=LinkedTreeList;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LinkedTreeList=void 0,require("core-js/modules/web.dom-collections.iterator.js");var _TreeLinker=require("./TreeLinker"),_TreeLinkerIterator=require("../../recipes/TreeLinkerIterator"),_DoublyLinkedList=require("../doubly-linked-list/DoublyLinkedList");class LinkedTreeList{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_TreeLinker.TreeLinker;this.classType=LinkedTreeList,this.innerList=null,this.initialized=!1,this.linkerClass=e}initialize(e){return this.initialized?(console.warn("Attempt to initialize LinkedTreeList which is not empty."),this):(this.initialized=!0,this.innerList=e,this)}get list(){return this.innerList}get first(){return this.reset()}get last(){let e=this.innerList;if(null===e)return null;let t=e.next;for(;null!==t;)e=t,t=e.next;return e}get length(){let e=this.first,t=0;for(;null!==e;)++t,e=e.next;return t}get parent(){return null===this.first?null:this.first.parent}set parent(e){let t=this.first;for(;null!==t;)t.parent=e,t=t.next;e&&(e.children=this)}get rootParent(){let e=this.first;if(!e)return null;let t=this.first.parent;for(;null!==t;)e=t,t=e.parent;return e}setChildren(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;Array.from(this).indexOf(e)<0&&console.error("item is not a child of this"),t.parent=e}insertAfter(e,t){return _DoublyLinkedList.DoublyLinkedList.prototype.insertAfter.call(this,e,t)}insertBefore(e,t){return _DoublyLinkedList.DoublyLinkedList.prototype.insertBefore.call(this,e,t)}append(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.last;return _DoublyLinkedList.DoublyLinkedList.prototype.append.call(this,e,t)}prepend(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.first;return _DoublyLinkedList.DoublyLinkedList.prototype.prepend.call(this,e,t)}remove(e){return _DoublyLinkedList.DoublyLinkedList.prototype.remove.call(this,e)}reset(){return _DoublyLinkedList.DoublyLinkedList.prototype.reset.call(this)}item(e){return _DoublyLinkedList.DoublyLinkedList.prototype.item.call(this,e)}forEach(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this,i=0,r=t.first;for(;null!==r;)e(r,i,t),r=r.next,++i;return t}[Symbol.iterator](){let e=this.rootParent;return new _TreeLinkerIterator.TreeLinkerIterator(e)}}exports.LinkedTreeList=LinkedTreeList,LinkedTreeList.fromArray=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_TreeLinker.TreeLinker;return new(arguments.length>2&&void 0!==arguments[2]?arguments[2]:LinkedTreeList)(t).initialize(t.fromArray(e).head)};