collect-your-stuff 1.1.8 → 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 +2 -2
@@ -4,14 +4,14 @@
4
4
  * @version 1.1.0
5
5
  * @memberOf module:collect-your-stuff
6
6
  */
7
- import IsArrayable from '../../recipes/IsArrayable';
8
- import IsTreeNode from '../../recipes/IsTreeNode';
9
- import IsTree from '../../recipes/IsTree';
7
+ import { IsArrayable } from '../../recipes/IsArrayable';
8
+ import { IsTreeNode } from '../../recipes/IsTreeNode';
9
+ import { IsTree } from '../../recipes/IsTree';
10
10
  /**
11
11
  * TreeLinker represents a node in a LinkedTreeList having a parent (or root) and child nodes.
12
12
  * @extends DoubleLinker
13
13
  */
14
- declare class TreeLinker implements IsTreeNode {
14
+ export declare class TreeLinker implements IsTreeNode {
15
15
  readonly classType: typeof TreeLinker;
16
16
  data: any;
17
17
  next: IsTreeNode | null;
@@ -61,4 +61,3 @@ declare class TreeLinker implements IsTreeNode {
61
61
  tail: TreeLinker | any;
62
62
  };
63
63
  }
64
- export default TreeLinker;
@@ -3,12 +3,11 @@
3
3
  Object.defineProperty(exports, '__esModule', {
4
4
  value: true
5
5
  })
6
- exports.default = void 0
6
+ exports.TreeLinker = void 0
7
7
  require('core-js/modules/esnext.async-iterator.map.js')
8
8
  require('core-js/modules/esnext.iterator.map.js')
9
- var _DoubleLinker = _interopRequireDefault(require('../doubly-linked-list/DoubleLinker'))
10
- var _LinkedTreeList = _interopRequireDefault(require('./LinkedTreeList'))
11
- function _interopRequireDefault (obj) { return obj && obj.__esModule ? obj : { default: obj } }
9
+ var _DoubleLinker = require('../doubly-linked-list/DoubleLinker')
10
+ var _LinkedTreeList = require('./LinkedTreeList')
12
11
  /**
13
12
  * TreeLinker represents a node in a LinkedTreeList having a parent (or root) and child nodes.
14
13
  * @extends DoubleLinker
@@ -31,7 +30,7 @@ class TreeLinker {
31
30
  prev = null,
32
31
  children = null,
33
32
  parent = null,
34
- listClass = _LinkedTreeList.default
33
+ listClass = _LinkedTreeList.LinkedTreeList
35
34
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}
36
35
  this.classType = TreeLinker
37
36
  this.data = null
@@ -54,7 +53,7 @@ class TreeLinker {
54
53
  */
55
54
  childrenFromArray () {
56
55
  const children = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null
57
- const listClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _LinkedTreeList.default
56
+ const listClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _LinkedTreeList.LinkedTreeList
58
57
  if (children === null) {
59
58
  return null
60
59
  }
@@ -70,9 +69,10 @@ class TreeLinker {
70
69
  * @param {IsTreeNode} [classType=TreeLinker] Provide the type of IsTreeNode to use.
71
70
  * @return {TreeLinker}
72
71
  */
72
+ exports.TreeLinker = TreeLinker
73
73
  TreeLinker.make = function (linker) {
74
74
  const classType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : TreeLinker
75
- return _DoubleLinker.default.make(linker, classType)
75
+ return _DoubleLinker.DoubleLinker.make(linker, classType)
76
76
  }
77
77
  /**
78
78
  * Convert an array into DoubleLinker instances, return the head and tail DoubleLinkers.
@@ -83,6 +83,5 @@ TreeLinker.make = function (linker) {
83
83
  TreeLinker.fromArray = function () {
84
84
  const values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []
85
85
  const classType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : TreeLinker
86
- return _DoubleLinker.default.fromArray(values, classType)
86
+ return _DoubleLinker.DoubleLinker.fromArray(values, classType)
87
87
  }
88
- var _default = exports.default = TreeLinker
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/modules/esnext.async-iterator.map.js"),require("core-js/modules/esnext.iterator.map.js");var _DoubleLinker=_interopRequireDefault(require("../doubly-linked-list/DoubleLinker")),_LinkedTreeList=_interopRequireDefault(require("./LinkedTreeList"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}class TreeLinker{constructor(){let{data:e=null,next:r=null,prev:t=null,children:l=null,parent:i=null,listClass:n=_LinkedTreeList.default}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.classType=TreeLinker,this.data=null,this.next=null,this.prev=null,this.parent=null,this.children=null,this.data=e,this.next=r,this.prev=t,this.parent=i,this.children=this.childrenFromArray(l,n)}childrenFromArray(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_LinkedTreeList.default;return null===e?null:r.fromArray(e.map((e=>Object.assign({},e,{parent:this}))),this.classType)}}TreeLinker.make=function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:TreeLinker;return _DoubleLinker.default.make(e,r)},TreeLinker.fromArray=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:TreeLinker;return _DoubleLinker.default.fromArray(e,r)};var _default=exports.default=TreeLinker;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.TreeLinker=void 0,require("core-js/modules/esnext.async-iterator.map.js"),require("core-js/modules/esnext.iterator.map.js");var _DoubleLinker=require("../doubly-linked-list/DoubleLinker"),_LinkedTreeList=require("./LinkedTreeList");class TreeLinker{constructor(){let{data:e=null,next:r=null,prev:i=null,children:n=null,parent:t=null,listClass:l=_LinkedTreeList.LinkedTreeList}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.classType=TreeLinker,this.data=null,this.next=null,this.prev=null,this.parent=null,this.children=null,this.data=e,this.next=r,this.prev=i,this.parent=t,this.children=this.childrenFromArray(n,l)}childrenFromArray(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_LinkedTreeList.LinkedTreeList;return null===e?null:r.fromArray(e.map((e=>Object.assign({},e,{parent:this}))),this.classType)}}exports.TreeLinker=TreeLinker,TreeLinker.make=function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:TreeLinker;return _DoubleLinker.DoubleLinker.make(e,r)},TreeLinker.fromArray=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:TreeLinker;return _DoubleLinker.DoubleLinker.fromArray(e,r)};
@@ -4,14 +4,14 @@
4
4
  * @version 1.1.0
5
5
  * @memberOf module:collect-your-stuff
6
6
  */
7
- import Queueable from './Queueable';
8
- import IsArrayable from '../../recipes/IsArrayable';
9
- import IsLinker from '../../recipes/IsLinker';
7
+ import { Queueable } from './Queueable';
8
+ import { IsArrayable } from '../../recipes/IsArrayable';
9
+ import { IsLinker } from '../../recipes/IsLinker';
10
10
  import { completeResponse } from '../../recipes/Runnable';
11
11
  /**
12
12
  * Maintain a series of queued items.
13
13
  */
14
- declare class Queue {
14
+ export declare class Queue {
15
15
  queuedList: IsArrayable<any>;
16
16
  private listClass;
17
17
  private queueableClass;
@@ -61,4 +61,3 @@ declare class Queue {
61
61
  */
62
62
  static fromArray: (values?: Array<any>, queueableClass?: typeof Queueable, listClass?: any) => Queue;
63
63
  }
64
- export default Queue;
@@ -3,10 +3,9 @@
3
3
  Object.defineProperty(exports, '__esModule', {
4
4
  value: true
5
5
  })
6
- exports.default = void 0
7
- var _Queueable = _interopRequireDefault(require('./Queueable'))
8
- var _LinkedList = _interopRequireDefault(require('../linked-list/LinkedList'))
9
- function _interopRequireDefault (obj) { return obj && obj.__esModule ? obj : { default: obj } }
6
+ exports.Queue = void 0
7
+ var _Queueable = require('./Queueable')
8
+ var _LinkedList = require('../linked-list/LinkedList')
10
9
  /**
11
10
  * @file queue
12
11
  * @author Joshua Heagle <joshuaheagle@gmail.com>
@@ -26,8 +25,8 @@ class Queue {
26
25
  */
27
26
  constructor () {
28
27
  let queuedList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null
29
- const listClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _LinkedList.default
30
- const queueableClass = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _Queueable.default
28
+ const listClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _LinkedList.LinkedList
29
+ const queueableClass = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _Queueable.Queueable
31
30
  this.listClass = listClass
32
31
  this.queueableClass = queueableClass
33
32
  if (queuedList === null) {
@@ -126,12 +125,12 @@ class Queue {
126
125
  * @param {Queue|Iterable} listClass The class to use to manage the queueables
127
126
  * @returns {Queue}
128
127
  */
128
+ exports.Queue = Queue
129
129
  Queue.fromArray = function () {
130
130
  const values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []
131
- const queueableClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _Queueable.default
132
- const listClass = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _LinkedList.default
131
+ const queueableClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _Queueable.Queueable
132
+ const listClass = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _LinkedList.LinkedList
133
133
  const list = new listClass(queueableClass)
134
134
  list.initialize(queueableClass.fromArray(values, queueableClass).head)
135
135
  return new Queue(list, listClass, queueableClass)
136
136
  }
137
- var _default = exports.default = Queue
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _Queueable=_interopRequireDefault(require("./Queueable")),_LinkedList=_interopRequireDefault(require("../linked-list/LinkedList"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}class Queue{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_LinkedList.default,u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:_Queueable.default;this.listClass=t,this.queueableClass=u,null===e&&(e=new t(u)),this.queuedList=e}dequeue(){const e=this.remove();return e?e.complete?this.dequeue():e.running?{success:!1,error:"The queue has been blocked by an unfinished task.",context:e}:(this.empty()||this.enqueue(e),e.isReady?e.run.call(e):{success:!1,error:"Unable to find ready task.",context:e}):{success:"No more queueable tasks in the queue",error:!1,context:this.queuedList}}empty(){return this.size()<=0}enqueue(e){this.queuedList.append(e)}peek(){return this.queuedList.first}remove(){return this.empty()?null:this.queuedList.remove(this.queuedList.first)}size(){return this.queuedList.length}}Queue.fromArray=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_Queueable.default,u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:_LinkedList.default;const i=new u(t);return i.initialize(t.fromArray(e,t).head),new Queue(i,u,t)};var _default=exports.default=Queue;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Queue=void 0;var _Queueable=require("./Queueable"),_LinkedList=require("../linked-list/LinkedList");class Queue{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_LinkedList.LinkedList,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:_Queueable.Queueable;this.listClass=u,this.queueableClass=t,null===e&&(e=new u(t)),this.queuedList=e}dequeue(){const e=this.remove();return e?e.complete?this.dequeue():e.running?{success:!1,error:"The queue has been blocked by an unfinished task.",context:e}:(this.empty()||this.enqueue(e),e.isReady?e.run.call(e):{success:!1,error:"Unable to find ready task.",context:e}):{success:"No more queueable tasks in the queue",error:!1,context:this.queuedList}}empty(){return this.size()<=0}enqueue(e){this.queuedList.append(e)}peek(){return this.queuedList.first}remove(){return this.empty()?null:this.queuedList.remove(this.queuedList.first)}size(){return this.queuedList.length}}exports.Queue=Queue,Queue.fromArray=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_Queueable.Queueable,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:_LinkedList.LinkedList;const s=new t(u);return s.initialize(u.fromArray(e,u).head),new Queue(s,t,u)};
@@ -5,12 +5,12 @@
5
5
  * @memberOf module:collect-your-stuff
6
6
  */
7
7
  import { completeResponse, IsRunnable } from '../../recipes/Runnable';
8
- import IsLinker from '../../recipes/IsLinker';
8
+ import { IsLinker } from '../../recipes/IsLinker';
9
9
  /**
10
10
  * Queueable represents a runnable entry in a queue.
11
11
  * @extends Linker
12
12
  */
13
- declare class Queueable implements IsLinker, IsRunnable {
13
+ export declare class Queueable implements IsLinker, IsRunnable {
14
14
  readonly classType: typeof Queueable;
15
15
  data: any;
16
16
  next: Queueable | null;
@@ -75,4 +75,3 @@ declare class Queueable implements IsLinker, IsRunnable {
75
75
  tail: IsLinker;
76
76
  };
77
77
  }
78
- export default Queueable;
@@ -3,9 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', {
4
4
  value: true
5
5
  })
6
- exports.default = void 0
7
- var _Linker = _interopRequireDefault(require('../linked-list/Linker'))
8
- function _interopRequireDefault (obj) { return obj && obj.__esModule ? obj : { default: obj } }
6
+ exports.Queueable = void 0
7
+ var _Linker = require('../linked-list/Linker')
9
8
  /**
10
9
  * Queueable represents a runnable entry in a queue.
11
10
  * @extends Linker
@@ -113,6 +112,7 @@ class Queueable {
113
112
  * @param {IsLinker} [classType=Queueable] Provide the type of IsLinker to use.
114
113
  * @return {Queueable}
115
114
  */
115
+ exports.Queueable = Queueable
116
116
  Queueable.make = function (queueable) {
117
117
  const classType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Queueable
118
118
  if (typeof queueable !== 'object') {
@@ -143,6 +143,5 @@ Queueable.make = function (queueable) {
143
143
  */
144
144
  Queueable.fromArray = function (values) {
145
145
  const classType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Queueable
146
- return _Linker.default.fromArray(values, classType)
146
+ return _Linker.Linker.fromArray(values, classType)
147
147
  }
148
- var _default = exports.default = Queueable
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _Linker=_interopRequireDefault(require("../linked-list/Linker"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}class Queueable{constructor(){let{task:e=null,next:t=null,ready:s=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.data=null,this.next=null,this.complete=!1,this.ready=!1,this.running=!1,this.classType=Queueable,this.data=e,this.next=t,this.complete=!1,this.ready=s,this.running=!1}get isReady(){return"function"==typeof this.ready?this.ready():this.ready}get task(){return"function"==typeof this.data?this.data:e=>"function"==typeof e?e({context:this.data}).context:this.data}markCompleted(){let{success:e=!0,error:t=!1,context:s=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.complete=!0,this.running=!1,{success:e,error:t,context:s}}run(){return this.isReady?this.running?{success:!1,error:"Queued task is already running, possible missing 'complete' callback",context:this.data}:(this.running=!0,this.task(this.markCompleted.bind(this))):{success:!1,error:"Task is not ready",context:this.data}}}Queueable.make=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Queueable;return"object"!=typeof e?new t({task:e,ready:!0}):e.classType?e:(e.task||(e={task:e,ready:!0}),new t(e))},Queueable.fromArray=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Queueable;return _Linker.default.fromArray(e,t)};var _default=exports.default=Queueable;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Queueable=void 0;var _Linker=require("../linked-list/Linker");class Queueable{constructor(){let{task:e=null,next:t=null,ready:s=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.data=null,this.next=null,this.complete=!1,this.ready=!1,this.running=!1,this.classType=Queueable,this.data=e,this.next=t,this.complete=!1,this.ready=s,this.running=!1}get isReady(){return"function"==typeof this.ready?this.ready():this.ready}get task(){return"function"==typeof this.data?this.data:e=>"function"==typeof e?e({context:this.data}).context:this.data}markCompleted(){let{success:e=!0,error:t=!1,context:s=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.complete=!0,this.running=!1,{success:e,error:t,context:s}}run(){return this.isReady?this.running?{success:!1,error:"Queued task is already running, possible missing 'complete' callback",context:this.data}:(this.running=!0,this.task(this.markCompleted.bind(this))):{success:!1,error:"Task is not ready",context:this.data}}}exports.Queueable=Queueable,Queueable.make=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Queueable;return"object"!=typeof e?new t({task:e,ready:!0}):e.classType?e:(e.task||(e={task:e,ready:!0}),new t(e))},Queueable.fromArray=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Queueable;return _Linker.Linker.fromArray(e,t)};
@@ -4,14 +4,14 @@
4
4
  * @version 1.0.0
5
5
  * @memberOf module:collect-your-stuff
6
6
  */
7
- import Stackable from './Stackable';
8
- import IsArrayable from '../../recipes/IsArrayable';
9
- import IsLinker from '../../recipes/IsLinker';
7
+ import { Stackable } from './Stackable';
8
+ import { IsArrayable } from '../../recipes/IsArrayable';
9
+ import { IsLinker } from '../../recipes/IsLinker';
10
10
  import { completeResponse } from '../../recipes/Runnable';
11
11
  /**
12
12
  * Store a collection of items which can only be inserted and removed from the top.
13
13
  */
14
- declare class Stack {
14
+ export declare class Stack {
15
15
  stackedList: IsArrayable<any>;
16
16
  private listClass;
17
17
  private stackableClass;
@@ -61,4 +61,3 @@ declare class Stack {
61
61
  */
62
62
  static fromArray: (values?: Array<any>, stackableClass?: typeof Stackable, listClass?: any) => Stack;
63
63
  }
64
- export default Stack;
@@ -3,10 +3,9 @@
3
3
  Object.defineProperty(exports, '__esModule', {
4
4
  value: true
5
5
  })
6
- exports.default = void 0
7
- var _Stackable = _interopRequireDefault(require('./Stackable'))
8
- var _LinkedList = _interopRequireDefault(require('../linked-list/LinkedList'))
9
- function _interopRequireDefault (obj) { return obj && obj.__esModule ? obj : { default: obj } }
6
+ exports.Stack = void 0
7
+ var _Stackable = require('./Stackable')
8
+ var _LinkedList = require('../linked-list/LinkedList')
10
9
  /**
11
10
  * @file stack.
12
11
  * @author Joshua Heagle <joshuaheagle@gmail.com>
@@ -26,8 +25,8 @@ class Stack {
26
25
  */
27
26
  constructor () {
28
27
  let stackedList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null
29
- const listClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _LinkedList.default
30
- const stackableClass = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _Stackable.default
28
+ const listClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _LinkedList.LinkedList
29
+ const stackableClass = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _Stackable.Stackable
31
30
  this.listClass = listClass
32
31
  this.stackableClass = stackableClass
33
32
  if (stackedList === null) {
@@ -102,12 +101,12 @@ class Stack {
102
101
  * @param {Stack|Iterable} listClass The class to use to manage the stackables
103
102
  * @returns {Stack}
104
103
  */
104
+ exports.Stack = Stack
105
105
  Stack.fromArray = function () {
106
106
  const values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []
107
- const stackableClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _Stackable.default
108
- const listClass = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _LinkedList.default
107
+ const stackableClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _Stackable.Stackable
108
+ const listClass = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _LinkedList.LinkedList
109
109
  const list = new listClass(stackableClass)
110
110
  list.initialize(stackableClass.fromArray(values, stackableClass).head)
111
111
  return new Stack(list)
112
112
  }
113
- var _default = exports.default = Stack
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _Stackable=_interopRequireDefault(require("./Stackable")),_LinkedList=_interopRequireDefault(require("../linked-list/LinkedList"));function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}class Stack{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_LinkedList.default,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:_Stackable.default;this.listClass=e,this.stackableClass=s,null===t&&(t=new e(s)),this.stackedList=t}empty(){return this.size()<=0}top(){return this.stackedList.first}pop(){const t=this.remove();return t?t.run():{success:"No more stackable tasks in the stack",error:!1,context:this.stackedList}}push(t){this.stackedList.prepend(t)}remove(){return this.empty()?null:this.stackedList.remove(this.stackedList.first)}size(){return this.stackedList.length}}Stack.fromArray=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_Stackable.default;const s=new(arguments.length>2&&void 0!==arguments[2]?arguments[2]:_LinkedList.default)(e);return s.initialize(e.fromArray(t,e).head),new Stack(s)};var _default=exports.default=Stack;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Stack=void 0;var _Stackable=require("./Stackable"),_LinkedList=require("../linked-list/LinkedList");class Stack{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_LinkedList.LinkedList,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:_Stackable.Stackable;this.listClass=e,this.stackableClass=s,null===t&&(t=new e(s)),this.stackedList=t}empty(){return this.size()<=0}top(){return this.stackedList.first}pop(){const t=this.remove();return t?t.run():{success:"No more stackable tasks in the stack",error:!1,context:this.stackedList}}push(t){this.stackedList.prepend(t)}remove(){return this.empty()?null:this.stackedList.remove(this.stackedList.first)}size(){return this.stackedList.length}}exports.Stack=Stack,Stack.fromArray=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_Stackable.Stackable;const s=new(arguments.length>2&&void 0!==arguments[2]?arguments[2]:_LinkedList.LinkedList)(e);return s.initialize(e.fromArray(t,e).head),new Stack(s)};
@@ -5,12 +5,12 @@
5
5
  * @memberOf module:collect-your-stuff
6
6
  */
7
7
  import { IsRunnable } from '../../recipes/Runnable';
8
- import IsLinker from '../../recipes/IsLinker';
8
+ import { IsLinker } from '../../recipes/IsLinker';
9
9
  /**
10
10
  * Stackable represents a runnable entry in stack.
11
11
  * @extends Linker
12
12
  */
13
- declare class Stackable implements IsLinker, IsRunnable {
13
+ export declare class Stackable implements IsLinker, IsRunnable {
14
14
  readonly classType: typeof Stackable;
15
15
  data: any;
16
16
  next: Stackable | null;
@@ -54,4 +54,3 @@ declare class Stackable implements IsLinker, IsRunnable {
54
54
  tail: IsLinker;
55
55
  };
56
56
  }
57
- export default Stackable;
@@ -3,9 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', {
4
4
  value: true
5
5
  })
6
- exports.default = void 0
7
- var _Linker = _interopRequireDefault(require('../linked-list/Linker'))
8
- function _interopRequireDefault (obj) { return obj && obj.__esModule ? obj : { default: obj } }
6
+ exports.Stackable = void 0
7
+ var _Linker = require('../linked-list/Linker')
9
8
  /**
10
9
  * Stackable represents a runnable entry in stack.
11
10
  * @extends Linker
@@ -56,6 +55,7 @@ class Stackable {
56
55
  * @param {IsLinker} [classType=Stackable] Provide the type of IsLinker to use.
57
56
  * @return {Stackable}
58
57
  */
58
+ exports.Stackable = Stackable
59
59
  Stackable.make = function (stackable) {
60
60
  const classType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Stackable
61
61
  if (typeof stackable !== 'object') {
@@ -85,6 +85,5 @@ Stackable.make = function (stackable) {
85
85
  Stackable.fromArray = function () {
86
86
  const values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []
87
87
  const classType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Stackable
88
- return _Linker.default.fromArray(values, classType)
88
+ return _Linker.Linker.fromArray(values, classType)
89
89
  }
90
- var _default = exports.default = Stackable
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _Linker=_interopRequireDefault(require("../linked-list/Linker"));function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}class Stackable{constructor(){let{task:t=null,next:e=null,ready:a=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.data=null,this.next=null,this.classType=Stackable,this.data=t,this.next=e}get task(){return"function"==typeof this.data?this.data:()=>this.data}run(){return this.task()}}Stackable.make=function(t){return"object"!=typeof t?new(arguments.length>1&&void 0!==arguments[1]?arguments[1]:Stackable)({task:t}):t.classType?t:(t.task||(t={task:t}),new Stackable(t))},Stackable.fromArray=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Stackable;return _Linker.default.fromArray(t,e)};var _default=exports.default=Stackable;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Stackable=void 0;var _Linker=require("../linked-list/Linker");class Stackable{constructor(){let{task:t=null,next:e=null,ready:a=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.data=null,this.next=null,this.classType=Stackable,this.data=t,this.next=e}get task(){return"function"==typeof this.data?this.data:()=>this.data}run(){return this.task()}}exports.Stackable=Stackable,Stackable.make=function(t){return"object"!=typeof t?new(arguments.length>1&&void 0!==arguments[1]?arguments[1]:Stackable)({task:t}):t.classType?t:(t.task||(t={task:t}),new Stackable(t))},Stackable.fromArray=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Stackable;return _Linker.Linker.fromArray(t,e)};
package/dist/main.d.ts CHANGED
@@ -6,12 +6,12 @@
6
6
  * @module collect-your-stuff
7
7
  */
8
8
  import 'core-js/stable';
9
- import Arrayable from './collections/arrayable/Arrayable';
10
- import DoublyLinkedList from './collections/./doubly-linked-list/DoublyLinkedList';
11
- import LinkedList from './collections/linked-list/LinkedList';
12
- import LinkedTreeList from './collections/linked-tree-list/LinkedTreeList';
13
- import Queue from './collections/queue/Queue';
14
- import Stack from './collections/stack/Stack';
9
+ import { Arrayable } from './collections/arrayable/Arrayable';
10
+ import { DoublyLinkedList } from './collections/doubly-linked-list/DoublyLinkedList';
11
+ import { LinkedList } from './collections/linked-list/LinkedList';
12
+ import { LinkedTreeList } from './collections/linked-tree-list/LinkedTreeList';
13
+ import { Queue } from './collections/queue/Queue';
14
+ import { Stack } from './collections/stack/Stack';
15
15
  /**
16
16
  * TODO:
17
17
  * 1. Create binary tree. Use the tree, but it has a limit of only two children per parent, and when adding / removing sort is applied. Add sort function in fromArray
@@ -29,12 +29,12 @@ declare const collectYourStuff: {
29
29
  Queue: typeof Queue;
30
30
  Stack: typeof Stack;
31
31
  recipes: {
32
- ArrayIterator: typeof import("./recipes/ArrayIterator").default;
33
- Runnable: typeof import("./recipes/Runnable").default;
32
+ ArrayIterator: typeof import("./recipes/ArrayIterator").ArrayIterator;
33
+ Runnable: typeof import("./recipes/Runnable").Runnable;
34
34
  };
35
35
  services: {
36
- parseTree: (tree: import("./recipes/IsTree").default, callback: import("./recipes/IsArrayable").forEachCallback) => import("./recipes/IsTree").default;
37
- parseTreeNext: (treeNode: import("./recipes/IsTreeNode").default) => import("./recipes/IsTreeNode").default;
36
+ parseTree: (tree: import("./recipes/IsTree").IsTree, callback: import("./recipes/IsArrayable").forEachCallback) => import("./recipes/IsTree").IsTree;
37
+ parseTreeNext: (treeNode: import("./recipes/IsTreeNode").IsTreeNode) => import("./recipes/IsTreeNode").IsTreeNode;
38
38
  };
39
39
  };
40
40
  export default collectYourStuff;
package/dist/main.js CHANGED
@@ -5,15 +5,14 @@ Object.defineProperty(exports, '__esModule', {
5
5
  })
6
6
  exports.default = void 0
7
7
  require('core-js/stable')
8
- var _Arrayable = _interopRequireDefault(require('./collections/arrayable/Arrayable'))
9
- var _DoublyLinkedList = _interopRequireDefault(require('./collections/./doubly-linked-list/DoublyLinkedList'))
10
- var _LinkedList = _interopRequireDefault(require('./collections/linked-list/LinkedList'))
11
- var _LinkedTreeList = _interopRequireDefault(require('./collections/linked-tree-list/LinkedTreeList'))
12
- var _Queue = _interopRequireDefault(require('./collections/queue/Queue'))
13
- var _Stack = _interopRequireDefault(require('./collections/stack/Stack'))
14
- var _recipes = _interopRequireDefault(require('./recipes/recipes'))
15
- var _services = _interopRequireDefault(require('./services/services'))
16
- function _interopRequireDefault (obj) { return obj && obj.__esModule ? obj : { default: obj } }
8
+ var _Arrayable = require('./collections/arrayable/Arrayable')
9
+ var _DoublyLinkedList = require('./collections/doubly-linked-list/DoublyLinkedList')
10
+ var _LinkedList = require('./collections/linked-list/LinkedList')
11
+ var _LinkedTreeList = require('./collections/linked-tree-list/LinkedTreeList')
12
+ var _Queue = require('./collections/queue/Queue')
13
+ var _Stack = require('./collections/stack/Stack')
14
+ var _recipes = require('./recipes/recipes')
15
+ var _services = require('./services/services')
17
16
  /**
18
17
  * All of the collections available.
19
18
  * @file
@@ -32,14 +31,14 @@ function _interopRequireDefault (obj) { return obj && obj.__esModule ? obj : { d
32
31
  * All methods exported from this module are encapsulated within collect-your-stuff.
33
32
  */
34
33
  const collectYourStuff = {
35
- Arrayable: _Arrayable.default,
36
- DoublyLinkedList: _DoublyLinkedList.default,
37
- LinkedList: _LinkedList.default,
38
- LinkedTreeList: _LinkedTreeList.default,
39
- Queue: _Queue.default,
40
- Stack: _Stack.default,
41
- recipes: _recipes.default,
42
- services: _services.default
34
+ Arrayable: _Arrayable.Arrayable,
35
+ DoublyLinkedList: _DoublyLinkedList.DoublyLinkedList,
36
+ LinkedList: _LinkedList.LinkedList,
37
+ LinkedTreeList: _LinkedTreeList.LinkedTreeList,
38
+ Queue: _Queue.Queue,
39
+ Stack: _Stack.Stack,
40
+ recipes: _recipes.recipes,
41
+ services: _services.services
43
42
  }
44
43
  var _default = exports.default = collectYourStuff
45
44
  if (void 0) {
package/dist/main.min.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/stable");var _Arrayable=_interopRequireDefault(require("./collections/arrayable/Arrayable")),_DoublyLinkedList=_interopRequireDefault(require("./collections/./doubly-linked-list/DoublyLinkedList")),_LinkedList=_interopRequireDefault(require("./collections/linked-list/LinkedList")),_LinkedTreeList=_interopRequireDefault(require("./collections/linked-tree-list/LinkedTreeList")),_Queue=_interopRequireDefault(require("./collections/queue/Queue")),_Stack=_interopRequireDefault(require("./collections/stack/Stack")),_recipes=_interopRequireDefault(require("./recipes/recipes")),_services=_interopRequireDefault(require("./services/services"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const collectYourStuff={Arrayable:_Arrayable.default,DoublyLinkedList:_DoublyLinkedList.default,LinkedList:_LinkedList.default,LinkedTreeList:_LinkedTreeList.default,Queue:_Queue.default,Stack:_Stack.default,recipes:_recipes.default,services:_services.default};var _default=exports.default=collectYourStuff;"undefined"!=typeof window&&(window.collectYourStuff=collectYourStuff);
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/stable");var _Arrayable=require("./collections/arrayable/Arrayable"),_DoublyLinkedList=require("./collections/doubly-linked-list/DoublyLinkedList"),_LinkedList=require("./collections/linked-list/LinkedList"),_LinkedTreeList=require("./collections/linked-tree-list/LinkedTreeList"),_Queue=require("./collections/queue/Queue"),_Stack=require("./collections/stack/Stack"),_recipes=require("./recipes/recipes"),_services=require("./services/services");const collectYourStuff={Arrayable:_Arrayable.Arrayable,DoublyLinkedList:_DoublyLinkedList.DoublyLinkedList,LinkedList:_LinkedList.LinkedList,LinkedTreeList:_LinkedTreeList.LinkedTreeList,Queue:_Queue.Queue,Stack:_Stack.Stack,recipes:_recipes.recipes,services:_services.services};var _default=exports.default=collectYourStuff;"undefined"!=typeof window&&(window.collectYourStuff=collectYourStuff);
@@ -1,11 +1,10 @@
1
- import IsElement from './IsElement';
1
+ import { IsElement } from './IsElement';
2
2
  /**
3
3
  * Class ArrayIterator returns the next value when using elements of array type list.
4
4
  */
5
- declare class ArrayIterator implements Iterator<IsElement> {
5
+ export declare class ArrayIterator implements Iterator<IsElement> {
6
6
  private readonly innerList;
7
7
  private index;
8
8
  constructor(innerList: Array<IsElement>, index?: number);
9
9
  next(value?: any): IteratorResult<IsElement>;
10
10
  }
11
- export default ArrayIterator;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', {
4
4
  value: true
5
5
  })
6
- exports.default = void 0
6
+ exports.ArrayIterator = void 0
7
7
  /**
8
8
  * Class ArrayIterator returns the next value when using elements of array type list.
9
9
  */
@@ -27,4 +27,4 @@ class ArrayIterator {
27
27
  }
28
28
  }
29
29
  }
30
- var _default = exports.default = ArrayIterator
30
+ exports.ArrayIterator = ArrayIterator
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;class ArrayIterator{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.innerList=e,this.index=t}next(e){return this.index<this.innerList.length?{value:this.innerList[this.index++],done:!1}:{value:void 0,done:!0}}}var _default=exports.default=ArrayIterator;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ArrayIterator=void 0;class ArrayIterator{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.innerList=t,this.index=e}next(t){return this.index<this.innerList.length?{value:this.innerList[this.index++],done:!1}:{value:void 0,done:!0}}}exports.ArrayIterator=ArrayIterator;
@@ -1,10 +1,9 @@
1
- import IsDoubleLinker from './IsDoubleLinker';
1
+ import { IsDoubleLinker } from './IsDoubleLinker';
2
2
  /**
3
3
  * Class DoubleLinkerIterator returns the next value when using linkers of linked type lists.
4
4
  */
5
- declare class DoubleLinkerIterator implements Iterator<IsDoubleLinker> {
5
+ export declare class DoubleLinkerIterator implements Iterator<IsDoubleLinker> {
6
6
  private current;
7
7
  constructor(current: IsDoubleLinker);
8
8
  next(value?: any): IteratorResult<IsDoubleLinker>;
9
9
  }
10
- export default DoubleLinkerIterator;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', {
4
4
  value: true
5
5
  })
6
- exports.default = void 0
6
+ exports.DoubleLinkerIterator = void 0
7
7
  /**
8
8
  * Class DoubleLinkerIterator returns the next value when using linkers of linked type lists.
9
9
  */
@@ -21,4 +21,4 @@ class DoubleLinkerIterator {
21
21
  return result
22
22
  }
23
23
  }
24
- var _default = exports.default = DoubleLinkerIterator
24
+ exports.DoubleLinkerIterator = DoubleLinkerIterator
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;class DoubleLinkerIterator{constructor(t){this.current=t}next(t){const e={value:this.current,done:!this.current};return this.current=this.current?this.current.next:null,e}}var _default=exports.default=DoubleLinkerIterator;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.DoubleLinkerIterator=void 0;class DoubleLinkerIterator{constructor(e){this.current=e}next(e){const r={value:this.current,done:!this.current};return this.current=this.current?this.current.next:null,r}}exports.DoubleLinkerIterator=DoubleLinkerIterator;
@@ -1,4 +1,4 @@
1
- import IsElement from './IsElement';
1
+ import { IsElement } from './IsElement';
2
2
  /**
3
3
  * Run this function for each element in this arrayable.
4
4
  * @callback forEachCallback
@@ -10,7 +10,7 @@ export type forEachCallback = (element: IsElement, index?: number, thisArg?: IsA
10
10
  /**
11
11
  * Arrayable represents a collection stored as Elements.
12
12
  */
13
- export default interface IsArrayable<T extends IsElement> {
13
+ export interface IsArrayable<T extends IsElement> {
14
14
  /**
15
15
  * Obnoxious typescript won't let me use typeof this class
16
16
  * @property {IsArrayable} classType
@@ -1,8 +1,8 @@
1
- import IsLinker from './IsLinker';
1
+ import { IsLinker } from './IsLinker';
2
2
  /**
3
3
  * Define the common attributes of a DoubleLinker used in a linking structure chained with 'next' and sometimes 'prev'.
4
4
  */
5
- export default interface IsDoubleLinker extends IsLinker {
5
+ export interface IsDoubleLinker extends IsLinker {
6
6
  /**
7
7
  * @property {IsDoubleLinker} [next=null]
8
8
  */
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Define the common attributes of an Element in a list.
3
3
  */
4
- export default interface IsElement {
4
+ export interface IsElement {
5
5
  /**
6
6
  * Obnoxious typescript won't let me use typeof this class
7
7
  * @property {IsElement} classType
@@ -1,8 +1,8 @@
1
- import IsElement from './IsElement';
1
+ import { IsElement } from './IsElement';
2
2
  /**
3
3
  * Define the common attributes of a Linker used in a linking structure chained with 'next' (and sometimes 'prev').
4
4
  */
5
- export default interface IsLinker extends IsElement {
5
+ export interface IsLinker extends IsElement {
6
6
  /**
7
7
  * @property {IsLinker} [next=null]
8
8
  */
@@ -1,9 +1,9 @@
1
- import IsTreeNode from './IsTreeNode';
2
- import IsArrayable from './IsArrayable';
1
+ import { IsTreeNode } from './IsTreeNode';
2
+ import { IsArrayable } from './IsArrayable';
3
3
  /**
4
4
  * Arrayable represents a collection stored as Elements.
5
5
  */
6
- export default interface IsTree extends IsArrayable<IsTreeNode> {
6
+ export interface IsTree extends IsArrayable<IsTreeNode> {
7
7
  /**
8
8
  * @property {IsTreeNode} rootParent
9
9
  */
@@ -1,10 +1,10 @@
1
- import IsArrayable from './IsArrayable';
2
- import IsDoubleLinker from './IsDoubleLinker';
3
- import LinkedTreeList from '../collections/linked-tree-list/LinkedTreeList';
1
+ import { IsArrayable } from './IsArrayable';
2
+ import { IsDoubleLinker } from './IsDoubleLinker';
3
+ import { LinkedTreeList } from '../collections/linked-tree-list/LinkedTreeList';
4
4
  /**
5
5
  * Define the common attributes of a Tree Node for a tree structure.
6
6
  */
7
- export default interface IsTreeNode extends IsDoubleLinker {
7
+ export interface IsTreeNode extends IsDoubleLinker {
8
8
  /**
9
9
  * @property {IsTreeNode} [next=null]
10
10
  */
@@ -1,10 +1,9 @@
1
- import IsLinker from './IsLinker';
1
+ import { IsLinker } from './IsLinker';
2
2
  /**
3
3
  * Class LinkerIterator returns the next value when using linkers of linked type lists.
4
4
  */
5
- declare class LinkerIterator implements Iterator<IsLinker> {
5
+ export declare class LinkerIterator implements Iterator<IsLinker> {
6
6
  private current;
7
7
  constructor(current: IsLinker);
8
8
  next(value?: any): IteratorResult<IsLinker>;
9
9
  }
10
- export default LinkerIterator;