collect-your-stuff 1.1.9 → 1.2.1

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 +1658 -1234
  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 -9
  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 -13
  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 -11
  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 -17
  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 +2 -2
@@ -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,9 @@
3
3
  Object.defineProperty(exports, '__esModule', {
4
4
  value: true
5
5
  })
6
- exports.default = void 0
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 } }
6
+ exports.Arrayable = void 0
7
+ var _ArrayElement = require('./ArrayElement')
8
+ var _ArrayIterator = require('../../recipes/ArrayIterator')
11
9
  /**
12
10
  * @file arrayable list.
13
11
  * @author Joshua Heagle <joshuaheagle@gmail.com>
@@ -23,7 +21,7 @@ class Arrayable {
23
21
  * Create the new Arrayable instance, configure the Arrayable class.
24
22
  */
25
23
  constructor () {
26
- const elementClass = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _ArrayElement.default
24
+ const elementClass = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _ArrayElement.ArrayElement
27
25
  this.classType = Arrayable
28
26
  this.innerList = []
29
27
  this.initialized = false
@@ -177,7 +175,7 @@ class Arrayable {
177
175
  */
178
176
  [Symbol.iterator] () {
179
177
  const index = 0
180
- return new _ArrayIterator.default(this.innerList, index)
178
+ return new _ArrayIterator.ArrayIterator(this.innerList, index)
181
179
  }
182
180
  }
183
181
  /**
@@ -187,11 +185,11 @@ class Arrayable {
187
185
  * @param {IsArrayable<ArrayElement>} [classType=Arrayable] Provide the type of IsArrayable to use.
188
186
  * @returns {Arrayable}
189
187
  */
188
+ exports.Arrayable = Arrayable
190
189
  Arrayable.fromArray = function () {
191
190
  const values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []
192
- const elementClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _ArrayElement.default
191
+ const elementClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _ArrayElement.ArrayElement
193
192
  const classType = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : Arrayable
194
193
  const list = new classType(elementClass)
195
194
  return list.initialize(elementClass.fromArray(values).head)
196
195
  }
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;var _ArrayElement=require("./ArrayElement"),_ArrayIterator=require("../../recipes/ArrayIterator");class Arrayable{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:_ArrayElement.ArrayElement;this.classType=Arrayable,this.innerList=[],this.initialized=!1,this.elementClass=t}initialize(t){return this.initialized?(console.warn("Attempt to initialize non-empty list."),this):(this.initialized=!0,this.innerList=t,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(t,e){const r=this.innerList.indexOf(t);return this.innerList.splice(r+1,0,this.elementClass.make(e)),this}insertBefore(t,e){const r=this.innerList.indexOf(t);return this.innerList.splice(r,0,this.elementClass.make(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){const e=this.innerList.indexOf(t);return this.innerList.splice(e,1),t}item(t){if(t>=this.length)return null;if(t>=0)return this.innerList[t];const e=this.length+t;return e<0?null:this.innerList[e]}forEach(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this;for(let r=0;r<e.length;++r)t(e.item(r),r,e);return e}[Symbol.iterator](){return new _ArrayIterator.ArrayIterator(this.innerList,0)}}exports.Arrayable=Arrayable,Arrayable.fromArray=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_ArrayElement.ArrayElement;return new(arguments.length>2&&void 0!==arguments[2]?arguments[2]:Arrayable)(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 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,10 @@
3
3
  Object.defineProperty(exports, '__esModule', {
4
4
  value: true
5
5
  })
6
- exports.default = void 0
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 } }
6
+ exports.DoublyLinkedList = void 0
7
+ var _DoubleLinker = require('./DoubleLinker')
8
+ var _DoubleLinkerIterator = require('../../recipes/DoubleLinkerIterator')
9
+ var _LinkedList = require('../linked-list/LinkedList')
12
10
  /**
13
11
  * @file doubly linked list.
14
12
  * @author Joshua Heagle <joshuaheagle@gmail.com>
@@ -25,7 +23,7 @@ class DoublyLinkedList {
25
23
  * Create the new DoublyLinkedList instance.
26
24
  */
27
25
  constructor () {
28
- const linkerClass = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _DoubleLinker.default
26
+ const linkerClass = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _DoubleLinker.DoubleLinker
29
27
  this.classType = DoublyLinkedList
30
28
  this.innerList = null
31
29
  this.initialized = false
@@ -38,7 +36,7 @@ class DoublyLinkedList {
38
36
  * @return {DoublyLinkedList}
39
37
  */
40
38
  initialize (initialList) {
41
- return _LinkedList.default.prototype.initialize.call(this, initialList)
39
+ return _LinkedList.LinkedList.prototype.initialize.call(this, initialList)
42
40
  }
43
41
 
44
42
  /**
@@ -248,7 +246,7 @@ class DoublyLinkedList {
248
246
  */
249
247
  forEach (callback) {
250
248
  const thisArg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this
251
- return _LinkedList.default.prototype.forEach.call(this, callback, thisArg)
249
+ return _LinkedList.LinkedList.prototype.forEach.call(this, callback, thisArg)
252
250
  }
253
251
 
254
252
  /**
@@ -257,7 +255,7 @@ class DoublyLinkedList {
257
255
  */
258
256
  [Symbol.iterator] () {
259
257
  const current = this.first
260
- return new _DoubleLinkerIterator.default(current)
258
+ return new _DoubleLinkerIterator.DoubleLinkerIterator(current)
261
259
  }
262
260
  }
263
261
  /**
@@ -267,10 +265,10 @@ class DoublyLinkedList {
267
265
  * @param {IsArrayable<IsDoubleLinker>} [classType=LinkedList] Provide the type of IsArrayable to use.
268
266
  * @returns {DoublyLinkedList}
269
267
  */
268
+ exports.DoublyLinkedList = DoublyLinkedList
270
269
  DoublyLinkedList.fromArray = function () {
271
270
  const values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []
272
- const linkerClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _DoubleLinker.default
271
+ const linkerClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _DoubleLinker.DoubleLinker
273
272
  const classType = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DoublyLinkedList
274
- return _LinkedList.default.fromArray(values, linkerClass, classType)
273
+ return _LinkedList.LinkedList.fromArray(values, linkerClass, classType)
275
274
  }
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;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 i=e.prev;for(;null!==i;)e=i,i=e.prev;return this.innerList=e,e}item(e){if(e>=0){let t=this.first,i=-1;for(;++i<e&&null!==t;)t=t.next;return i===e?t:null}let t=this.last,i=this.length;const r=this.length+e;if(r<0)return null;for(;--i>r&&null!==t;)t=t.prev;return i===r?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,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:DoublyLinkedList;return _LinkedList.LinkedList.fromArray(e,t,i)};
@@ -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,10 @@
3
3
  Object.defineProperty(exports, '__esModule', {
4
4
  value: true
5
5
  })
6
- exports.default = void 0
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 } }
6
+ exports.LinkedList = void 0
7
+ var _Linker = require('./Linker')
8
+ var _LinkerIterator = require('../../recipes/LinkerIterator')
9
+ var _Arrayable = require('../arrayable/Arrayable')
12
10
  /**
13
11
  * LinkedList represents a collection stored as a LinkedList with next references.
14
12
  * @extends Arrayable
@@ -18,7 +16,7 @@ class LinkedList {
18
16
  * Create the new LinkedList instance.
19
17
  */
20
18
  constructor () {
21
- const linkerClass = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _Linker.default
19
+ const linkerClass = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _Linker.Linker
22
20
  this.classType = LinkedList
23
21
  this.innerList = null
24
22
  this.initialized = false
@@ -31,7 +29,7 @@ class LinkedList {
31
29
  * @return {LinkedList}
32
30
  */
33
31
  initialize (initialList) {
34
- return _Arrayable.default.prototype.initialize.call(this, initialList)
32
+ return _Arrayable.Arrayable.prototype.initialize.call(this, initialList)
35
33
  }
36
34
 
37
35
  /**
@@ -222,7 +220,7 @@ class LinkedList {
222
220
  * @returns {Iterator}
223
221
  */
224
222
  [Symbol.iterator] () {
225
- return new _LinkerIterator.default(this.first)
223
+ return new _LinkerIterator.LinkerIterator(this.first)
226
224
  }
227
225
  }
228
226
  /**
@@ -232,11 +230,11 @@ class LinkedList {
232
230
  * @param {IsArrayable<Linker>} [classType=LinkedList] Provide the type of IsArrayable to use.
233
231
  * @returns {LinkedList}
234
232
  */
233
+ exports.LinkedList = LinkedList
235
234
  LinkedList.fromArray = function () {
236
235
  const values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []
237
- const linkerClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _Linker.default
236
+ const linkerClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _Linker.Linker
238
237
  const classType = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : LinkedList
239
238
  const list = new classType(linkerClass)
240
239
  return list.initialize(linkerClass.fromArray(values).head)
241
240
  }
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;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,10 @@
3
3
  Object.defineProperty(exports, '__esModule', {
4
4
  value: true
5
5
  })
6
- exports.default = void 0
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 } }
6
+ exports.LinkedTreeList = void 0
7
+ var _TreeLinker = require('./TreeLinker')
8
+ var _TreeLinkerIterator = require('../../recipes/TreeLinkerIterator')
9
+ var _DoublyLinkedList = require('../doubly-linked-list/DoublyLinkedList')
12
10
  /**
13
11
  * @file doubly linked tree list.
14
12
  * @author Joshua Heagle <joshuaheagle@gmail.com>
@@ -25,7 +23,7 @@ class LinkedTreeList {
25
23
  * Create the new LinkedTreeList instance, configure the list class.
26
24
  */
