@raikuxq/alg-ds 1.1.7 → 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 (205) hide show
  1. package/README.md +67 -78
  2. package/lib/{algorithms → app/algorithms}/binary-search.d.ts +0 -0
  3. package/lib/app/algorithms/binary-search.js +27 -0
  4. package/lib/{algorithms → app/algorithms}/factorial.d.ts +0 -0
  5. package/lib/{algorithms → app/algorithms}/factorial.js +1 -1
  6. package/lib/{algorithms → app/algorithms}/fibonacci.d.ts +0 -0
  7. package/lib/app/algorithms/fibonacci.js +17 -0
  8. package/lib/{data-structures/Graph → app/algorithms/graph}/iterator/AbstractGraphIterator.d.ts +0 -0
  9. package/lib/app/algorithms/graph/iterator/AbstractGraphIterator.js +83 -0
  10. package/lib/{data-structures/Graph → app/algorithms/graph}/iterator/GraphIteratorBFS.d.ts +0 -0
  11. package/lib/{data-structures/Graph → app/algorithms/graph}/iterator/GraphIteratorBFS.js +2 -2
  12. package/lib/{data-structures/Graph → app/algorithms/graph}/iterator/GraphIteratorDFS.d.ts +0 -0
  13. package/lib/{data-structures/Graph → app/algorithms/graph}/iterator/GraphIteratorDFS.js +2 -2
  14. package/lib/{data-structures/Graph → app/algorithms/graph}/iterator/GraphIteratorDijkstra.d.ts +0 -0
  15. package/lib/{data-structures/Graph → app/algorithms/graph}/iterator/GraphIteratorDijkstra.js +3 -5
  16. package/lib/{data-structures/Graph/strategy → app/algorithms/graph/iterator-strategy}/BFSIterationStrategy.d.ts +0 -0
  17. package/lib/{data-structures/Graph/strategy → app/algorithms/graph/iterator-strategy}/BFSIterationStrategy.js +1 -1
  18. package/lib/{data-structures/Graph/strategy → app/algorithms/graph/iterator-strategy}/DFSIterationStrategy.d.ts +0 -0
  19. package/lib/{data-structures/Graph/strategy → app/algorithms/graph/iterator-strategy}/DFSIterationStrategy.js +1 -1
  20. package/lib/{data-structures/Graph/strategy → app/algorithms/graph/iterator-strategy}/DijkstraIterationStrategy.d.ts +0 -0
  21. package/lib/{data-structures/Graph/strategy → app/algorithms/graph/iterator-strategy}/DijkstraIterationStrategy.js +1 -1
  22. package/lib/{data-structures/Graph → app/algorithms/graph}/presenter/presenterAdjacencyLists.d.ts +0 -0
  23. package/lib/{data-structures/Graph → app/algorithms/graph}/presenter/presenterAdjacencyLists.js +1 -1
  24. package/lib/{data-structures/Graph → app/algorithms/graph}/presenter/presenterAdjacencyMatrix.d.ts +2 -2
  25. package/lib/{data-structures/Graph → app/algorithms/graph}/presenter/presenterAdjacencyMatrix.js +1 -1
  26. package/lib/{data-structures/Graph → app/algorithms/graph}/searching/hasPath.d.ts +0 -0
  27. package/lib/{data-structures/Graph → app/algorithms/graph}/searching/hasPath.js +1 -1
  28. package/lib/{data-structures/Graph → app/algorithms/graph}/searching/shortestPath.d.ts +0 -0
  29. package/lib/{data-structures/Graph → app/algorithms/graph}/searching/shortestPath.js +1 -1
  30. package/lib/{data-structures/Graph → app/algorithms/graph}/transposing/transposeDirectedGraph.d.ts +0 -0
  31. package/lib/{data-structures/Graph → app/algorithms/graph}/transposing/transposeDirectedGraph.js +3 -3
  32. package/lib/{algorithms → app/algorithms}/memoize.d.ts +0 -0
  33. package/lib/{algorithms → app/algorithms}/memoize.js +1 -1
  34. package/lib/{algorithms → app/algorithms}/sorts/bubble-sort.d.ts +0 -0
  35. package/lib/{algorithms → app/algorithms}/sorts/bubble-sort.js +1 -1
  36. package/lib/{algorithms → app/algorithms}/sorts/insertion-sort.d.ts +0 -0
  37. package/lib/app/algorithms/sorts/insertion-sort.js +25 -0
  38. package/lib/{algorithms → app/algorithms}/sorts/merge-sort.d.ts +0 -0
  39. package/lib/app/algorithms/sorts/merge-sort.js +61 -0
  40. package/lib/{algorithms → app/algorithms}/sorts/quick-sort.d.ts +0 -0
  41. package/lib/{algorithms → app/algorithms}/sorts/quick-sort.js +1 -1
  42. package/lib/{algorithms → app/algorithms}/sorts/select-sort.d.ts +0 -0
  43. package/lib/{algorithms → app/algorithms}/sorts/select-sort.js +1 -1
  44. package/lib/app/algorithms/transpose-matrix.d.ts +5 -0
  45. package/lib/{algorithms → app/algorithms}/transpose-matrix.js +1 -1
  46. package/lib/{constants.d.ts → app/constants.d.ts} +0 -0
  47. package/lib/{constants.js → app/constants.js} +1 -1
  48. package/lib/{data-structures → app/data-structures}/BinaryTree/AbstractBinaryTree/AbstractBinaryNode.d.ts +0 -0
  49. package/lib/{data-structures → app/data-structures}/BinaryTree/AbstractBinaryTree/AbstractBinaryNode.js +1 -1
  50. package/lib/{data-structures → app/data-structures}/BinaryTree/AbstractBinaryTree/AbstractBinaryTree.d.ts +0 -0
  51. package/lib/{data-structures → app/data-structures}/BinaryTree/AbstractBinaryTree/AbstractBinaryTree.js +1 -1
  52. package/lib/{data-structures → app/data-structures}/BinaryTree/BinarySearchTree/BinarySearchNode.d.ts +0 -0
  53. package/lib/{data-structures → app/data-structures}/BinaryTree/BinarySearchTree/BinarySearchNode.js +1 -1
  54. package/lib/{data-structures → app/data-structures}/BinaryTree/BinarySearchTree/BinarySearchTree.d.ts +0 -0
  55. package/lib/{data-structures → app/data-structures}/BinaryTree/BinarySearchTree/BinarySearchTree.js +3 -3
  56. package/lib/{data-structures → app/data-structures}/BinaryTree/RandBinarySearchTree/RandBinarySearchNode.d.ts +0 -0
  57. package/lib/{data-structures → app/data-structures}/BinaryTree/RandBinarySearchTree/RandBinarySearchNode.js +1 -1
  58. package/lib/{data-structures → app/data-structures}/BinaryTree/RandBinarySearchTree/RandBinarySearchTree.d.ts +0 -0
  59. package/lib/{data-structures → app/data-structures}/BinaryTree/RandBinarySearchTree/RandBinarySearchTree.js +1 -1
  60. package/lib/app/data-structures/BinaryTree/_helpers/createBinaryTree.d.ts +6 -0
  61. package/lib/app/data-structures/BinaryTree/_helpers/createBinaryTree.js +22 -0
  62. package/lib/{data-structures → app/data-structures}/Graph/AbstractGraph.d.ts +0 -0
  63. package/lib/{data-structures → app/data-structures}/Graph/AbstractGraph.js +1 -1
  64. package/lib/{data-structures → app/data-structures}/Graph/DirectedGraph.d.ts +0 -0
  65. package/lib/{data-structures → app/data-structures}/Graph/DirectedGraph.js +1 -1
  66. package/lib/{data-structures → app/data-structures}/Graph/GraphEdge.d.ts +0 -0
  67. package/lib/{data-structures → app/data-structures}/Graph/GraphEdge.js +1 -1
  68. package/lib/{data-structures → app/data-structures}/Graph/UndirectedGraph.d.ts +0 -0
  69. package/lib/{data-structures → app/data-structures}/Graph/UndirectedGraph.js +1 -1
  70. package/lib/app/data-structures/Graph/_helpers/createGraph.d.ts +6 -0
  71. package/lib/app/data-structures/Graph/_helpers/createGraph.js +22 -0
  72. package/lib/app/data-structures/Graph/_helpers/createGraphFromMatrix.d.ts +7 -0
  73. package/lib/app/data-structures/Graph/_helpers/createGraphFromMatrix.js +42 -0
  74. package/lib/{data-structures/Graph/demo → app/data-structures/Graph/_helpers}/generateRandomGraph.d.ts +0 -0
  75. package/lib/app/data-structures/Graph/_helpers/generateRandomGraph.js +67 -0
  76. package/lib/{data-structures → app/data-structures}/HashTable/HashTable.d.ts +0 -0
  77. package/lib/app/data-structures/HashTable/HashTable.js +171 -0
  78. package/lib/{data-structures → app/data-structures}/HashTable/HashTableNode.d.ts +0 -0
  79. package/lib/{data-structures → app/data-structures}/HashTable/HashTableNode.js +1 -1
  80. package/lib/{data-structures → app/data-structures}/LinkedList/AbstractLinkedList/AbstractLinkedList.d.ts +0 -0
  81. package/lib/app/data-structures/LinkedList/AbstractLinkedList/AbstractLinkedList.js +241 -0
  82. package/lib/{data-structures → app/data-structures}/LinkedList/AbstractLinkedList/AbstractLinkedNode.d.ts +0 -0
  83. package/lib/{data-structures → app/data-structures}/LinkedList/AbstractLinkedList/AbstractLinkedNode.js +1 -1
  84. package/lib/{data-structures → app/data-structures}/LinkedList/DoubleLinkedList/DoubleLinkedList.d.ts +0 -0
  85. package/lib/{data-structures → app/data-structures}/LinkedList/DoubleLinkedList/DoubleLinkedList.js +1 -1
  86. package/lib/{data-structures → app/data-structures}/LinkedList/DoubleLinkedList/DoubleLinkedNode.d.ts +0 -0
  87. package/lib/{data-structures → app/data-structures}/LinkedList/DoubleLinkedList/DoubleLinkedNode.js +1 -1
  88. package/lib/{data-structures → app/data-structures}/LinkedList/SingleLinkedList/SingleLinkedList.d.ts +0 -0
  89. package/lib/{data-structures → app/data-structures}/LinkedList/SingleLinkedList/SingleLinkedList.js +1 -1
  90. package/lib/{data-structures → app/data-structures}/LinkedList/SingleLinkedList/SingleLinkedNode.d.ts +0 -0
  91. package/lib/{data-structures → app/data-structures}/LinkedList/SingleLinkedList/SingleLinkedNode.js +1 -1
  92. package/lib/app/data-structures/LinkedList/_helpers/createLinkedList.d.ts +3 -0
  93. package/lib/app/data-structures/LinkedList/_helpers/createLinkedList.js +19 -0
  94. package/lib/{data-structures → app/data-structures}/LoopedArray/LoopedArray.d.ts +0 -0
  95. package/lib/app/data-structures/LoopedArray/LoopedArray.js +169 -0
  96. package/lib/{data-structures → app/data-structures}/Queue/Queue.d.ts +0 -0
  97. package/lib/app/data-structures/Queue/Queue.js +85 -0
  98. package/lib/{data-structures → app/data-structures}/Stack/Stack.d.ts +0 -0
  99. package/lib/app/data-structures/Stack/Stack.js +85 -0
  100. package/lib/{exceptions/IsEmptyException.d.ts → app/exceptions/CollectionIsEmptyException.d.ts} +1 -1
  101. package/lib/{exceptions/IsFullException.js → app/exceptions/CollectionIsEmptyException.js} +7 -7
  102. package/lib/{exceptions/IsFullException.d.ts → app/exceptions/CollectionIsFullException.d.ts} +1 -1
  103. package/lib/{exceptions/IsEmptyException.js → app/exceptions/CollectionIsFullException.js} +7 -7
  104. package/lib/{exceptions → app/exceptions}/IndexOutOfBoundsException.d.ts +0 -0
  105. package/lib/{exceptions → app/exceptions}/IndexOutOfBoundsException.js +1 -1
  106. package/lib/{exceptions → app/exceptions}/IsAlreadyExistsException.d.ts +0 -0
  107. package/lib/{exceptions → app/exceptions}/IsAlreadyExistsException.js +1 -1
  108. package/lib/{exceptions → app/exceptions}/IsNotFoundException.d.ts +0 -0
  109. package/lib/{exceptions → app/exceptions}/IsNotFoundException.js +1 -1
  110. package/lib/{exceptions/IllegalCapacityException.d.ts → app/exceptions/ValueOutOfRangeException.d.ts} +1 -1
  111. package/lib/{exceptions/IllegalCapacityException.js → app/exceptions/ValueOutOfRangeException.js} +7 -7
  112. package/lib/{exceptions → app/exceptions}/base/IllegalArgumentException.d.ts +0 -0
  113. package/lib/{exceptions → app/exceptions}/base/IllegalArgumentException.js +1 -1
  114. package/lib/{exceptions → app/exceptions}/base/IllegalStateException.d.ts +0 -0
  115. package/lib/{exceptions → app/exceptions}/base/IllegalStateException.js +1 -1
  116. package/lib/{types → app/types}/EnumBinarySearchTreeType.d.ts +0 -0
  117. package/lib/{types → app/types}/EnumBinarySearchTreeType.js +1 -1
  118. package/lib/app/types/EnumGraphTraversalType.d.ts +5 -0
  119. package/lib/app/types/EnumGraphTraversalType.js +10 -0
  120. package/lib/{types → app/types}/EnumGraphType.d.ts +0 -0
  121. package/lib/{types → app/types}/EnumGraphType.js +1 -1
  122. package/lib/{types → app/types}/EnumLinkedListType.d.ts +0 -0
  123. package/lib/{types → app/types}/EnumLinkedListType.js +1 -1
  124. package/lib/{types → app/types}/EnumRandomGenerationFormat.d.ts +0 -0
  125. package/lib/{types → app/types}/EnumRandomGenerationFormat.js +1 -1
  126. package/lib/app/types/EnumSortType.d.ts +7 -0
  127. package/lib/app/types/EnumSortType.js +12 -0
  128. package/lib/{types → app/types}/EnumTreeTraversalType.d.ts +0 -0
  129. package/lib/{types → app/types}/EnumTreeTraversalType.js +1 -1
  130. package/lib/{types → app/types}/FnCompareTwo.d.ts +0 -0
  131. package/lib/{types → app/types}/FnCompareTwo.js +1 -1
  132. package/lib/{types → app/types}/FnToMemoize.d.ts +0 -0
  133. package/lib/{types → app/types}/FnToMemoize.js +1 -1
  134. package/lib/{types → app/types}/IArrayFacade.d.ts +0 -0
  135. package/lib/{types → app/types}/IArrayFacade.js +1 -1
  136. package/lib/{types → app/types}/IBiDirectIterable.d.ts +0 -0
  137. package/lib/{types → app/types}/IBiDirectIterable.js +1 -1
  138. package/lib/{types → app/types}/IBiDirectIterator.d.ts +0 -0
  139. package/lib/{types → app/types}/IBiDirectIterator.js +1 -1
  140. package/lib/{types → app/types}/IBinaryTree.d.ts +0 -0
  141. package/lib/{types → app/types}/IBinaryTree.js +1 -1
  142. package/lib/{types → app/types}/IConvertableToArray.d.ts +0 -0
  143. package/lib/{types → app/types}/IConvertableToArray.js +1 -1
  144. package/lib/{types → app/types}/IGraph.d.ts +0 -0
  145. package/lib/{types → app/types}/IGraph.js +1 -1
  146. package/lib/{types → app/types}/IGraphIterationStrategy.d.ts +0 -0
  147. package/lib/{types → app/types}/IGraphIterationStrategy.js +1 -1
  148. package/lib/{types → app/types}/IGraphIterator.d.ts +0 -0
  149. package/lib/{types → app/types}/IGraphIterator.js +1 -1
  150. package/lib/{types → app/types}/IIterable.d.ts +0 -0
  151. package/lib/{types → app/types}/IIterable.js +1 -1
  152. package/lib/{types → app/types}/IIterator.d.ts +0 -0
  153. package/lib/{types → app/types}/IIterator.js +1 -1
  154. package/lib/{types → app/types}/IKeyValueStorage.d.ts +0 -0
  155. package/lib/{types → app/types}/IKeyValueStorage.js +1 -1
  156. package/lib/{types → app/types}/ILinearStorage.d.ts +0 -0
  157. package/lib/{types → app/types}/ILinearStorage.js +1 -1
  158. package/lib/{types → app/types}/ILinearStorageRA.d.ts +0 -0
  159. package/lib/{types → app/types}/ILinearStorageRA.js +1 -1
  160. package/lib/{types → app/types}/ILinkedList.d.ts +0 -0
  161. package/lib/{types → app/types}/ILinkedList.js +1 -1
  162. package/lib/app/types/TypeArrayMatrix.d.ts +1 -0
  163. package/lib/app/types/TypeArrayMatrix.js +3 -0
  164. package/lib/{utils.d.ts → app/utils.d.ts} +4 -0
  165. package/lib/{utils.js → app/utils.js} +8 -2
  166. package/lib/exports/algorithms.d.ts +15 -15
  167. package/lib/exports/algorithms.js +16 -16
  168. package/lib/exports/constants.d.ts +1 -1
  169. package/lib/exports/constants.js +2 -2
  170. package/lib/exports/data-structures.d.ts +10 -10
  171. package/lib/exports/data-structures.js +11 -11
  172. package/lib/exports/helpers.d.ts +5 -5
  173. package/lib/exports/helpers.js +6 -6
  174. package/lib/exports/sorts.d.ts +5 -5
  175. package/lib/exports/sorts.js +6 -6
  176. package/lib/exports/types.d.ts +16 -0
  177. package/lib/exports/types.js +34 -0
  178. package/lib/exports/utils.d.ts +2 -2
  179. package/lib/exports/utils.js +3 -3
  180. package/lib/exports.d.ts +47 -46
  181. package/lib/exports.js +51 -49
  182. package/lib/index.js +1 -2
  183. package/package.json +11 -6
  184. package/lib/algorithms/binary-search.js +0 -27
  185. package/lib/algorithms/fibonacci.js +0 -17
  186. package/lib/algorithms/sorts/insertion-sort.js +0 -25
  187. package/lib/algorithms/sorts/merge-sort.js +0 -61
  188. package/lib/algorithms/transpose-matrix.d.ts +0 -5
  189. package/lib/data-structures/Graph/demo/generateRandomGraph.js +0 -66
  190. package/lib/data-structures/Graph/iterator/AbstractGraphIterator.js +0 -90
  191. package/lib/data-structures/HashTable/HashTable.js +0 -171
  192. package/lib/data-structures/LinkedList/AbstractLinkedList/AbstractLinkedList.js +0 -241
  193. package/lib/data-structures/LoopedArray/LoopedArray.js +0 -169
  194. package/lib/data-structures/Queue/Queue.js +0 -85
  195. package/lib/data-structures/Stack/Stack.js +0 -85
  196. package/lib/helpers/createBinaryTree.d.ts +0 -6
  197. package/lib/helpers/createBinaryTree.js +0 -22
  198. package/lib/helpers/createGraph.d.ts +0 -6
  199. package/lib/helpers/createGraph.js +0 -24
  200. package/lib/helpers/createGraphFromMatrix.d.ts +0 -7
  201. package/lib/helpers/createGraphFromMatrix.js +0 -42
  202. package/lib/helpers/createLinkedList.d.ts +0 -3
  203. package/lib/helpers/createLinkedList.js +0 -21
  204. package/lib/types/ArrayMatrix.d.ts +0 -1
  205. package/lib/types/ArrayMatrix.js +0 -3
