data-structure-typed 2.5.1 → 2.5.2

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 (172) hide show
  1. package/CHANGELOG.md +3 -1
  2. package/README.md +75 -17
  3. package/dist/cjs/binary-tree.cjs +2723 -139
  4. package/dist/cjs/graph.cjs +192 -6
  5. package/dist/cjs/hash.cjs +63 -15
  6. package/dist/cjs/heap.cjs +93 -31
  7. package/dist/cjs/index.cjs +3514 -379
  8. package/dist/cjs/linked-list.cjs +237 -31
  9. package/dist/cjs/matrix.cjs +47 -9
  10. package/dist/cjs/priority-queue.cjs +92 -30
  11. package/dist/cjs/queue.cjs +176 -2
  12. package/dist/cjs/stack.cjs +48 -2
  13. package/dist/cjs/trie.cjs +78 -28
  14. package/dist/cjs-legacy/binary-tree.cjs +2725 -136
  15. package/dist/cjs-legacy/graph.cjs +192 -6
  16. package/dist/cjs-legacy/hash.cjs +63 -15
  17. package/dist/cjs-legacy/heap.cjs +93 -31
  18. package/dist/cjs-legacy/index.cjs +3389 -249
  19. package/dist/cjs-legacy/linked-list.cjs +237 -31
  20. package/dist/cjs-legacy/matrix.cjs +47 -9
  21. package/dist/cjs-legacy/priority-queue.cjs +92 -30
  22. package/dist/cjs-legacy/queue.cjs +176 -2
  23. package/dist/cjs-legacy/stack.cjs +48 -2
  24. package/dist/cjs-legacy/trie.cjs +78 -28
  25. package/dist/esm/binary-tree.mjs +2723 -139
  26. package/dist/esm/graph.mjs +192 -6
  27. package/dist/esm/hash.mjs +63 -15
  28. package/dist/esm/heap.mjs +93 -31
  29. package/dist/esm/index.mjs +3514 -380
  30. package/dist/esm/linked-list.mjs +237 -31
  31. package/dist/esm/matrix.mjs +47 -9
  32. package/dist/esm/priority-queue.mjs +92 -30
  33. package/dist/esm/queue.mjs +176 -2
  34. package/dist/esm/stack.mjs +48 -2
  35. package/dist/esm/trie.mjs +78 -28
  36. package/dist/esm-legacy/binary-tree.mjs +2725 -136
  37. package/dist/esm-legacy/graph.mjs +192 -6
  38. package/dist/esm-legacy/hash.mjs +63 -15
  39. package/dist/esm-legacy/heap.mjs +93 -31
  40. package/dist/esm-legacy/index.mjs +3389 -250
  41. package/dist/esm-legacy/linked-list.mjs +237 -31
  42. package/dist/esm-legacy/matrix.mjs +47 -9
  43. package/dist/esm-legacy/priority-queue.mjs +92 -30
  44. package/dist/esm-legacy/queue.mjs +176 -2
  45. package/dist/esm-legacy/stack.mjs +48 -2
  46. package/dist/esm-legacy/trie.mjs +78 -28
  47. package/dist/types/common/error.d.ts +9 -0
  48. package/dist/types/common/index.d.ts +1 -1
  49. package/dist/types/data-structures/binary-tree/avl-tree.d.ts +48 -0
  50. package/dist/types/data-structures/binary-tree/binary-indexed-tree.d.ts +56 -0
  51. package/dist/types/data-structures/binary-tree/binary-tree.d.ts +102 -2
  52. package/dist/types/data-structures/binary-tree/bst.d.ts +195 -0
  53. package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +76 -0
  54. package/dist/types/data-structures/binary-tree/segment-tree.d.ts +24 -0
  55. package/dist/types/data-structures/binary-tree/tree-map.d.ts +528 -0
  56. package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +531 -6
  57. package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +435 -6
  58. package/dist/types/data-structures/binary-tree/tree-set.d.ts +505 -0
  59. package/dist/types/data-structures/graph/directed-graph.d.ts +40 -0
  60. package/dist/types/data-structures/graph/undirected-graph.d.ts +36 -0
  61. package/dist/types/data-structures/hash/hash-map.d.ts +44 -0
  62. package/dist/types/data-structures/heap/heap.d.ts +56 -0
  63. package/dist/types/data-structures/linked-list/doubly-linked-list.d.ts +68 -0
  64. package/dist/types/data-structures/linked-list/singly-linked-list.d.ts +60 -0
  65. package/dist/types/data-structures/linked-list/skip-linked-list.d.ts +72 -0
  66. package/dist/types/data-structures/matrix/matrix.d.ts +32 -0
  67. package/dist/types/data-structures/queue/deque.d.ts +60 -0
  68. package/dist/types/data-structures/queue/queue.d.ts +48 -0
  69. package/dist/types/data-structures/stack/stack.d.ts +40 -0
  70. package/dist/types/data-structures/trie/trie.d.ts +48 -0
  71. package/dist/types/types/data-structures/binary-tree/bst.d.ts +1 -0
  72. package/dist/types/types/data-structures/binary-tree/tree-map.d.ts +5 -0
  73. package/dist/types/types/data-structures/binary-tree/tree-multi-set.d.ts +4 -0
  74. package/dist/types/types/data-structures/binary-tree/tree-set.d.ts +4 -0
  75. package/dist/umd/data-structure-typed.js +3404 -265
  76. package/dist/umd/data-structure-typed.min.js +5 -5
  77. package/docs-site-docusaurus/docs/api/classes/AVLTree.md +650 -136
  78. package/docs-site-docusaurus/docs/api/classes/AVLTreeNode.md +11 -11
  79. package/docs-site-docusaurus/docs/api/classes/AbstractGraph.md +71 -71
  80. package/docs-site-docusaurus/docs/api/classes/BST.md +591 -129
  81. package/docs-site-docusaurus/docs/api/classes/BSTNode.md +13 -13
  82. package/docs-site-docusaurus/docs/api/classes/BinaryIndexedTree.md +15 -15
  83. package/docs-site-docusaurus/docs/api/classes/BinaryTree.md +107 -107
  84. package/docs-site-docusaurus/docs/api/classes/BinaryTreeNode.md +13 -13
  85. package/docs-site-docusaurus/docs/api/classes/Deque.md +82 -82
  86. package/docs-site-docusaurus/docs/api/classes/DirectedGraph.md +82 -82
  87. package/docs-site-docusaurus/docs/api/classes/DoublyLinkedList.md +74 -74
  88. package/docs-site-docusaurus/docs/api/classes/DoublyLinkedListNode.md +8 -8
  89. package/docs-site-docusaurus/docs/api/classes/FibonacciHeap.md +9 -9
  90. package/docs-site-docusaurus/docs/api/classes/FibonacciHeapNode.md +1 -1
  91. package/docs-site-docusaurus/docs/api/classes/HashMap.md +47 -47
  92. package/docs-site-docusaurus/docs/api/classes/Heap.md +45 -45
  93. package/docs-site-docusaurus/docs/api/classes/IterableElementBase.md +25 -25
  94. package/docs-site-docusaurus/docs/api/classes/IterableEntryBase.md +33 -33
  95. package/docs-site-docusaurus/docs/api/classes/LinearBase.md +50 -50
  96. package/docs-site-docusaurus/docs/api/classes/LinearLinkedBase.md +55 -55
  97. package/docs-site-docusaurus/docs/api/classes/LinkedHashMap.md +49 -49
  98. package/docs-site-docusaurus/docs/api/classes/LinkedListNode.md +6 -6
  99. package/docs-site-docusaurus/docs/api/classes/LinkedListQueue.md +78 -78
  100. package/docs-site-docusaurus/docs/api/classes/MapGraph.md +82 -82
  101. package/docs-site-docusaurus/docs/api/classes/Matrix.md +31 -31
  102. package/docs-site-docusaurus/docs/api/classes/MaxHeap.md +45 -45
  103. package/docs-site-docusaurus/docs/api/classes/MaxPriorityQueue.md +45 -45
  104. package/docs-site-docusaurus/docs/api/classes/MinHeap.md +45 -45
  105. package/docs-site-docusaurus/docs/api/classes/MinPriorityQueue.md +45 -45
  106. package/docs-site-docusaurus/docs/api/classes/Navigator.md +5 -5
  107. package/docs-site-docusaurus/docs/api/classes/PriorityQueue.md +44 -44
  108. package/docs-site-docusaurus/docs/api/classes/Queue.md +60 -60
  109. package/docs-site-docusaurus/docs/api/classes/RedBlackTree.md +660 -146
  110. package/docs-site-docusaurus/docs/api/classes/SegmentTree.md +10 -10
  111. package/docs-site-docusaurus/docs/api/classes/SinglyLinkedList.md +78 -78
  112. package/docs-site-docusaurus/docs/api/classes/SinglyLinkedListNode.md +6 -6
  113. package/docs-site-docusaurus/docs/api/classes/SkipList.md +44 -44
  114. package/docs-site-docusaurus/docs/api/classes/Stack.md +39 -39
  115. package/docs-site-docusaurus/docs/api/classes/TreeMap.md +165 -33
  116. package/docs-site-docusaurus/docs/api/classes/TreeMultiMap.md +162 -46
  117. package/docs-site-docusaurus/docs/api/classes/TreeSet.md +161 -32
  118. package/docs-site-docusaurus/docs/api/classes/Trie.md +47 -47
  119. package/docs-site-docusaurus/docs/api/classes/TrieNode.md +8 -8
  120. package/docs-site-docusaurus/docs/api/classes/UndirectedGraph.md +81 -81
  121. package/docs-site-docusaurus/docs/guide/architecture.md +2 -0
  122. package/docs-site-docusaurus/docs/guide/concepts.md +32 -1
  123. package/docs-site-docusaurus/docs/guide/faq.md +180 -0
  124. package/docs-site-docusaurus/docs/guide/guides.md +40 -54
  125. package/docs-site-docusaurus/docs/guide/installation.md +2 -0
  126. package/docs-site-docusaurus/docs/guide/integrations.md +2 -0
  127. package/docs-site-docusaurus/docs/guide/overview.md +7 -0
  128. package/docs-site-docusaurus/docs/guide/performance.md +2 -0
  129. package/docs-site-docusaurus/docs/guide/quick-start.md +31 -0
  130. package/docs-site-docusaurus/docs/guide/use-cases/_category_.json +6 -0
  131. package/docs-site-docusaurus/docs/guide/use-cases/array-sort-alternative.md +158 -0
  132. package/docs-site-docusaurus/docs/guide/use-cases/heap-vs-sorting.md +92 -0
  133. package/docs-site-docusaurus/docs/guide/use-cases/map-vs-treemap.md +151 -0
  134. package/docs-site-docusaurus/docs/guide/use-cases/priority-queue-typescript.md +113 -0
  135. package/docs-site-docusaurus/docs/guide/use-cases/treemap-javascript.md +151 -0
  136. package/docs-site-docusaurus/docusaurus.config.ts +1 -1
  137. package/docs-site-docusaurus/src/pages/index.tsx +51 -2
  138. package/docs-site-docusaurus/static/llms.txt +37 -0
  139. package/llms.txt +37 -0
  140. package/package.json +64 -56
  141. package/src/common/error.ts +19 -1
  142. package/src/common/index.ts +1 -1
  143. package/src/data-structures/base/iterable-element-base.ts +3 -2
  144. package/src/data-structures/binary-tree/avl-tree.ts +47 -0
  145. package/src/data-structures/binary-tree/binary-indexed-tree.ts +46 -4
  146. package/src/data-structures/binary-tree/binary-tree.ts +79 -4
  147. package/src/data-structures/binary-tree/bst.ts +441 -6
  148. package/src/data-structures/binary-tree/red-black-tree.ts +73 -0
  149. package/src/data-structures/binary-tree/segment-tree.ts +18 -0
  150. package/src/data-structures/binary-tree/tree-map.ts +434 -9
  151. package/src/data-structures/binary-tree/tree-multi-map.ts +426 -5
  152. package/src/data-structures/binary-tree/tree-multi-set.ts +350 -6
  153. package/src/data-structures/binary-tree/tree-set.ts +410 -8
  154. package/src/data-structures/graph/abstract-graph.ts +2 -2
  155. package/src/data-structures/graph/directed-graph.ts +30 -0
  156. package/src/data-structures/graph/undirected-graph.ts +27 -0
  157. package/src/data-structures/hash/hash-map.ts +35 -4
  158. package/src/data-structures/heap/heap.ts +46 -4
  159. package/src/data-structures/heap/max-heap.ts +2 -2
  160. package/src/data-structures/linked-list/doubly-linked-list.ts +51 -0
  161. package/src/data-structures/linked-list/singly-linked-list.ts +45 -0
  162. package/src/data-structures/linked-list/skip-linked-list.ts +59 -5
  163. package/src/data-structures/matrix/matrix.ts +33 -9
  164. package/src/data-structures/priority-queue/max-priority-queue.ts +2 -2
  165. package/src/data-structures/queue/deque.ts +45 -0
  166. package/src/data-structures/queue/queue.ts +36 -0
  167. package/src/data-structures/stack/stack.ts +30 -0
  168. package/src/data-structures/trie/trie.ts +38 -2
  169. package/src/types/data-structures/binary-tree/bst.ts +1 -0
  170. package/src/types/data-structures/binary-tree/tree-map.ts +6 -0
  171. package/src/types/data-structures/binary-tree/tree-multi-set.ts +5 -0
  172. package/src/types/data-structures/binary-tree/tree-set.ts +5 -0
