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
@@ -5,6 +5,12 @@ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { en
5
5
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
6
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
7
7
 
8
+ // src/common/error.ts
9
+ function raise(ErrorClass, message) {
10
+ throw new ErrorClass(message);
11
+ }
12
+ __name(raise, "raise");
13
+
8
14
  // src/data-structures/base/iterable-element-base.ts
9
15
  var _IterableElementBase = class _IterableElementBase {
10
16
  /**
@@ -27,7 +33,7 @@ var _IterableElementBase = class _IterableElementBase {
27
33
  if (options) {
28
34
  const { toElementFn } = options;
29
35
  if (typeof toElementFn === "function") this._toElementFn = toElementFn;
30
- else if (toElementFn) throw new TypeError("toElementFn must be a function type");
36
+ else if (toElementFn) raise(TypeError, "toElementFn must be a function type");
31
37
  }
32
38
  }
33
39
  /**
@@ -183,7 +189,7 @@ var _IterableElementBase = class _IterableElementBase {
183
189
  acc = initialValue;
184
190
  } else {
185
191
  const first = iter.next();
186
- if (first.done) throw new TypeError("Reduce of empty structure with no initial value");
192
+ if (first.done) raise(TypeError, "Reduce of empty structure with no initial value");
187
193
  acc = first.value;
188
194
  index = 1;
189
195
  }
@@ -751,6 +757,10 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
751
757
 
752
758
 
753
759
 
760
+
761
+
762
+
763
+
754
764
 
755
765
 
756
766
 
@@ -814,6 +824,10 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
814
824
 
815
825
 
816
826
 
827
+
828
+
829
+
830
+
817
831
 
818
832
 
819
833
 
@@ -883,6 +897,10 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
883
897
 
884
898
 
885
899
 
900
+
901
+
902
+
903
+
886
904
 
887
905
 
888
906
 
@@ -933,6 +951,10 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
933
951
 
934
952
 
935
953
 
954
+
955
+
956
+
957
+
936
958
 
937
959
 
938
960
 
@@ -1044,6 +1066,10 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
1044
1066
 
1045
1067
 
1046
1068
 
1069
+
1070
+
1071
+
1072
+
1047
1073
 
1048
1074
 
1049
1075
 
@@ -1099,6 +1125,10 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
1099
1125
 
1100
1126
 
1101
1127
 
1128
+
1129
+
1130
+
1131
+
1102
1132
 
1103
1133
 
1104
1134
 
@@ -1143,6 +1173,10 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
1143
1173
 
1144
1174
 
1145
1175
 
1176
+
1177
+
1178
+
1179
+
1146
1180
 
1147
1181
 
1148
1182
 
@@ -1193,6 +1227,10 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
1193
1227
 
1194
1228
 
1195
1229
 
1230
+
1231
+
1232
+
1233
+
1196
1234
 
1197
1235
 
1198
1236
 
@@ -1248,6 +1286,10 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
1248
1286
 
1249
1287
 
1250
1288
 
1289
+
1290
+
1291
+
1292
+
1251
1293
 
1252
1294
 
1253
1295
 
@@ -1311,6 +1353,10 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
1311
1353
 
1312
1354
 
1313
1355
 
1356
+
1357
+
1358
+
1359
+
1314
1360
 
1315
1361
 
1316
1362
 
@@ -1351,6 +1397,10 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
1351
1397
 
1352
1398
 
1353
1399
 
1400
+
1401
+
1402
+
1403
+
1354
1404
 
1355
1405
 
1356
1406
 
@@ -1397,6 +1447,10 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
1397
1447
 
1398
1448
 
1399
1449
 
1450
+
1451
+
1452
+
1453
+
1400
1454
 
1401
1455
 
1402
1456
 
@@ -1609,6 +1663,10 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
1609
1663
 
1610
1664
 
1611
1665
 
1666
+
1667
+
1668
+
1669
+
1612
1670
 
1613
1671
 
1614
1672
 
@@ -1659,6 +1717,10 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
1659
1717
 
1660
1718
 
1661
1719
 
1720
+
1721
+
1722
+
1723
+
1662
1724
 
1663
1725
 
1664
1726
 
@@ -1737,6 +1799,10 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
1737
1799
 
1738
1800
 
1739
1801
 
1802
+
1803
+
1804
+
1805
+
1740
1806
 
1741
1807
 
1742
1808
 
@@ -1967,6 +2033,10 @@ var _Queue = class _Queue extends LinearBase {
1967
2033
 
1968
2034
 
1969
2035
 
2036
+
2037
+
2038
+
2039
+
1970
2040
 
1971
2041
 
1972
2042
 
@@ -2013,6 +2083,10 @@ var _Queue = class _Queue extends LinearBase {
2013
2083
 
2014
2084
 
2015
2085
 
2086
+
2087
+
2088
+
2089
+
2016
2090
 
2017
2091
 
2018
2092
 
@@ -2075,6 +2149,10 @@ var _Queue = class _Queue extends LinearBase {
2075
2149
 
2076
2150
 
2077
2151
 
2152
+
2153
+
2154
+
2155
+
2078
2156
 
2079
2157
 
2080
2158
 
@@ -2133,6 +2211,10 @@ var _Queue = class _Queue extends LinearBase {
2133
2211
 
2134
2212
 
2135
2213
 
2214
+
2215
+
2216
+
2217
+
2136
2218
 
2137
2219
 
2138
2220
 
@@ -2198,6 +2280,10 @@ var _Queue = class _Queue extends LinearBase {
2198
2280
 
2199
2281
 
2200
2282
 
2283
+
2284
+
2285
+
2286
+
2201
2287
 
2202
2288
 
2203
2289
 
@@ -2253,6 +2339,10 @@ var _Queue = class _Queue extends LinearBase {
2253
2339
 
2254
2340
 
2255
2341
 
2342
+
2343
+
2344
+
2345
+
2256
2346
 
2257
2347
 
2258
2348
 
@@ -2301,6 +2391,10 @@ var _Queue = class _Queue extends LinearBase {
2301
2391
 
2302
2392
 
2303
2393
 
2394
+
2395
+
2396
+
2397
+
2304
2398
 
2305
2399
 
2306
2400
 
@@ -2390,6 +2484,10 @@ var _Queue = class _Queue extends LinearBase {
2390
2484
 
2391
2485
 
2392
2486
 
2487
+
2488
+
2489
+
2490
+
2393
2491
 
2394
2492
 
2395
2493
 
@@ -2432,6 +2530,10 @@ var _Queue = class _Queue extends LinearBase {
2432
2530
 
2433
2531
 
2434
2532
 
2533
+
2534
+
2535
+
2536
+
2435
2537
 
2436
2538
 
2437
2539
 
@@ -2497,6 +2599,10 @@ var _Queue = class _Queue extends LinearBase {
2497
2599
 
2498
2600
 
2499
2601
 
2602
+
2603
+
2604
+
2605
+
2500
2606
 
2501
2607
 
2502
2608
 
@@ -2546,6 +2652,10 @@ var _Queue = class _Queue extends LinearBase {
2546
2652
 
2547
2653
 
2548
2654
 
2655
+
2656
+
2657
+
2658
+
2549
2659
 
2550
2660
 
2551
2661
 
@@ -2599,6 +2709,10 @@ var _Queue = class _Queue extends LinearBase {
2599
2709
 
2600
2710
 
2601
2711
 
2712
+
2713
+
2714
+
2715
+
2602
2716
 
2603
2717
 
2604
2718
 
@@ -2873,6 +2987,10 @@ var _Deque = class _Deque extends LinearBase {
2873
2987
 
2874
2988
 
2875
2989
 
2990
+
2991
+
2992
+
2993
+
2876
2994
 
2877
2995
 
2878
2996
 
@@ -2927,6 +3045,10 @@ var _Deque = class _Deque extends LinearBase {
2927
3045
 
2928
3046
 
2929
3047
 
3048
+
3049
+
3050
+
3051
+
2930
3052
 
2931
3053
 
2932
3054
 
@@ -2986,6 +3108,10 @@ var _Deque = class _Deque extends LinearBase {
2986
3108
 
2987
3109
 
2988
3110
 
3111
+
3112
+
3113
+
3114
+
2989
3115
 
2990
3116
 
2991
3117
 
@@ -3058,6 +3184,10 @@ var _Deque = class _Deque extends LinearBase {
3058
3184
 
3059
3185
 
3060
3186
 
3187
+
3188
+
3189
+
3190
+
3061
3191
 
3062
3192
 
3063
3193
 
@@ -3117,6 +3247,10 @@ var _Deque = class _Deque extends LinearBase {
3117
3247
 
3118
3248
 
3119
3249
 
3250
+
3251
+
3252
+
3253
+
3120
3254
 
3121
3255
 
3122
3256
 
@@ -3177,6 +3311,10 @@ var _Deque = class _Deque extends LinearBase {
3177
3311
 
3178
3312
 
3179
3313
 
3314
+
3315
+
3316
+
3317
+
3180
3318
 
3181
3319
 
3182
3320
 
@@ -3278,6 +3416,10 @@ var _Deque = class _Deque extends LinearBase {
3278
3416
 
3279
3417
 
3280
3418
 
3419
+
3420
+
3421
+
3422
+
3281
3423
 
3282
3424
 
3283
3425
 
@@ -3319,6 +3461,10 @@ var _Deque = class _Deque extends LinearBase {
3319
3461
 
3320
3462
 
3321
3463
 
3464
+
3465
+
3466
+
3467
+
3322
3468
 
3323
3469
 
3324
3470
 
@@ -3364,6 +3510,10 @@ var _Deque = class _Deque extends LinearBase {
3364
3510
 
3365
3511
 
3366
3512
 
3513
+
3514
+
3515
+
3516
+
3367
3517
 
3368
3518
 
3369
3519
 
@@ -3560,6 +3710,10 @@ var _Deque = class _Deque extends LinearBase {
3560
3710
 
3561
3711
 
3562
3712
 
3713
+
3714
+
3715
+
3716
+
3563
3717
 
3564
3718
 
3565
3719
 
@@ -3643,6 +3797,10 @@ var _Deque = class _Deque extends LinearBase {
3643
3797
 
3644
3798
 
3645
3799
 
3800
+
3801
+
3802
+
3803
+
3646
3804
 
3647
3805
 
3648
3806
 
@@ -3751,6 +3909,10 @@ var _Deque = class _Deque extends LinearBase {
3751
3909
 
3752
3910
 
3753
3911
 
3912
+
3913
+
3914
+
3915
+
3754
3916
 
3755
3917
 
3756
3918
 
@@ -3818,6 +3980,10 @@ var _Deque = class _Deque extends LinearBase {
3818
3980
 
3819
3981
 
3820
3982
 
3983
+
3984
+
3985
+
3986
+
3821
3987
 
3822
3988
 
3823
3989
 
@@ -3868,6 +4034,10 @@ var _Deque = class _Deque extends LinearBase {
3868
4034
 
3869
4035
 
3870
4036
 
4037
+
4038
+
4039
+
4040
+
3871
4041
 
3872
4042
 
3873
4043
 
@@ -3938,6 +4108,10 @@ var _Deque = class _Deque extends LinearBase {
3938
4108
 
3939
4109
 
3940
4110
 
4111
+
4112
+
4113
+
4114
+
3941
4115
 
3942
4116
 
3943
4117
 
@@ -5,6 +5,12 @@ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { en
5
5
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
6
6
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
7
7
 
8
+ // src/common/error.ts
9
+ function raise(ErrorClass, message) {
10
+ throw new ErrorClass(message);
11
+ }
12
+ __name(raise, "raise");
13
+
8
14
  // src/data-structures/base/iterable-element-base.ts
9
15
  var _IterableElementBase = class _IterableElementBase {
10
16
  /**
@@ -27,7 +33,7 @@ var _IterableElementBase = class _IterableElementBase {
27
33
  if (options) {
28
34
  const { toElementFn } = options;
29
35
  if (typeof toElementFn === "function") this._toElementFn = toElementFn;
30
- else if (toElementFn) throw new TypeError("toElementFn must be a function type");
36
+ else if (toElementFn) raise(TypeError, "toElementFn must be a function type");
31
37
  }
32
38
  }
33
39
  /**
@@ -183,7 +189,7 @@ var _IterableElementBase = class _IterableElementBase {
183
189
  acc = initialValue;
184
190
  } else {
185
191
  const first = iter.next();
186
- if (first.done) throw new TypeError("Reduce of empty structure with no initial value");
192
+ if (first.done) raise(TypeError, "Reduce of empty structure with no initial value");
187
193
  acc = first.value;
188
194
  index = 1;
189
195
  }
@@ -278,6 +284,10 @@ var _Stack = class _Stack 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 _Stack 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 _Stack 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 _Stack 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 _Stack 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 _Stack 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 _Stack 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 _Stack 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 _Stack 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 _Stack extends IterableElementBase {
774
816
 
775
817
 
776
818
 
819
+
820
+
821
+
822
+
777
823
 
778
824
 
779
825