@@ -26,4 +26,4 @@ var SingleLinkedNode = /** @class */ (function (_super) {
26
26
  return SingleLinkedNode;
27
27
  }(AbstractLinkedNode_1.default));
28
28
  exports.default = SingleLinkedNode;
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2luZ2xlTGlua2VkTm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRhLXN0cnVjdHVyZXMvTGlua2VkTGlzdC9TaW5nbGVMaW5rZWRMaXN0L1NpbmdsZUxpbmtlZE5vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0VBQTBFO0FBRTFFO0lBQWlELG9DQUFxQjtJQUNwRTs7T0FFRztJQUNILDBCQUFtQixJQUFPLEVBQUUsSUFBdUM7UUFBdkMscUJBQUEsRUFBQSxXQUF1QztlQUNqRSxrQkFBTSxJQUFJLEVBQUUsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFDSCx1QkFBQztBQUFELENBQUMsQUFQRCxDQUFpRCw0QkFBa0IsR0FPbEUifQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2luZ2xlTGlua2VkTm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZGF0YS1zdHJ1Y3R1cmVzL0xpbmtlZExpc3QvU2luZ2xlTGlua2VkTGlzdC9TaW5nbGVMaW5rZWROb2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtFQUEwRTtBQUUxRTtJQUFpRCxvQ0FBcUI7SUFDcEU7O09BRUc7SUFDSCwwQkFBbUIsSUFBTyxFQUFFLElBQXVDO1FBQXZDLHFCQUFBLEVBQUEsV0FBdUM7ZUFDakUsa0JBQU0sSUFBSSxFQUFFLElBQUksQ0FBQztJQUNuQixDQUFDO0lBQ0gsdUJBQUM7QUFBRCxDQUFDLEFBUEQsQ0FBaUQsNEJBQWtCLEdBT2xFIn0=
@@ -0,0 +1,3 @@
1
+ import { EnumLinkedListType } from "../../../types/EnumLinkedListType";
2
+ import ILinkedList from "../../../types/ILinkedList";
3
+ export declare const createLinkedList: <T>(type: EnumLinkedListType, capacity?: number | undefined) => ILinkedList<T>;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createLinkedList = void 0;
4
+ var EnumLinkedListType_1 = require("../../../types/EnumLinkedListType");
5
+ var DoubleLinkedList_1 = require("../DoubleLinkedList/DoubleLinkedList");
6
+ var SingleLinkedList_1 = require("../SingleLinkedList/SingleLinkedList");
7
+ exports.createLinkedList = function (type, capacity) {
8
+ var linkedList;
9
+ switch (type) {
10
+ case EnumLinkedListType_1.EnumLinkedListType.DOUBLE:
11
+ linkedList = new DoubleLinkedList_1.default(capacity);
12
+ break;
13
+ case EnumLinkedListType_1.EnumLinkedListType.SINGLE:
14
+ linkedList = new SingleLinkedList_1.default(capacity);
15
+ break;
16
+ }
17
+ return linkedList;
18
+ };
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlTGlua2VkTGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZGF0YS1zdHJ1Y3R1cmVzL0xpbmtlZExpc3QvX2hlbHBlcnMvY3JlYXRlTGlua2VkTGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx3RUFBdUU7QUFDdkUseUVBQW9FO0FBQ3BFLHlFQUFvRTtBQUd2RCxRQUFBLGdCQUFnQixHQUFHLFVBQzlCLElBQXdCLEVBQ3hCLFFBQWlCO0lBRWpCLElBQUksVUFBMEIsQ0FBQztJQUUvQixRQUFRLElBQUksRUFBRTtRQUNaLEtBQUssdUNBQWtCLENBQUMsTUFBTTtZQUM1QixVQUFVLEdBQUcsSUFBSSwwQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM1QyxNQUFNO1FBQ1IsS0FBSyx1Q0FBa0IsQ0FBQyxNQUFNO1lBQzVCLFVBQVUsR0FBRyxJQUFJLDBCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzVDLE1BQU07S0FDVDtJQUVELE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMsQ0FBQyJ9
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var ValueOutOfRangeException_1 = require("../../exceptions/ValueOutOfRangeException");
4
+ var IsNotFoundException_1 = require("../../exceptions/IsNotFoundException");
5
+ var CollectionIsEmptyException_1 = require("../../exceptions/CollectionIsEmptyException");
6
+ /**
7
+ * Linear data structure
8
+ * Facade above array
9
+ * After reaching full array new pushed elements will be overwritten over old elements
10
+ */
11
+ var LoopedArray = /** @class */ (function () {
12
+ /**
13
+ * Create empty instance
14
+ */
15
+ function LoopedArray(capacity) {
16
+ this._realLength = 0;
17
+ if (capacity <= 0) {
18
+ throw new ValueOutOfRangeException_1.default("Capacity must be larger than 0");
19
+ }
20
+ this._capacity = capacity;
21
+ this._array = new Array(0);
22
+ }
23
+ /**
24
+ * Push into end
25
+ */
26
+ LoopedArray.prototype.push = function (value) {
27
+ if (this._realLength % this._capacity === 0) {
28
+ this._array = new Array(0);
29
+ }
30
+ this._realLength++;
31
+ if (!this.isFull()) {
32
+ this._array.push(value);
33
+ }
34
+ else {
35
+ var indexToPush = (this._realLength % this._capacity) - 1;
36
+ this._array.splice(indexToPush, 1, value);
37
+ }
38
+ };
39
+ /**
40
+ * Push into start
41
+ */
42
+ LoopedArray.prototype.unshift = function (value) {
43
+ if (this._realLength % this._capacity === 0) {
44
+ this._array = new Array(0);
45
+ }
46
+ this._realLength++;
47
+ if (!this.isFull()) {
48
+ this._array.unshift(value);
49
+ }
50
+ else {
51
+ this._array.splice(this._capacity - 1);
52
+ this._array.unshift(value);
53
+ }
54
+ };
55
+ /**
56
+ * Delete node from array's end
57
+ */
58
+ LoopedArray.prototype.pop = function () {
59
+ if (this.isEmpty()) {
60
+ throw new CollectionIsEmptyException_1.default("cannot delete because array is empty");
61
+ }
62
+ this._realLength--;
63
+ var deletedItem = this._array.pop();
64
+ if (deletedItem === undefined) {
65
+ throw new IsNotFoundException_1.default("cannot delete last element because of it does not exists");
66
+ }
67
+ return deletedItem;
68
+ };
69
+ /**
70
+ * Delete node from array's start
71
+ */
72
+ LoopedArray.prototype.shift = function () {
73
+ if (this.isEmpty()) {
74
+ throw new CollectionIsEmptyException_1.default("cannot delete because array is empty");
75
+ }
76
+ this._realLength--;
77
+ var deletedItem = this._array.shift();
78
+ if (deletedItem === undefined) {
79
+ throw new IsNotFoundException_1.default("cannot delete first element because of it does not exists");
80
+ }
81
+ return deletedItem;
82
+ };
83
+ /**
84
+ * Get head element data
85
+ */
86
+ LoopedArray.prototype.peek = function () {
87
+ return this._array[this._array.length - 1];
88
+ };
89
+ /**
90
+ * Get tail element data
91
+ */
92
+ LoopedArray.prototype.peekFromStart = function () {
93
+ return this._array[0];
94
+ };
95
+ /**
96
+ * Get array element by index from start
97
+ */
98
+ LoopedArray.prototype.peekByIndex = function (index) {
99
+ return this._array[index];
100
+ };
101
+ /**
102
+ * Push from index
103
+ */
104
+ LoopedArray.prototype.pushFromIndex = function (value, fromIndex) {
105
+ this._array[fromIndex] = value;
106
+ };
107
+ /**
108
+ * Get elements as array
109
+ */
110
+ LoopedArray.prototype.getAsArray = function () {
111
+ return this._array;
112
+ };
113
+ /**
114
+ * Check if element exists in array
115
+ */
116
+ LoopedArray.prototype.has = function (item) {
117
+ return this._array.includes(item);
118
+ };
119
+ /**
120
+ * Is array empty
121
+ */
122
+ LoopedArray.prototype.isEmpty = function () {
123
+ return this._array.length === 0;
124
+ };
125
+ /**
126
+ * Is array full
127
+ */
128
+ LoopedArray.prototype.isFull = function () {
129
+ return this._array.length >= this._capacity;
130
+ };
131
+ /**
132
+ * List length
133
+ */
134
+ LoopedArray.prototype.length = function () {
135
+ return this._array.length;
136
+ };
137
+ /**
138
+ * Remove all elements from array
139
+ */
140
+ LoopedArray.prototype.clear = function () {
141
+ this._array = new Array(0);
142
+ };
143
+ /**
144
+ * Delete node from array by index from start
145
+ */
146
+ LoopedArray.prototype.deleteFromIndex = function (fromIndex) {
147
+ var deletedElement = this._array[fromIndex];
148
+ delete this._array[fromIndex];
149
+ return deletedElement;
150
+ };
151
+ /**
152
+ * Add elements to array from array
153
+ * */
154
+ LoopedArray.prototype.pushFromArray = function (elements) {
155
+ var _this = this;
156
+ elements.forEach(function (element) {
157
+ _this.push(element);
158
+ });
159
+ };
160
+ /**
161
+ * Reverse array nodes links and swap head with tail
162
+ */
163
+ LoopedArray.prototype.reverse = function () {
164
+ this._array = this._array.reverse();
165
+ };
166
+ return LoopedArray;
167
+ }());
168
+ exports.default = LoopedArray;
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9vcGVkQXJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2RhdGEtc3RydWN0dXJlcy9Mb29wZWRBcnJheS9Mb29wZWRBcnJheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLHNGQUFpRjtBQUNqRiw0RUFBdUU7QUFDdkUsMEZBQXFGO0FBRXJGOzs7O0dBSUc7QUFDSDtJQUtFOztPQUVHO0lBQ0gscUJBQVksUUFBZ0I7UUFOcEIsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFPdEIsSUFBSSxRQUFRLElBQUksQ0FBQyxFQUFFO1lBQ2pCLE1BQU0sSUFBSSxrQ0FBd0IsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1NBQ3RFO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBSSxDQUFDLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSwwQkFBSSxHQUFYLFVBQVksS0FBUTtRQUNsQixJQUFJLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsS0FBSyxDQUFDLEVBQUU7WUFDM0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBSSxDQUFDLENBQUMsQ0FBQztTQUMvQjtRQUVELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVuQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3pCO2FBQU07WUFDTCxJQUFNLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1RCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQzND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
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var DoubleLinkedList_1 = require("../LinkedList/DoubleLinkedList/DoubleLinkedList");
4
+ var CollectionIsEmptyException_1 = require("../../exceptions/CollectionIsEmptyException");
5
+ var CollectionIsFullException_1 = require("../../exceptions/CollectionIsFullException");
6
+ /**
7
+ * FIFO data structure
8
+ */
9
+ var Queue = /** @class */ (function () {
10
+ /**
11
+ * Create a queue instance
12
+ */
13
+ function Queue(capacity) {
14
+ this._list = new DoubleLinkedList_1.default(capacity);
15
+ }
16
+ /**
17
+ * Get first element in queue (without deleting)
18
+ * @throws when list is empty
19
+ */
20
+ Queue.prototype.peek = function () {
21
+ if (this.isEmpty()) {
22
+ throw new CollectionIsEmptyException_1.default("Cannot peek when list is empty");
23
+ }
24
+ return this._list.peek();
25
+ };
26
+ /**
27
+ * Add element to queue
28
+ * @throws when list is full
29
+ */
30
+ Queue.prototype.push = function (item) {
31
+ if (this._list.isFull()) {
32
+ throw new CollectionIsFullException_1.default("Cannot push when queue is full");
33
+ }
34
+ this._list.unshift(item);
35
+ };
36
+ /**
37
+ * Delete first element in queue
38
+ * @throws when list is empty
39
+ */
40
+ Queue.prototype.pop = function () {
41
+ if (this.isEmpty()) {
42
+ throw new CollectionIsEmptyException_1.default("Cannot pop when list is empty");
43
+ }
44
+ return this._list.pop();
45
+ };
46
+ /**
47
+ * Check if element exists in list
48
+ */
49
+ Queue.prototype.has = function (item) {
50
+ return this._list.has(item);
51
+ };
52
+ /**
53
+ * Is queue empty
54
+ */
55
+ Queue.prototype.isEmpty = function () {
56
+ return this._list.isEmpty();
57
+ };
58
+ /**
59
+ * Is stack full
60
+ */
61
+ Queue.prototype.isFull = function () {
62
+ return this._list.isFull();
63
+ };
64
+ /**
65
+ * Remove all elements in queue
66
+ */
67
+ Queue.prototype.clear = function () {
68
+ this._list.clear();
69
+ };
70
+ /**
71
+ * Queue length
72
+ */
73
+ Queue.prototype.length = function () {
74
+ return this._list.length();
75
+ };
76
+ /**
77
+ * Reverse queue
78
+ */
79
+ Queue.prototype.reverse = function () {
80
+ this._list.reverse();
81
+ };
82
+ return Queue;
83
+ }());
84
+ exports.default = Queue;
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2RhdGEtc3RydWN0dXJlcy9RdWV1ZS9RdWV1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLG9GQUErRTtBQUcvRSwwRkFBcUY7QUFDckYsd0ZBQW1GO0FBRW5GOztHQUVHO0FBQ0g7SUFHRTs7T0FFRztJQUNILGVBQW1CLFFBQWlCO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSwwQkFBZ0IsQ0FBSSxRQUFRLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksb0JBQUksR0FBWDtRQUNFLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2xCLE1BQU0sSUFBSSxvQ0FBMEIsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1NBQ3hFO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxvQkFBSSxHQUFYLFVBQVksSUFBTztRQUNqQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDdkIsTUFBTSxJQUFJLG1DQUF5QixDQUFDLGdDQUFnQyxDQUFDLENBQUM7U0FDdkU7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksbUJBQUcsR0FBVjtRQUNFLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2xCLE1BQU0sSUFBSSxvQ0FBMEIsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1NBQ3ZFO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNJLG1CQUFHLEdBQVYsVUFBVyxJQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksdUJBQU8sR0FBZDtRQUNFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxzQkFBTSxHQUFiO1FBQ0UsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUNJLHFCQUFLLEdBQVo7UUFDRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7T0FFRztJQUNJLHNCQUFNLEdBQWI7UUFDRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksdUJBQU8sR0FBZDtRQUNFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUNILFlBQUM7QUFBRCxDQUFDLEFBcEZELElBb0ZDIn0=
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var DoubleLinkedList_1 = require("../LinkedList/DoubleLinkedList/DoubleLinkedList");
4
+ var CollectionIsEmptyException_1 = require("../../exceptions/CollectionIsEmptyException");
5
+ var CollectionIsFullException_1 = require("../../exceptions/CollectionIsFullException");
6
+ /**
7
+ * LIFO data structure
8
+ */
9
+ var Stack = /** @class */ (function () {
10
+ /**
11
+ * Create a stack instance
12
+ */
13
+ function Stack(capacity) {
14
+ this._list = new DoubleLinkedList_1.default(capacity);
15
+ }
16
+ /**
17
+ * Get stack top element
18
+ * @throws when list is empty
19
+ */
20
+ Stack.prototype.peek = function () {
21
+ if (this.isEmpty()) {
22
+ throw new CollectionIsEmptyException_1.default("Cannot peek when list is empty");
23
+ }
24
+ return this._list.peek();
25
+ };
26
+ /**
27
+ * Add element to stack head
28
+ * @throws when list is full
29
+ */
30
+ Stack.prototype.push = function (item) {
31
+ if (this.isFull()) {
32
+ throw new CollectionIsFullException_1.default("Stack is full");
33
+ }
34
+ this._list.push(item);
35
+ };
36
+ /**
37
+ * Remove element from stack head
38
+ * @throws when list is empty
39
+ */
40
+ Stack.prototype.pop = function () {
41
+ if (this.isEmpty()) {
42
+ throw new CollectionIsEmptyException_1.default("Cannot pop when stack is empty");
43
+ }
44
+ return this._list.pop();
45
+ };
46
+ /**
47
+ * Check if element exists in list
48
+ */
49
+ Stack.prototype.has = function (item) {
50
+ return this._list.has(item);
51
+ };
52
+ /**
53
+ * Is stack empty
54
+ */
55
+ Stack.prototype.isEmpty = function () {
56
+ return this._list.isEmpty();
57
+ };
58
+ /**
59
+ * Is stack full
60
+ */
61
+ Stack.prototype.isFull = function () {
62
+ return this._list.isFull();
63
+ };
64
+ /**
65
+ * Remove all elements in stack
66
+ */
67
+ Stack.prototype.clear = function () {
68
+ this._list.clear();
69
+ };
70
+ /**
71
+ * Queue length
72
+ */
73
+ Stack.prototype.length = function () {
74
+ return this._list.length();
75
+ };
76
+ /**
77
+ * Reverse stack
78
+ */
79
+ Stack.prototype.reverse = function () {
80
+ this._list.reverse();
81
+ };
82
+ return Stack;
83
+ }());
84
+ exports.default = Stack;
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2RhdGEtc3RydWN0dXJlcy9TdGFjay9TdGFjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLG9GQUErRTtBQUcvRSwwRkFBcUY7QUFDckYsd0ZBQW1GO0FBRW5GOztHQUVHO0FBQ0g7SUFHRTs7T0FFRztJQUNILGVBQW1CLFFBQWlCO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSwwQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksb0JBQUksR0FBWDtRQUNFLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2xCLE1BQU0sSUFBSSxvQ0FBMEIsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1NBQ3hFO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxvQkFBSSxHQUFYLFVBQVksSUFBTztRQUNqQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNqQixNQUFNLElBQUksbUNBQXlCLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDdEQ7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksbUJBQUcsR0FBVjtRQUNFLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2xCLE1BQU0sSUFBSSxvQ0FBMEIsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1NBQ3hFO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNJLG1CQUFHLEdBQVYsVUFBVyxJQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksdUJBQU8sR0FBZDtRQUNFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxzQkFBTSxHQUFiO1FBQ0UsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUNJLHFCQUFLLEdBQVo7UUFDRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7T0FFRztJQUNJLHNCQUFNLEdBQWI7UUFDRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksdUJBQU8sR0FBZDtRQUNFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUNILFlBQUM7QUFBRCxDQUFDLEFBcEZELElBb0ZDIn0=
@@ -1,4 +1,4 @@
1
1
  import IllegalStateException from "./base/IllegalStateException";