@@ -1,6 +1,12 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
3
 
4
+ // src/common/error.ts
5
+ function raise(ErrorClass, message) {
6
+ throw new ErrorClass(message);
7
+ }
8
+ __name(raise, "raise");
9
+
4
10
  // src/data-structures/base/iterable-element-base.ts
5
11
  var IterableElementBase = class {
6
12
  static {
@@ -19,7 +25,7 @@ var IterableElementBase = class {
19
25
  if (options) {
20
26
  const { toElementFn } = options;
21
27
  if (typeof toElementFn === "function") this._toElementFn = toElementFn;
22
- else if (toElementFn) throw new TypeError("toElementFn must be a function type");
28
+ else if (toElementFn) raise(TypeError, "toElementFn must be a function type");
23
29
  }
24
30
  }
25
31
  /**
@@ -182,7 +188,7 @@ var IterableElementBase = class {
182
188
  acc = initialValue;
183
189
  } else {
184
190
  const first = iter.next();
185
- if (first.done) throw new TypeError("Reduce of empty structure with no initial value");
191
+ if (first.done) raise(TypeError, "Reduce of empty structure with no initial value");
186
192
  acc = first.value;
187
193
  index = 1;
188
194
  }
@@ -753,6 +759,10 @@ var SinglyLinkedList = class extends LinearLinkedBase {
753
759
 
754
760
 
755
761
 
762
+
763
+
764
+
765
+
756
766
 
757
767
 
758
768
 
@@ -816,6 +826,10 @@ var SinglyLinkedList = class extends LinearLinkedBase {
816
826
 
817
827
 
818
828
 
829
+
830
+
831
+
832
+
819
833
 
820
834
 
821
835
 
@@ -884,6 +898,10 @@ var SinglyLinkedList = class extends LinearLinkedBase {
884
898
 
885
899
 
886
900
 
901
+
902
+
903
+
904
+
887
905
 
888
906
 
889
907
 
@@ -934,6 +952,10 @@ var SinglyLinkedList = class extends LinearLinkedBase {
934
952
 
935
953
 
936
954
 
955
+
956
+
957
+
958
+
937
959
 
938
960
 
939
961
 
@@ -1045,6 +1067,10 @@ var SinglyLinkedList = class extends LinearLinkedBase {
1045
1067
 
1046
1068
 
1047
1069
 
1070
+
1071
+
1072
+
1073
+
1048
1074
 
1049
1075
 
1050
1076
 
@@ -1100,6 +1126,10 @@ var SinglyLinkedList = class extends LinearLinkedBase {
1100
1126
 
1101
1127
 
1102
1128
 
1129
+
1130
+
1131
+
1132
+
1103
1133
 
1104
1134
 
1105
1135
 
@@ -1144,6 +1174,10 @@ var SinglyLinkedList = class extends LinearLinkedBase {
1144
1174
 
1145
1175
 
1146
1176
 
1177
+
1178
+
1179
+
1180
+
1147
1181
 
1148
1182
 
1149
1183
 
@@ -1194,6 +1228,10 @@ var SinglyLinkedList = class extends LinearLinkedBase {
1194
1228
 
1195
1229
 
1196
1230
 
1231
+
1232
+
1233
+
1234
+
1197
1235
 
1198
1236
 
1199
1237
 
@@ -1249,6 +1287,10 @@ var SinglyLinkedList = class extends LinearLinkedBase {
1249
1287
 
1250
1288
 
1251
1289
 
1290
+
1291
+
1292
+
1293
+
1252
1294
 
1253
1295
 
1254
1296
 
@@ -1312,6 +1354,10 @@ var SinglyLinkedList = class extends LinearLinkedBase {
1312
1354
 
1313
1355
 
1314
1356
 
1357
+
1358
+
1359
+
1360
+
1315
1361
 
1316
1362
 
1317
1363
 
@@ -1352,6 +1398,10 @@ var SinglyLinkedList = class extends LinearLinkedBase {
1352
1398
 
1353
1399
 
1354
1400
 
1401
+
1402
+
1403
+
1404
+
1355
1405
 
1356
1406
 
1357
1407
 
@@ -1398,6 +1448,10 @@ var SinglyLinkedList = class extends LinearLinkedBase {
1398
1448
 
1399
1449
 
1400
1450
 
1451
+
1452
+
1453
+
1454
+
1401
1455
 
1402
1456
 
1403
1457
 
@@ -1610,6 +1664,10 @@ var SinglyLinkedList = class extends LinearLinkedBase {
1610
1664
 
1611
1665
 
1612
1666
 
1667
+
1668
+
1669
+
1670
+
1613
1671
 
1614
1672
 
1615
1673
 
@@ -1660,6 +1718,10 @@ var SinglyLinkedList = class extends LinearLinkedBase {
1660
1718
 
1661
1719
 
1662
1720
 
1721
+
1722
+
1723
+
1724
+
1663
1725
 
1664
1726
 
1665
1727
 
@@ -1738,6 +1800,10 @@ var SinglyLinkedList = class extends LinearLinkedBase {
1738
1800
 
1739
1801
 
1740
1802
 
1803
+
1804
+
1805
+
1806
+
1741
1807
 
1742
1808
 
1743
1809
 
@@ -1969,6 +2035,10 @@ var Queue = class _Queue extends LinearBase {
1969
2035
 
1970
2036
 
1971
2037
 
2038
+
2039
+
2040
+
2041
+
1972
2042
 
1973
2043
 
1974
2044
 
@@ -2015,6 +2085,10 @@ var Queue = class _Queue extends LinearBase {
2015
2085
 
2016
2086
 
2017
2087
 
2088
+
2089
+
2090
+
2091
+
2018
2092
 
2019
2093
 
2020
2094
 
@@ -2077,6 +2151,10 @@ var Queue = class _Queue extends LinearBase {
2077
2151
 
2078
2152
 
2079
2153
 
2154
+
2155
+
2156
+
2157
+
2080
2158
 
2081
2159
 
2082
2160
 
@@ -2135,6 +2213,10 @@ var Queue = class _Queue extends LinearBase {
2135
2213
 
2136
2214
 
2137
2215
 
2216
+
2217
+
2218
+
2219
+
2138
2220
 
2139
2221
 
2140
2222
 
@@ -2200,6 +2282,10 @@ var Queue = class _Queue extends LinearBase {
2200
2282
 
2201
2283
 
2202
2284
 
2285
+
2286
+
2287
+
2288
+
2203
2289
 
2204
2290
 
2205
2291
 
@@ -2255,6 +2341,10 @@ var Queue = class _Queue extends LinearBase {
2255
2341
 
2256
2342
 
2257
2343
 
2344
+
2345
+
2346
+
2347
+
2258
2348
 
2259
2349
 
2260
2350
 
@@ -2303,6 +2393,10 @@ var Queue = class _Queue extends LinearBase {
2303
2393
 
2304
2394
 
2305
2395
 
2396
+
2397
+
2398
+
2399
+
2306
2400
 
2307
2401
 
2308
2402
 
@@ -2392,6 +2486,10 @@ var Queue = class _Queue extends LinearBase {
2392
2486
 
2393
2487
 
2394
2488
 
2489
+
2490
+
2491
+
2492
+
2395
2493
 
2396
2494
 
2397
2495
 
@@ -2434,6 +2532,10 @@ var Queue = class _Queue extends LinearBase {
2434
2532
 
2435
2533
 
2436
2534
 
2535
+
2536
+
2537
+
2538
+
2437
2539
 
2438
2540
 
2439
2541
 
@@ -2499,6 +2601,10 @@ var Queue = class _Queue extends LinearBase {
2499
2601
 
2500
2602
 
2501
2603
 
2604
+
2605
+
2606
+
2607
+
2502
2608
 
2503
2609
 
2504
2610
 
@@ -2548,6 +2654,10 @@ var Queue = class _Queue extends LinearBase {
2548
2654
 
2549
2655
 
2550
2656
 
2657
+
2658
+
2659
+
2660
+
2551
2661
 
2552
2662
 
2553
2663
 
@@ -2601,6 +2711,10 @@ var Queue = class _Queue extends LinearBase {
2601
2711
 
2602
2712
 
2603
2713
 
2714
+
2715
+
2716
+
2717
+
2604
2718
 
2605
2719
 
2606
2720
 
@@ -2875,6 +2989,10 @@ var Deque = class extends LinearBase {
2875
2989
 
2876
2990
 
2877
2991
 
2992
+
2993
+
2994
+
2995
+
2878
2996
 
2879
2997
 
2880
2998
 
@@ -2929,6 +3047,10 @@ var Deque = class extends LinearBase {
2929
3047
 
2930
3048
 
2931
3049
 
3050
+
3051
+
3052
+
3053
+
2932
3054
 
2933
3055
 
2934
3056
 
@@ -2988,6 +3110,10 @@ var Deque = class extends LinearBase {
2988
3110
 
2989
3111
 
2990
3112
 
3113
+
3114
+
3115
+
3116
+
2991
3117
 
2992
3118
 
2993
3119
 
@@ -3060,6 +3186,10 @@ var Deque = class extends LinearBase {
3060
3186
 
3061
3187
 
3062
3188
 
3189
+
3190
+
3191
+
3192
+
3063
3193
 
3064
3194
 
3065
3195
 
@@ -3119,6 +3249,10 @@ var Deque = class extends LinearBase {
3119
3249
 
3120
3250
 
3121
3251
 
3252
+
3253
+
3254
+
3255
+
3122
3256
 
3123
3257
 
3124
3258
 
@@ -3179,6 +3313,10 @@ var Deque = class extends LinearBase {
3179
3313
 
3180
3314
 
3181
3315
 
3316
+
3317
+
3318
+
3319
+
3182
3320
 
3183
3321
 
3184
3322
 
@@ -3280,6 +3418,10 @@ var Deque = class extends LinearBase {
3280
3418
 
3281
3419
 
3282
3420
 
3421
+
3422
+
3423
+
3424
+
3283
3425
 
3284
3426
 
3285
3427
 
@@ -3321,6 +3463,10 @@ var Deque = class extends LinearBase {
3321
3463
 
3322
3464
 
3323
3465
 
3466
+
3467
+
3468
+
3469
+
3324
3470
 
3325
3471
 
3326
3472
 
@@ -3366,6 +3512,10 @@ var Deque = class extends LinearBase {
3366
3512
 
3367
3513
 
3368
3514
 
3515
+
3516
+
3517
+
3518
+
3369
3519
 
3370
3520
 
3371
3521
 
@@ -3562,6 +3712,10 @@ var Deque = class extends LinearBase {
3562
3712
 
3563
3713
 
3564
3714
 
3715
+
3716
+
3717
+
3718
+
3565
3719
 
3566
3720
 
3567
3721
 
@@ -3645,6 +3799,10 @@ var Deque = class extends LinearBase {
3645
3799
 
3646
3800
 
3647
3801
 
3802
+
3803
+
3804
+
3805
+
3648
3806
 
3649
3807
 
3650
3808
 
@@ -3753,6 +3911,10 @@ var Deque = class extends LinearBase {
3753
3911
 
3754
3912
 
3755
3913
 
3914
+
3915
+
3916
+
3917
+
3756
3918
 
3757
3919
 
3758
3920
 
@@ -3820,6 +3982,10 @@ var Deque = class extends LinearBase {
3820
3982
 
3821
3983
 
3822
3984
 
3985
+
3986
+
3987
+
3988
+
3823
3989
 
3824
3990
 
3825
3991
 
@@ -3870,6 +4036,10 @@ var Deque = class extends LinearBase {
3870
4036
 
3871
4037
 
3872
4038
 
4039
+
4040
+
4041
+
4042
+
3873
4043
 
3874
4044
 
3875
4045
 
@@ -3940,6 +4110,10 @@ var Deque = class extends LinearBase {
3940
4110
 
3941
4111
 
3942
4112
 
4113
+
4114
+
4115
+
4116
+
3943
4117
 
3944
4118
 
3945
4119
 
@@ -1,6 +1,12 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
3
 
4
+ // src/common/error.ts
5
+ function raise(ErrorClass, message) {
6
+ throw new ErrorClass(message);
7
+ }
8
+ __name(raise, "raise");
9
+
4
10
  // src/data-structures/base/iterable-element-base.ts
5
11
  var IterableElementBase = class {
6
12
  static {
@@ -19,7 +25,7 @@ var IterableElementBase = class {
19
25
  if (options) {
20
26
  const { toElementFn } = options;
21
27
  if (typeof toElementFn === "function") this._toElementFn = toElementFn;
22
- else if (toElementFn) throw new TypeError("toElementFn must be a function type");
28
+ else if (toElementFn) raise(TypeError, "toElementFn must be a function type");
23
29
  }
24
30
  }
25
31
  /**
@@ -182,7 +188,7 @@ var IterableElementBase = class {
182
188
  acc = initialValue;
183
189
  } else {
184
190
  const first = iter.next();
185
- if (first.done) throw new TypeError("Reduce of empty structure with no initial value");
191
+ if (first.done) raise(TypeError, "Reduce of empty structure with no initial value");
186
192
  acc = first.value;
187
193
  index = 1;
188
194
  }
@@ -278,6 +284,10 @@ var Stack = class extends IterableElementBase {
278
284
 
279
285
 
280
286
 
287
+
288
+
289
+
290
+
281
291
 
282
292
 
283
293
 
@@ -334,6 +344,10 @@ var Stack = class extends IterableElementBase {
334
344
 
335
345
 
336
346
 
347
+
348
+
349
+
350
+
337
351
 
338
352
 
339
353
 
@@ -379,6 +393,10 @@ var Stack = class extends IterableElementBase {
379
393
 
380
394
 
381
395
 
396
+
397
+
398
+
399
+
382
400
 
383
401
 
384
402
 
@@ -424,6 +442,10 @@ var Stack = class extends IterableElementBase {
424
442
 
425
443
 
426
444
 
445
+
446
+
447
+
448
+
427
449
 
428
450
 
429
451
 
@@ -478,6 +500,10 @@ var Stack = class extends IterableElementBase {
478
500
 
479
501
 
480
502
 
503
+
504
+
505
+
506
+
481
507
 
482
508
 
483
509
 
@@ -547,6 +573,10 @@ var Stack = class extends IterableElementBase {
547
573
 
548
574
 
549
575
 
576
+
577
+
578
+
579
+
550
580
 
551
581
 
552
582
 
@@ -616,6 +646,10 @@ var Stack = class extends IterableElementBase {
616
646
 
617
647
 
618
648
 
649
+
650
+
651
+
652
+
619
653
 
620
654
 
621
655
 
@@ -658,6 +692,10 @@ var Stack = class extends IterableElementBase {
658
692
 
659
693
 
660
694
 
695
+
696
+
697
+
698
+
661
699
 
662
700
 
663
701
 
@@ -706,6 +744,10 @@ var Stack = class extends IterableElementBase {
706
744
 
707
745
 
708
746
 
747
+
748
+
749
+
750
+
709
751
 
710
752
 
711
753
 
@@ -774,6 +816,10 @@ var Stack = class extends IterableElementBase {
774
816
 
775
817
 
776
818
 
819
+
820
+
821
+
822
+
777
823
 
778
824
 
779
825