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
@@ -3,6 +3,12 @@ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { en
3
3
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
4
4
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
5
 
6
+ // src/common/error.ts
7
+ function raise(ErrorClass, message) {
8
+ throw new ErrorClass(message);
9
+ }
10
+ __name(raise, "raise");
11
+
6
12
  // src/data-structures/base/iterable-element-base.ts
7
13
  var _IterableElementBase = class _IterableElementBase {
8
14
  /**
@@ -25,7 +31,7 @@ var _IterableElementBase = class _IterableElementBase {
25
31
  if (options) {
26
32
  const { toElementFn } = options;
27
33
  if (typeof toElementFn === "function") this._toElementFn = toElementFn;
28
- else if (toElementFn) throw new TypeError("toElementFn must be a function type");
34
+ else if (toElementFn) raise(TypeError, "toElementFn must be a function type");
29
35
  }
30
36
  }
31
37
  /**
@@ -181,7 +187,7 @@ var _IterableElementBase = class _IterableElementBase {
181
187
  acc = initialValue;
182
188
  } else {
183
189
  const first = iter.next();
184
- if (first.done) throw new TypeError("Reduce of empty structure with no initial value");
190
+ if (first.done) raise(TypeError, "Reduce of empty structure with no initial value");
185
191
  acc = first.value;
186
192
  index = 1;
187
193
  }
@@ -749,6 +755,10 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
749
755
 
750
756
 
751
757
 
758
+
759
+
760
+
761
+
752
762
 
753
763
 
754
764
 
@@ -812,6 +822,10 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
812
822
 
813
823
 
814
824
 
825
+
826
+
827
+
828
+
815
829
 
816
830
 
817
831
 
@@ -881,6 +895,10 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
881
895
 
882
896
 
883
897
 
898
+
899
+
900
+
901
+
884
902
 
885
903
 
886
904
 
@@ -931,6 +949,10 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
931
949
 
932
950
 
933
951
 
952
+
953
+
954
+
955
+
934
956
 
935
957
 
936
958
 
@@ -1042,6 +1064,10 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
1042
1064
 
1043
1065
 
1044
1066
 
1067
+
1068
+
1069
+
1070
+
1045
1071
 
1046
1072
 
1047
1073
 
@@ -1097,6 +1123,10 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
1097
1123
 
1098
1124
 
1099
1125
 
1126
+
1127
+
1128
+
1129
+
1100
1130
 
1101
1131
 
1102
1132
 
@@ -1141,6 +1171,10 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
1141
1171
 
1142
1172
 
1143
1173
 
1174
+
1175
+
1176
+
1177
+
1144
1178
 
1145
1179
 
1146
1180
 
@@ -1191,6 +1225,10 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
1191
1225
 
1192
1226
 
1193
1227
 
1228
+
1229
+
1230
+
1231
+
1194
1232
 
1195
1233
 
1196
1234
 
@@ -1246,6 +1284,10 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
1246
1284
 
1247
1285
 
1248
1286
 
1287
+
1288
+
1289
+
1290
+
1249
1291
 
1250
1292
 
1251
1293
 
@@ -1309,6 +1351,10 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
1309
1351
 
1310
1352
 
1311
1353
 
1354
+
1355
+
1356
+
1357
+
1312
1358
 
1313
1359
 
1314
1360
 
@@ -1349,6 +1395,10 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
1349
1395
 
1350
1396
 
1351
1397
 
1398
+
1399
+
1400
+
1401
+
1352
1402
 
1353
1403
 
1354
1404
 
@@ -1395,6 +1445,10 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
1395
1445
 
1396
1446
 
1397
1447
 
1448
+
1449
+
1450
+
1451
+
1398
1452
 
1399
1453
 
1400
1454
 
@@ -1607,6 +1661,10 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
1607
1661
 
1608
1662
 
1609
1663
 
1664
+
1665
+
1666
+
1667
+
1610
1668
 
1611
1669
 
1612
1670
 
@@ -1657,6 +1715,10 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
1657
1715
 
1658
1716
 
1659
1717
 
1718
+
1719
+
1720
+
1721
+
1660
1722
 
1661
1723
 
1662
1724
 
@@ -1735,6 +1797,10 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
1735
1797
 
1736
1798
 
1737
1799
 
1800
+
1801
+
1802
+
1803
+
1738
1804
 
1739
1805
 
1740
1806
 
@@ -1965,6 +2031,10 @@ var _Queue = class _Queue extends LinearBase {
1965
2031
 
1966
2032
 
1967
2033
 
2034
+
2035
+
2036
+
2037
+
1968
2038
 
1969
2039
 
1970
2040
 
@@ -2011,6 +2081,10 @@ var _Queue = class _Queue extends LinearBase {
2011
2081
 
2012
2082
 
2013
2083
 
2084
+
2085
+
2086
+
2087
+
2014
2088
 
2015
2089
 
2016
2090
 
@@ -2073,6 +2147,10 @@ var _Queue = class _Queue extends LinearBase {
2073
2147
 
2074
2148
 
2075
2149
 
2150
+
2151
+
2152
+
2153
+
2076
2154
 
2077
2155
 
2078
2156
 
@@ -2131,6 +2209,10 @@ var _Queue = class _Queue extends LinearBase {
2131
2209
 
2132
2210
 
2133
2211
 
2212
+
2213
+
2214
+
2215
+
2134
2216
 
2135
2217
 
2136
2218
 
@@ -2196,6 +2278,10 @@ var _Queue = class _Queue extends LinearBase {
2196
2278
 
2197
2279
 
2198
2280
 
2281
+
2282
+
2283
+
2284
+
2199
2285
 
2200
2286
 
2201
2287
 
@@ -2251,6 +2337,10 @@ var _Queue = class _Queue extends LinearBase {
2251
2337
 
2252
2338
 
2253
2339
 
2340
+
2341
+
2342
+
2343
+
2254
2344
 
2255
2345
 
2256
2346
 
@@ -2299,6 +2389,10 @@ var _Queue = class _Queue extends LinearBase {
2299
2389
 
2300
2390
 
2301
2391
 
2392
+
2393
+
2394
+
2395
+
2302
2396
 
2303
2397
 
2304
2398
 
@@ -2388,6 +2482,10 @@ var _Queue = class _Queue extends LinearBase {
2388
2482
 
2389
2483
 
2390
2484
 
2485
+
2486
+
2487
+
2488
+
2391
2489
 
2392
2490
 
2393
2491
 
@@ -2430,6 +2528,10 @@ var _Queue = class _Queue extends LinearBase {
2430
2528
 
2431
2529
 
2432
2530
 
2531
+
2532
+
2533
+
2534
+
2433
2535
 
2434
2536
 
2435
2537
 
@@ -2495,6 +2597,10 @@ var _Queue = class _Queue extends LinearBase {
2495
2597
 
2496
2598
 
2497
2599
 
2600
+
2601
+
2602
+
2603
+
2498
2604
 
2499
2605
 
2500
2606
 
@@ -2544,6 +2650,10 @@ var _Queue = class _Queue extends LinearBase {
2544
2650
 
2545
2651
 
2546
2652
 
2653
+
2654
+
2655
+
2656
+
2547
2657
 
2548
2658
 
2549
2659
 
@@ -2597,6 +2707,10 @@ var _Queue = class _Queue extends LinearBase {
2597
2707
 
2598
2708
 
2599
2709
 
2710
+
2711
+
2712
+
2713
+
2600
2714
 
2601
2715
 
2602
2716
 
@@ -2871,6 +2985,10 @@ var _Deque = class _Deque extends LinearBase {
2871
2985
 
2872
2986
 
2873
2987
 
2988
+
2989
+
2990
+
2991
+
2874
2992
 
2875
2993
 
2876
2994
 
@@ -2925,6 +3043,10 @@ var _Deque = class _Deque extends LinearBase {
2925
3043
 
2926
3044
 
2927
3045
 
3046
+
3047
+
3048
+
3049
+
2928
3050
 
2929
3051
 
2930
3052
 
@@ -2984,6 +3106,10 @@ var _Deque = class _Deque extends LinearBase {
2984
3106
 
2985
3107
 
2986
3108
 
3109
+
3110
+
3111
+
3112
+
2987
3113
 
2988
3114
 
2989
3115
 
@@ -3056,6 +3182,10 @@ var _Deque = class _Deque extends LinearBase {
3056
3182
 
3057
3183
 
3058
3184
 
3185
+
3186
+
3187
+
3188
+
3059
3189
 
3060
3190
 
3061
3191
 
@@ -3115,6 +3245,10 @@ var _Deque = class _Deque extends LinearBase {
3115
3245
 
3116
3246
 
3117
3247
 
3248
+
3249
+
3250
+
3251
+
3118
3252
 
3119
3253
 
3120
3254
 
@@ -3175,6 +3309,10 @@ var _Deque = class _Deque extends LinearBase {
3175
3309
 
3176
3310
 
3177
3311
 
3312
+
3313
+
3314
+
3315
+
3178
3316
 
3179
3317
 
3180
3318
 
@@ -3276,6 +3414,10 @@ var _Deque = class _Deque extends LinearBase {
3276
3414
 
3277
3415
 
3278
3416
 
3417
+
3418
+
3419
+
3420
+
3279
3421
 
3280
3422
 
3281
3423
 
@@ -3317,6 +3459,10 @@ var _Deque = class _Deque extends LinearBase {
3317
3459
 
3318
3460
 
3319
3461
 
3462
+
3463
+
3464
+
3465
+
3320
3466
 
3321
3467
 
3322
3468
 
@@ -3362,6 +3508,10 @@ var _Deque = class _Deque extends LinearBase {
3362
3508
 
3363
3509
 
3364
3510
 
3511
+
3512
+
3513
+
3514
+
3365
3515
 
3366
3516
 
3367
3517
 
@@ -3558,6 +3708,10 @@ var _Deque = class _Deque extends LinearBase {
3558
3708
 
3559
3709
 
3560
3710
 
3711
+
3712
+
3713
+
3714
+
3561
3715
 
3562
3716
 
3563
3717
 
@@ -3641,6 +3795,10 @@ var _Deque = class _Deque extends LinearBase {
3641
3795
 
3642
3796
 
3643
3797
 
3798
+
3799
+
3800
+
3801
+
3644
3802
 
3645
3803
 
3646
3804
 
@@ -3749,6 +3907,10 @@ var _Deque = class _Deque extends LinearBase {
3749
3907
 
3750
3908
 
3751
3909
 
3910
+
3911
+
3912
+
3913
+
3752
3914
 
3753
3915
 
3754
3916
 
@@ -3816,6 +3978,10 @@ var _Deque = class _Deque extends LinearBase {
3816
3978
 
3817
3979
 
3818
3980
 
3981
+
3982
+
3983
+
3984
+
3819
3985
 
3820
3986
 
3821
3987
 
@@ -3866,6 +4032,10 @@ var _Deque = class _Deque extends LinearBase {
3866
4032
 
3867
4033
 
3868
4034
 
4035
+
4036
+
4037
+
4038
+
3869
4039
 
3870
4040
 
3871
4041
 
@@ -3936,6 +4106,10 @@ var _Deque = class _Deque extends LinearBase {
3936
4106
 
3937
4107
 
3938
4108
 
4109
+
4110
+
4111
+
4112
+
3939
4113
 
3940
4114
 
3941
4115
 
@@ -3,6 +3,12 @@ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { en
3
3
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
4
4
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
5
 
6
+ // src/common/error.ts
7
+ function raise(ErrorClass, message) {
8
+ throw new ErrorClass(message);
9
+ }
10
+ __name(raise, "raise");
11
+
6
12
  // src/data-structures/base/iterable-element-base.ts
7
13
  var _IterableElementBase = class _IterableElementBase {
8
14
  /**
@@ -25,7 +31,7 @@ var _IterableElementBase = class _IterableElementBase {
25
31
  if (options) {
26
32
  const { toElementFn } = options;
27
33
  if (typeof toElementFn === "function") this._toElementFn = toElementFn;
28
- else if (toElementFn) throw new TypeError("toElementFn must be a function type");
34
+ else if (toElementFn) raise(TypeError, "toElementFn must be a function type");
29
35
  }
30
36
  }
31
37
  /**
@@ -181,7 +187,7 @@ var _IterableElementBase = class _IterableElementBase {
181
187
  acc = initialValue;
182
188
  } else {
183
189
  const first = iter.next();
184
- if (first.done) throw new TypeError("Reduce of empty structure with no initial value");
190
+ if (first.done) raise(TypeError, "Reduce of empty structure with no initial value");
185
191
  acc = first.value;
186
192
  index = 1;
187
193
  }
@@ -276,6 +282,10 @@ var _Stack = class _Stack extends IterableElementBase {
276
282
 
277
283
 
278
284
 
285
+
286
+
287
+
288
+
279
289
 
280
290
 
281
291
 
@@ -332,6 +342,10 @@ var _Stack = class _Stack extends IterableElementBase {
332
342
 
333
343
 
334
344
 
345
+
346
+
347
+
348
+
335
349
 
336
350
 
337
351
 
@@ -377,6 +391,10 @@ var _Stack = class _Stack extends IterableElementBase {
377
391
 
378
392
 
379
393
 
394
+
395
+
396
+
397
+
380
398
 
381
399
 
382
400
 
@@ -422,6 +440,10 @@ var _Stack = class _Stack extends IterableElementBase {
422
440
 
423
441
 
424
442
 
443
+
444
+
445
+
446
+
425
447
 
426
448
 
427
449
 
@@ -476,6 +498,10 @@ var _Stack = class _Stack extends IterableElementBase {
476
498
 
477
499
 
478
500
 
501
+
502
+
503
+
504
+
479
505
 
480
506
 
481
507
 
@@ -545,6 +571,10 @@ var _Stack = class _Stack extends IterableElementBase {
545
571
 
546
572
 
547
573
 
574
+
575
+
576
+
577
+
548
578
 
549
579
 
550
580
 
@@ -614,6 +644,10 @@ var _Stack = class _Stack extends IterableElementBase {
614
644
 
615
645
 
616
646
 
647
+
648
+
649
+
650
+
617
651
 
618
652
 
619
653
 
@@ -656,6 +690,10 @@ var _Stack = class _Stack extends IterableElementBase {
656
690
 
657
691
 
658
692
 
693
+
694
+
695
+
696
+
659
697
 
660
698
 
661
699
 
@@ -704,6 +742,10 @@ var _Stack = class _Stack extends IterableElementBase {
704
742
 
705
743
 
706
744
 
745
+
746
+
747
+
748
+
707
749
 
708
750
 
709
751
 
@@ -772,6 +814,10 @@ var _Stack = class _Stack extends IterableElementBase {
772
814
 
773
815
 
774
816
 
817
+
818
+
819
+
820
+
775
821
 
776
822
 
777
823