27
25
  constructor () {
28
- const linkerClass = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _TreeLinker.default
26
+ const linkerClass = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _TreeLinker.TreeLinker
29
27
  this.classType = LinkedTreeList
30
28
  this.innerList = null
31
29
  this.initialized = false
@@ -158,7 +156,7 @@ class LinkedTreeList {
158
156
  * @returns {LinkedTreeList}
159
157
  */
160
158
  insertAfter (node, newNode) {
161
- return _DoublyLinkedList.default.prototype.insertAfter.call(this, node, newNode)
159
+ return _DoublyLinkedList.DoublyLinkedList.prototype.insertAfter.call(this, node, newNode)
162
160
  }
163
161
 
164
162
  /**
@@ -168,7 +166,7 @@ class LinkedTreeList {
168
166
  * @returns {LinkedTreeList}
169
167
  */
170
168
  insertBefore (node, newNode) {
171
- return _DoublyLinkedList.default.prototype.insertBefore.call(this, node, newNode)
169
+ return _DoublyLinkedList.DoublyLinkedList.prototype.insertBefore.call(this, node, newNode)
172
170
  }
173
171
 
174
172
  /**
@@ -179,7 +177,7 @@ class LinkedTreeList {
179
177
  */
180
178
  append (node) {
181
179
  const after = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.last
182
- return _DoublyLinkedList.default.prototype.append.call(this, node, after)
180
+ return _DoublyLinkedList.DoublyLinkedList.prototype.append.call(this, node, after)
183
181
  }
184
182
 
185
183
  /**
@@ -190,7 +188,7 @@ class LinkedTreeList {
190
188
  */
191
189
  prepend (node) {
192
190
  const before = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.first
193
- return _DoublyLinkedList.default.prototype.prepend.call(this, node, before)
191
+ return _DoublyLinkedList.DoublyLinkedList.prototype.prepend.call(this, node, before)
194
192
  }
195
193
 
196
194
  /**
@@ -199,7 +197,7 @@ class LinkedTreeList {
199
197
  * @return {TreeLinker}
200
198
  */
201
199
  remove (node) {
202
- return _DoublyLinkedList.default.prototype.remove.call(this, node)
200
+ return _DoublyLinkedList.DoublyLinkedList.prototype.remove.call(this, node)
203
201
  }
204
202
 
205
203
  /**
@@ -207,7 +205,7 @@ class LinkedTreeList {
207
205
  * @return {TreeLinker}
208
206
  */
209
207
  reset () {
210
- return _DoublyLinkedList.default.prototype.reset.call(this)
208
+ return _DoublyLinkedList.DoublyLinkedList.prototype.reset.call(this)
211
209
  }
212
210
 
213
211
  /**
@@ -216,7 +214,7 @@ class LinkedTreeList {
216
214
  * @returns {TreeLinker|null}
217
215
  */
218
216
  item (index) {
219
- return _DoublyLinkedList.default.prototype.item.call(this, index)
217
+ return _DoublyLinkedList.DoublyLinkedList.prototype.item.call(this, index)
220
218
  }
221
219
 
222
220
  /**
@@ -242,7 +240,7 @@ class LinkedTreeList {
242
240
  */
243
241
  [Symbol.iterator] () {
244
242
  const root = this.rootParent
245
- return new _TreeLinkerIterator.default(root)
243
+ return new _TreeLinkerIterator.TreeLinkerIterator(root)
246
244
  }
247
245
  }
248
246
  /**
@@ -252,11 +250,11 @@ class LinkedTreeList {
252
250
  * @param {IsArrayable<TreeLinker>} [classType=LinkedTreeList] Provide the type of IsArrayable to use.
253
251
  * @returns {LinkedTreeList}
254
252
  */
253
+ exports.LinkedTreeList = LinkedTreeList
255
254
  LinkedTreeList.fromArray = function () {
256
255
  const values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []
257
- const linkerClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _TreeLinker.default
256
+ const linkerClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _TreeLinker.TreeLinker
258
257
  const classType = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : LinkedTreeList
259
258
  const list = new classType(linkerClass)
260
259
  return list.initialize(linkerClass.fromArray(values).head)
261
260
  }
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;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)};