2
- export default class IsEmptyException extends IllegalStateException {
2
+ export default class CollectionIsEmptyException extends IllegalStateException {
3
3
  constructor(message: string);
4
4
  }
@@ -14,15 +14,15 @@ var __extends = (this && this.__extends) || (function () {
14
14
  })();
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  var IllegalStateException_1 = require("./base/IllegalStateException");
17
- var IsFullException = /** @class */ (function (_super) {
18
- __extends(IsFullException, _super);
19
- function IsFullException(message) {
17
+ var CollectionIsEmptyException = /** @class */ (function (_super) {
18
+ __extends(CollectionIsEmptyException, _super);
19
+ function CollectionIsEmptyException(message) {
20
20
  var _this = _super.call(this, message) || this;
21
21
  _this.name = _this.constructor.name;
22
- Object.setPrototypeOf(_this, IsFullException.prototype);
22
+ Object.setPrototypeOf(_this, CollectionIsEmptyException.prototype);
23
23
  return _this;
24
24
  }
25
- return IsFullException;
25
+ return CollectionIsEmptyException;
26
26
  }(IllegalStateException_1.default));
27
- exports.default = IsFullException;
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSXNGdWxsRXhjZXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4Y2VwdGlvbnMvSXNGdWxsRXhjZXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNFQUFpRTtBQUVqRTtJQUE2QyxtQ0FBcUI7SUFDaEUseUJBQVksT0FBZTtRQUEzQixZQUNFLGtCQUFNLE9BQU8sQ0FBQyxTQUdmO1FBRkMsS0FBSSxDQUFDLElBQUksR0FBRyxLQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztRQUNsQyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUksRUFBRSxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7O0lBQ3pELENBQUM7SUFDSCxzQkFBQztBQUFELENBQUMsQUFORCxDQUE2QywrQkFBcUIsR0FNakUifQ==
27
+ exports.default = CollectionIsEmptyException;
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sbGVjdGlvbklzRW1wdHlFeGNlcHRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2V4Y2VwdGlvbnMvQ29sbGVjdGlvbklzRW1wdHlFeGNlcHRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0VBQWlFO0FBRWpFO0lBQXdELDhDQUFxQjtJQUMzRSxvQ0FBWSxPQUFlO1FBQTNCLFlBQ0Usa0JBQU0sT0FBTyxDQUFDLFNBR2Y7UUFGQyxLQUFJLENBQUMsSUFBSSxHQUFHLEtBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ2xDLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSSxFQUFFLDBCQUEwQixDQUFDLFNBQVMsQ0FBQyxDQUFDOztJQUNwRSxDQUFDO0lBQ0gsaUNBQUM7QUFBRCxDQUFDLEFBTkQsQ0FBd0QsK0JBQXFCLEdBTTVFIn0=
@@ -1,4 +1,4 @@
1
1
  import IllegalStateException from "./base/IllegalStateException";
2
- export default class IsFullException extends IllegalStateException {
2
+ export default class CollectionIsFullException extends IllegalStateException {
3
3
  constructor(message: string);
4
4
  }
@@ -14,15 +14,15 @@ var __extends = (this && this.__extends) || (function () {
14
14
  })();
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  var IllegalStateException_1 = require("./base/IllegalStateException");
17
- var IsEmptyException = /** @class */ (function (_super) {
18
- __extends(IsEmptyException, _super);
19
- function IsEmptyException(message) {
17
+ var CollectionIsFullException = /** @class */ (function (_super) {
18
+ __extends(CollectionIsFullException, _super);
19
+ function CollectionIsFullException(message) {
20
20
  var _this = _super.call(this, message) || this;
21
21
  _this.name = _this.constructor.name;
22
- Object.setPrototypeOf(_this, IsEmptyException.prototype);
22
+ Object.setPrototypeOf(_this, CollectionIsFullException.prototype);
23
23
  return _this;
24
24
  }
25
- return IsEmptyException;
25
+ return CollectionIsFullException;
26
26
  }(IllegalStateException_1.default));
27
- exports.default = IsEmptyException;
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSXNFbXB0eUV4Y2VwdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGNlcHRpb25zL0lzRW1wdHlFeGNlcHRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0VBQWlFO0FBRWpFO0lBQThDLG9DQUFxQjtJQUNqRSwwQkFBWSxPQUFlO1FBQTNCLFlBQ0Usa0JBQU0sT0FBTyxDQUFDLFNBR2Y7UUFGQyxLQUFJLENBQUMsSUFBSSxHQUFHLEtBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ2xDLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSSxFQUFFLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDOztJQUMxRCxDQUFDO0lBQ0gsdUJBQUM7QUFBRCxDQUFDLEFBTkQsQ0FBOEMsK0JBQXFCLEdBTWxFIn0=
27
+ exports.default = CollectionIsFullException;
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sbGVjdGlvbklzRnVsbEV4Y2VwdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvZXhjZXB0aW9ucy9Db2xsZWN0aW9uSXNGdWxsRXhjZXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNFQUFpRTtBQUVqRTtJQUF1RCw2Q0FBcUI7SUFDMUUsbUNBQVksT0FBZTtRQUEzQixZQUNFLGtCQUFNLE9BQU8sQ0FBQyxTQUdmO1FBRkMsS0FBSSxDQUFDLElBQUksR0FBRyxLQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztRQUNsQyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUksRUFBRSx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsQ0FBQzs7SUFDbkUsQ0FBQztJQUNILGdDQUFDO0FBQUQsQ0FBQyxBQU5ELENBQXVELCtCQUFxQixHQU0zRSJ9
@@ -25,4 +25,4 @@ var IndexOutOfBoundsException = /** @class */ (function (_super) {
25
25
  return IndexOutOfBoundsException;
26
26
  }(IllegalArgumentException_1.default));
27
27
  exports.default = IndexOutOfBoundsException;
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5kZXhPdXRPZkJvdW5kc0V4Y2VwdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGNlcHRpb25zL0luZGV4T3V0T2ZCb3VuZHNFeGNlcHRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNEVBQXVFO0FBRXZFO0lBQXVELDZDQUF3QjtJQUM3RSxtQ0FBWSxPQUFlO1FBQTNCLFlBQ0Usa0JBQU0sT0FBTyxDQUFDLFNBR2Y7UUFGQyxLQUFJLENBQUMsSUFBSSxHQUFHLEtBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ2xDLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSSxFQUFFLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxDQUFDOztJQUNuRSxDQUFDO0lBQ0gsZ0NBQUM7QUFBRCxDQUFDLEFBTkQsQ0FBdUQsa0NBQXdCLEdBTTlFIn0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5kZXhPdXRPZkJvdW5kc0V4Y2VwdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvZXhjZXB0aW9ucy9JbmRleE91dE9mQm91bmRzRXhjZXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDRFQUF1RTtBQUV2RTtJQUF1RCw2Q0FBd0I7SUFDN0UsbUNBQVksT0FBZTtRQUEzQixZQUNFLGtCQUFNLE9BQU8sQ0FBQyxTQUdmO1FBRkMsS0FBSSxDQUFDLElBQUksR0FBRyxLQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztRQUNsQyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUksRUFBRSx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsQ0FBQzs7SUFDbkUsQ0FBQztJQUNILGdDQUFDO0FBQUQsQ0FBQyxBQU5ELENBQXVELGtDQUF3QixHQU05RSJ9
@@ -25,4 +25,4 @@ var IsAlreadyExistsException = /** @class */ (function (_super) {
25
25
  return IsAlreadyExistsException;
26
26
  }(IllegalStateException_1.default));
27
27
  exports.default = IsAlreadyExistsException;
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSXNBbHJlYWR5RXhpc3RzRXhjZXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4Y2VwdGlvbnMvSXNBbHJlYWR5RXhpc3RzRXhjZXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNFQUFpRTtBQUVqRTtJQUFzRCw0Q0FBcUI7SUFDekUsa0NBQVksT0FBZTtRQUEzQixZQUNFLGtCQUFNLE9BQU8sQ0FBQyxTQUdmO1FBRkMsS0FBSSxDQUFDLElBQUksR0FBRyxLQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztRQUNsQyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUksRUFBRSx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQzs7SUFDbEUsQ0FBQztJQUNILCtCQUFDO0FBQUQsQ0FBQyxBQU5ELENBQXNELCtCQUFxQixHQU0xRSJ9
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSXNBbHJlYWR5RXhpc3RzRXhjZXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9leGNlcHRpb25zL0lzQWxyZWFkeUV4aXN0c0V4Y2VwdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzRUFBaUU7QUFFakU7SUFBc0QsNENBQXFCO0lBQ3pFLGtDQUFZLE9BQWU7UUFBM0IsWUFDRSxrQkFBTSxPQUFPLENBQUMsU0FHZjtRQUZDLEtBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDbEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFJLEVBQUUsd0JBQXdCLENBQUMsU0FBUyxDQUFDLENBQUM7O0lBQ2xFLENBQUM7SUFDSCwrQkFBQztBQUFELENBQUMsQUFORCxDQUFzRCwrQkFBcUIsR0FNMUUifQ==
@@ -25,4 +25,4 @@ var IsNotFoundException = /** @class */ (function (_super) {
25
25
  return IsNotFoundException;
26
26
  }(IllegalStateException_1.default));
27
27
  exports.default = IsNotFoundException;
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSXNOb3RGb3VuZEV4Y2VwdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGNlcHRpb25zL0lzTm90Rm91bmRFeGNlcHRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsc0VBQWlFO0FBRWpFO0lBQWlELHVDQUFxQjtJQUNwRSw2QkFBWSxPQUFlO1FBQTNCLFlBQ0Usa0JBQU0sT0FBTyxDQUFDLFNBR2Y7UUFGQyxLQUFJLENBQUMsSUFBSSxHQUFHLEtBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ2xDLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSSxFQUFFLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDOztJQUM3RCxDQUFDO0lBQ0gsMEJBQUM7QUFBRCxDQUFDLEFBTkQsQ0FBaUQsK0JBQXFCLEdBTXJFIn0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSXNOb3RGb3VuZEV4Y2VwdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvZXhjZXB0aW9ucy9Jc05vdEZvdW5kRXhjZXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNFQUFpRTtBQUVqRTtJQUFpRCx1Q0FBcUI7SUFDcEUsNkJBQVksT0FBZTtRQUEzQixZQUNFLGtCQUFNLE9BQU8sQ0FBQyxTQUdmO1FBRkMsS0FBSSxDQUFDLElBQUksR0FBRyxLQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztRQUNsQyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUksRUFBRSxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQzs7SUFDN0QsQ0FBQztJQUNILDBCQUFDO0FBQUQsQ0FBQyxBQU5ELENBQWlELCtCQUFxQixHQU1yRSJ9
@@ -1,4 +1,4 @@
1
1
  import IllegalArgumentException from "./base/IllegalArgumentException";
2
- export default class IllegalCapacityException extends IllegalArgumentException {
2
+ export default class ValueOutOfRangeException extends IllegalArgumentException {
3
3
  constructor(message: string);
4
4
  }
@@ -14,15 +14,15 @@ var __extends = (this && this.__extends) || (function () {
14
14
  })();
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  var IllegalArgumentException_1 = require("./base/IllegalArgumentException");
17
- var IllegalCapacityException = /** @class */ (function (_super) {
18
- __extends(IllegalCapacityException, _super);
19
- function IllegalCapacityException(message) {
17
+ var ValueOutOfRangeException = /** @class */ (function (_super) {
18
+ __extends(ValueOutOfRangeException, _super);
19
+ function ValueOutOfRangeException(message) {
20
20
  var _this = _super.call(this, message) || this;
21
21
  _this.name = _this.constructor.name;
22
- Object.setPrototypeOf(_this, IllegalCapacityException.prototype);
22
+ Object.setPrototypeOf(_this, ValueOutOfRangeException.prototype);
23
23
  return _this;
24
24
  }
25
- return IllegalCapacityException;
25
+ return ValueOutOfRangeException;
26
26
  }(IllegalArgumentException_1.default));
27
- exports.default = IllegalCapacityException;
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSWxsZWdhbENhcGFjaXR5RXhjZXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2V4Y2VwdGlvbnMvSWxsZWdhbENhcGFjaXR5RXhjZXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDRFQUF1RTtBQUV2RTtJQUFzRCw0Q0FBd0I7SUFDNUUsa0NBQVksT0FBZTtRQUEzQixZQUNFLGtCQUFNLE9BQU8sQ0FBQyxTQUdmO1FBRkMsS0FBSSxDQUFDLElBQUksR0FBRyxLQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztRQUNsQyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUksRUFBRSx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQzs7SUFDbEUsQ0FBQztJQUNILCtCQUFDO0FBQUQsQ0FBQyxBQU5ELENBQXNELGtDQUF3QixHQU03RSJ9
27
+ exports.default = ValueOutOfRangeException;
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmFsdWVPdXRPZlJhbmdlRXhjZXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9leGNlcHRpb25zL1ZhbHVlT3V0T2ZSYW5nZUV4Y2VwdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQSw0RUFBdUU7QUFFdkU7SUFBc0QsNENBQXdCO0lBQzVFLGtDQUFZLE9BQWU7UUFBM0IsWUFDRSxrQkFBTSxPQUFPLENBQUMsU0FHZjtRQUZDLEtBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDbEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFJLEVBQUUsd0JBQXdCLENBQUMsU0FBUyxDQUFDLENBQUM7O0lBQ2xFLENBQUM7SUFDSCwrQkFBQztBQUFELENBQUMsQUFORCxDQUFzRCxrQ0FBd0IsR0FNN0UifQ==
@@ -24,4 +24,4 @@ var IllegalArgumentException = /** @class */ (function (_super) {
24
24
  return IllegalArgumentException;
25
25
  }(Error));
26
26
  exports.default = IllegalArgumentException;
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2V4Y2VwdGlvbnMvYmFzZS9JbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7SUFBc0QsNENBQUs7SUFDekQsa0NBQVksT0FBZTtRQUEzQixZQUNFLGtCQUFNLE9BQU8sQ0FBQyxTQUdmO1FBRkMsS0FBSSxDQUFDLElBQUksR0FBRyxLQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztRQUNsQyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUksRUFBRSx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQzs7SUFDbEUsQ0FBQztJQUNILCtCQUFDO0FBQUQsQ0FBQyxBQU5ELENBQXNELEtBQUssR0FNMUQifQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9leGNlcHRpb25zL2Jhc2UvSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0lBQXNELDRDQUFLO0lBQ3pELGtDQUFZLE9BQWU7UUFBM0IsWUFDRSxrQkFBTSxPQUFPLENBQUMsU0FHZjtRQUZDLEtBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDbEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFJLEVBQUUsd0JBQXdCLENBQUMsU0FBUyxDQUFDLENBQUM7O0lBQ2xFLENBQUM7SUFDSCwrQkFBQztBQUFELENBQUMsQUFORCxDQUFzRCxLQUFLLEdBTTFEIn0=
@@ -24,4 +24,4 @@ var IllegalStateException = /** @class */ (function (_super) {
24
24
  return IllegalStateException;
25
25
  }(Error));
26
26
  exports.default = IllegalStateException;
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSWxsZWdhbFN0YXRlRXhjZXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2V4Y2VwdGlvbnMvYmFzZS9JbGxlZ2FsU3RhdGVFeGNlcHRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7SUFBbUQseUNBQUs7SUFDdEQsK0JBQVksT0FBZTtRQUEzQixZQUNFLGtCQUFNLE9BQU8sQ0FBQyxTQUdmO1FBRkMsS0FBSSxDQUFDLElBQUksR0FBRyxLQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztRQUNsQyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUksRUFBRSxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQzs7SUFDL0QsQ0FBQztJQUNILDRCQUFDO0FBQUQsQ0FBQyxBQU5ELENBQW1ELEtBQUssR0FNdkQifQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSWxsZWdhbFN0YXRlRXhjZXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9leGNlcHRpb25zL2Jhc2UvSWxsZWdhbFN0YXRlRXhjZXB0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0lBQW1ELHlDQUFLO0lBQ3RELCtCQUFZLE9BQWU7UUFBM0IsWUFDRSxrQkFBTSxPQUFPLENBQUMsU0FHZjtRQUZDLEtBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDbEMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFJLEVBQUUscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUM7O0lBQy9ELENBQUM7SUFDSCw0QkFBQztBQUFELENBQUMsQUFORCxDQUFtRCxLQUFLLEdBTXZEIn0=
@@ -6,4 +6,4 @@ var EnumBinarySearchTreeType;
6
6
  EnumBinarySearchTreeType["BST"] = "Binary Search Tree";
7
7
  EnumBinarySearchTreeType["RANDOMIZED_BST"] = "Randomized Binary Search Tree";
8
8
  })(EnumBinarySearchTreeType = exports.EnumBinarySearchTreeType || (exports.EnumBinarySearchTreeType = {}));
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW51bUJpbmFyeVNlYXJjaFRyZWVUeXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL0VudW1CaW5hcnlTZWFyY2hUcmVlVHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFZLHdCQUdYO0FBSEQsV0FBWSx3QkFBd0I7SUFDbEMsc0RBQTBCLENBQUE7SUFDMUIsNEVBQWdELENBQUE7QUFDbEQsQ0FBQyxFQUhXLHdCQUF3QixHQUF4QixnQ0FBd0IsS0FBeEIsZ0NBQXdCLFFBR25DIn0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW51bUJpbmFyeVNlYXJjaFRyZWVUeXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC90eXBlcy9FbnVtQmluYXJ5U2VhcmNoVHJlZVR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSx3QkFHWDtBQUhELFdBQVksd0JBQXdCO0lBQ2xDLHNEQUEwQixDQUFBO0lBQzFCLDRFQUFnRCxDQUFBO0FBQ2xELENBQUMsRUFIVyx3QkFBd0IsR0FBeEIsZ0NBQXdCLEtBQXhCLGdDQUF3QixRQUduQyJ9
@@ -0,0 +1,5 @@
1
+ export declare enum EnumGraphTraversalType {
2
+ BFS = "Breadth first traversal",
3
+ DFS = "Deep first traversal",
4
+ DIJKSTRA = "Dijkstra traversal"
5
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EnumGraphTraversalType = void 0;
4
+ var EnumGraphTraversalType;
5
+ (function (EnumGraphTraversalType) {
6
+ EnumGraphTraversalType["BFS"] = "Breadth first traversal";
7
+ EnumGraphTraversalType["DFS"] = "Deep first traversal";
8
+ EnumGraphTraversalType["DIJKSTRA"] = "Dijkstra traversal";
9
+ })(EnumGraphTraversalType = exports.EnumGraphTraversalType || (exports.EnumGraphTraversalType = {}));
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW51bUdyYXBoVHJhdmVyc2FsVHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvdHlwZXMvRW51bUdyYXBoVHJhdmVyc2FsVHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFZLHNCQUlYO0FBSkQsV0FBWSxzQkFBc0I7SUFDaEMseURBQStCLENBQUE7SUFDL0Isc0RBQTRCLENBQUE7SUFDNUIseURBQStCLENBQUE7QUFDakMsQ0FBQyxFQUpXLHNCQUFzQixHQUF0Qiw4QkFBc0IsS0FBdEIsOEJBQXNCLFFBSWpDIn0=
File without changes
@@ -6,4 +6,4 @@ var EnumGraphType;
6
6
  EnumGraphType["Directed"] = "Directed";
7
7
  EnumGraphType["Undirected"] = "Undirected";
8
8
  })(EnumGraphType = exports.EnumGraphType || (exports.EnumGraphType = {}));
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW51bUdyYXBoVHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9FbnVtR3JhcGhUeXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksYUFHWDtBQUhELFdBQVksYUFBYTtJQUN2QixzQ0FBcUIsQ0FBQTtJQUNyQiwwQ0FBeUIsQ0FBQTtBQUMzQixDQUFDLEVBSFcsYUFBYSxHQUFiLHFCQUFhLEtBQWIscUJBQWEsUUFHeEIifQ==
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW51bUdyYXBoVHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvdHlwZXMvRW51bUdyYXBoVHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFZLGFBR1g7QUFIRCxXQUFZLGFBQWE7SUFDdkIsc0NBQXFCLENBQUE7SUFDckIsMENBQXlCLENBQUE7QUFDM0IsQ0FBQyxFQUhXLGFBQWEsR0FBYixxQkFBYSxLQUFiLHFCQUFhLFFBR3hCIn0=
File without changes
@@ -6,4 +6,4 @@ var EnumLinkedListType;
6
6
  EnumLinkedListType["DOUBLE"] = "Double linked list";
7
7
  EnumLinkedListType["SINGLE"] = "Single linked list";
8
8
  })(EnumLinkedListType = exports.EnumLinkedListType || (exports.EnumLinkedListType = {}));
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW51bUxpbmtlZExpc3RUeXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL0VudW1MaW5rZWRMaXN0VHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFZLGtCQUdYO0FBSEQsV0FBWSxrQkFBa0I7SUFDNUIsbURBQTZCLENBQUE7SUFDN0IsbURBQTZCLENBQUE7QUFDL0IsQ0FBQyxFQUhXLGtCQUFrQixHQUFsQiwwQkFBa0IsS0FBbEIsMEJBQWtCLFFBRzdCIn0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW51bUxpbmtlZExpc3RUeXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC90eXBlcy9FbnVtTGlua2VkTGlzdFR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxrQkFHWDtBQUhELFdBQVksa0JBQWtCO0lBQzVCLG1EQUE2QixDQUFBO0lBQzdCLG1EQUE2QixDQUFBO0FBQy9CLENBQUMsRUFIVyxrQkFBa0IsR0FBbEIsMEJBQWtCLEtBQWxCLDBCQUFrQixRQUc3QiJ9
@@ -6,4 +6,4 @@ var EnumRandomGenerationFormat;
6
6
  EnumRandomGenerationFormat["Numbers"] = "NUMBERS";
7
7
  EnumRandomGenerationFormat["Hash"] = "HASH";
8
8
  })(EnumRandomGenerationFormat = exports.EnumRandomGenerationFormat || (exports.EnumRandomGenerationFormat = {}));
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW51bVJhbmRvbUdlbmVyYXRpb25Gb3JtYXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvRW51bVJhbmRvbUdlbmVyYXRpb25Gb3JtYXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSwwQkFHWDtBQUhELFdBQVksMEJBQTBCO0lBQ3BDLGlEQUFtQixDQUFBO0lBQ25CLDJDQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsMEJBQTBCLEdBQTFCLGtDQUEwQixLQUExQixrQ0FBMEIsUUFHckMifQ==
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW51bVJhbmRvbUdlbmVyYXRpb25Gb3JtYXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL3R5cGVzL0VudW1SYW5kb21HZW5lcmF0aW9uRm9ybWF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksMEJBR1g7QUFIRCxXQUFZLDBCQUEwQjtJQUNwQyxpREFBbUIsQ0FBQTtJQUNuQiwyQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQUhXLDBCQUEwQixHQUExQixrQ0FBMEIsS0FBMUIsa0NBQTBCLFFBR3JDIn0=
@@ -0,0 +1,7 @@
1
+ export declare enum EnumSortType {
2
+ Quick = "Quick",
3
+ Merge = "Merge",
4
+ Selection = "Selection",
5
+ Bubble = "Bubble",
6
+ Insertion = "Insertion"
7
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EnumSortType = void 0;
4
+ var EnumSortType;
5
+ (function (EnumSortType) {
6
+ EnumSortType["Quick"] = "Quick";
7
+ EnumSortType["Merge"] = "Merge";
8
+ EnumSortType["Selection"] = "Selection";
9
+ EnumSortType["Bubble"] = "Bubble";
10
+ EnumSortType["Insertion"] = "Insertion";
11
+ })(EnumSortType = exports.EnumSortType || (exports.EnumSortType = {}));
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW51bVNvcnRUeXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC90eXBlcy9FbnVtU29ydFR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxZQU1YO0FBTkQsV0FBWSxZQUFZO0lBQ3RCLCtCQUFlLENBQUE7SUFDZiwrQkFBZSxDQUFBO0lBQ2YsdUNBQXVCLENBQUE7SUFDdkIsaUNBQWlCLENBQUE7SUFDakIsdUNBQXVCLENBQUE7QUFDekIsQ0FBQyxFQU5XLFlBQVksR0FBWixvQkFBWSxLQUFaLG9CQUFZLFFBTXZCIn0=