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 @@
3
3
  var __defProp = Object.defineProperty;
4
4
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
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 {
8
14
  static {
@@ -21,7 +27,7 @@ var IterableElementBase = class {
21
27
  if (options) {
22
28
  const { toElementFn } = options;
23
29
  if (typeof toElementFn === "function") this._toElementFn = toElementFn;
24
- else if (toElementFn) throw new TypeError("toElementFn must be a function type");
30
+ else if (toElementFn) raise(TypeError, "toElementFn must be a function type");
25
31
  }
26
32
  }
27
33
  /**
@@ -184,7 +190,7 @@ var IterableElementBase = class {
184
190
  acc = initialValue;
185
191
  } else {
186
192
  const first = iter.next();
187
- if (first.done) throw new TypeError("Reduce of empty structure with no initial value");
193
+ if (first.done) raise(TypeError, "Reduce of empty structure with no initial value");
188
194
  acc = first.value;
189
195
  index = 1;
190
196
  }
@@ -755,6 +761,10 @@ var SinglyLinkedList = class extends LinearLinkedBase {
755
761
 
756
762
 
757
763
 
764
+
765
+
766
+
767
+
758
768
 
759
769
 
760
770
 
@@ -818,6 +828,10 @@ var SinglyLinkedList = class extends LinearLinkedBase {
818
828
 
819
829
 
820
830
 
831
+
832
+
833
+
834
+
821
835
 
822
836
 
823
837
 
@@ -886,6 +900,10 @@ var SinglyLinkedList = class extends LinearLinkedBase {
886
900
 
887
901
 
888
902
 
903
+
904
+
905
+
906
+
889
907
 
890
908
 
891
909
 
@@ -936,6 +954,10 @@ var SinglyLinkedList = class extends LinearLinkedBase {
936
954
 
937
955
 
938
956
 
957
+
958
+
959
+
960
+
939
961
 
940
962
 
941
963
 
@@ -1047,6 +1069,10 @@ var SinglyLinkedList = class extends LinearLinkedBase {
1047
1069
 
1048
1070
 
1049
1071
 
1072
+
1073
+
1074
+
1075
+
1050
1076
 
1051
1077
 
1052
1078
 
@@ -1102,6 +1128,10 @@ var SinglyLinkedList = class extends LinearLinkedBase {
1102
1128
 
1103
1129
 
1104
1130
 
1131
+
1132
+
1133
+
1134
+
1105
1135
 
1106
1136
 
1107
1137
 
@@ -1146,6 +1176,10 @@ var SinglyLinkedList = class extends LinearLinkedBase {
1146
1176
 
1147
1177
 
1148
1178
 
1179
+
1180
+
1181
+
1182
+
1149
1183
 
1150
1184
 
1151
1185
 
@@ -1196,6 +1230,10 @@ var SinglyLinkedList = class extends LinearLinkedBase {
1196
1230
 
1197
1231
 
1198
1232
 
1233
+
1234
+
1235
+
1236
+
1199
1237
 
1200
1238
 
1201
1239
 
@@ -1251,6 +1289,10 @@ var SinglyLinkedList = class extends LinearLinkedBase {
1251
1289
 
1252
1290
 
1253
1291
 
1292
+
1293
+
1294
+
1295
+
1254
1296
 
1255
1297
 
1256
1298
 
@@ -1314,6 +1356,10 @@ var SinglyLinkedList = class extends LinearLinkedBase {
1314
1356
 
1315
1357
 
1316
1358
 
1359
+
1360
+
1361
+
1362
+
1317
1363
 
1318
1364
 
1319
1365
 
@@ -1354,6 +1400,10 @@ var SinglyLinkedList = class extends LinearLinkedBase {
1354
1400
 
1355
1401
 
1356
1402
 
1403
+
1404
+
1405
+
1406
+
1357
1407
 
1358
1408
 
1359
1409
 
@@ -1400,6 +1450,10 @@ var SinglyLinkedList = class extends LinearLinkedBase {
1400
1450
 
1401
1451
 
1402
1452
 
1453
+
1454
+
1455
+
1456
+
1403
1457
 
1404
1458
 
1405
1459
 
@@ -1612,6 +1666,10 @@ var SinglyLinkedList = class extends LinearLinkedBase {
1612
1666
 
1613
1667
 
1614
1668
 
1669
+
1670
+
1671
+
1672
+
1615
1673
 
1616
1674
 
1617
1675
 
@@ -1662,6 +1720,10 @@ var SinglyLinkedList = class extends LinearLinkedBase {
1662
1720
 
1663
1721
 
1664
1722
 
1723
+
1724
+
1725
+
1726
+
1665
1727
 
1666
1728
 
1667
1729
 
@@ -1740,6 +1802,10 @@ var SinglyLinkedList = class extends LinearLinkedBase {
1740
1802
 
1741
1803
 
1742
1804
 
1805
+
1806
+
1807
+
1808
+
1743
1809
 
1744
1810
 
1745
1811
 
@@ -1971,6 +2037,10 @@ var Queue = class _Queue extends LinearBase {
1971
2037
 
1972
2038
 
1973
2039
 
2040
+
2041
+
2042
+
2043
+
1974
2044
 
1975
2045
 
1976
2046
 
@@ -2017,6 +2087,10 @@ var Queue = class _Queue extends LinearBase {
2017
2087
 
2018
2088
 
2019
2089
 
2090
+
2091
+
2092
+
2093
+
2020
2094
 
2021
2095
 
2022
2096
 
@@ -2079,6 +2153,10 @@ var Queue = class _Queue extends LinearBase {
2079
2153
 
2080
2154
 
2081
2155
 
2156
+
2157
+
2158
+
2159
+
2082
2160
 
2083
2161
 
2084
2162
 
@@ -2137,6 +2215,10 @@ var Queue = class _Queue extends LinearBase {
2137
2215
 
2138
2216
 
2139
2217
 
2218
+
2219
+
2220
+
2221
+
2140
2222
 
2141
2223
 
2142
2224
 
@@ -2202,6 +2284,10 @@ var Queue = class _Queue extends LinearBase {
2202
2284
 
2203
2285
 
2204
2286
 
2287
+
2288
+
2289
+
2290
+
2205
2291
 
2206
2292
 
2207
2293
 
@@ -2257,6 +2343,10 @@ var Queue = class _Queue extends LinearBase {
2257
2343
 
2258
2344
 
2259
2345
 
2346
+
2347
+
2348
+
2349
+
2260
2350
 
2261
2351
 
2262
2352
 
@@ -2305,6 +2395,10 @@ var Queue = class _Queue extends LinearBase {
2305
2395
 
2306
2396
 
2307
2397
 
2398
+
2399
+
2400
+
2401
+
2308
2402
 
2309
2403
 
2310
2404
 
@@ -2394,6 +2488,10 @@ var Queue = class _Queue extends LinearBase {
2394
2488
 
2395
2489
 
2396
2490
 
2491
+
2492
+
2493
+
2494
+
2397
2495
 
2398
2496
 
2399
2497
 
@@ -2436,6 +2534,10 @@ var Queue = class _Queue extends LinearBase {
2436
2534
 
2437
2535
 
2438
2536
 
2537
+
2538
+
2539
+
2540
+
2439
2541
 
2440
2542
 
2441
2543
 
@@ -2501,6 +2603,10 @@ var Queue = class _Queue extends LinearBase {
2501
2603
 
2502
2604
 
2503
2605
 
2606
+
2607
+
2608
+
2609
+
2504
2610
 
2505
2611
 
2506
2612
 
@@ -2550,6 +2656,10 @@ var Queue = class _Queue extends LinearBase {
2550
2656
 
2551
2657
 
2552
2658
 
2659
+
2660
+
2661
+
2662
+
2553
2663
 
2554
2664
 
2555
2665
 
@@ -2603,6 +2713,10 @@ var Queue = class _Queue extends LinearBase {
2603
2713
 
2604
2714
 
2605
2715
 
2716
+
2717
+
2718
+
2719
+
2606
2720
 
2607
2721
 
2608
2722
 
@@ -2877,6 +2991,10 @@ var Deque = class extends LinearBase {
2877
2991
 
2878
2992
 
2879
2993
 
2994
+
2995
+
2996
+
2997
+
2880
2998
 
2881
2999
 
2882
3000
 
@@ -2931,6 +3049,10 @@ var Deque = class extends LinearBase {
2931
3049
 
2932
3050
 
2933
3051
 
3052
+
3053
+
3054
+
3055
+
2934
3056
 
2935
3057
 
2936
3058
 
@@ -2990,6 +3112,10 @@ var Deque = class extends LinearBase {
2990
3112
 
2991
3113
 
2992
3114
 
3115
+
3116
+
3117
+
3118
+
2993
3119
 
2994
3120
 
2995
3121
 
@@ -3062,6 +3188,10 @@ var Deque = class extends LinearBase {
3062
3188
 
3063
3189
 
3064
3190
 
3191
+
3192
+
3193
+
3194
+
3065
3195
 
3066
3196
 
3067
3197
 
@@ -3121,6 +3251,10 @@ var Deque = class extends LinearBase {
3121
3251
 
3122
3252
 
3123
3253
 
3254
+
3255
+
3256
+
3257
+
3124
3258
 
3125
3259
 
3126
3260
 
@@ -3181,6 +3315,10 @@ var Deque = class extends LinearBase {
3181
3315
 
3182
3316
 
3183
3317
 
3318
+
3319
+
3320
+
3321
+
3184
3322
 
3185
3323
 
3186
3324
 
@@ -3282,6 +3420,10 @@ var Deque = class extends LinearBase {
3282
3420
 
3283
3421
 
3284
3422
 
3423
+
3424
+
3425
+
3426
+
3285
3427
 
3286
3428
 
3287
3429
 
@@ -3323,6 +3465,10 @@ var Deque = class extends LinearBase {
3323
3465
 
3324
3466
 
3325
3467
 
3468
+
3469
+
3470
+
3471
+
3326
3472
 
3327
3473
 
3328
3474
 
@@ -3368,6 +3514,10 @@ var Deque = class extends LinearBase {
3368
3514
 
3369
3515
 
3370
3516
 
3517
+
3518
+
3519
+
3520
+
3371
3521
 
3372
3522
 
3373
3523
 
@@ -3564,6 +3714,10 @@ var Deque = class extends LinearBase {
3564
3714
 
3565
3715
 
3566
3716
 
3717
+
3718
+
3719
+
3720
+
3567
3721
 
3568
3722
 
3569
3723
 
@@ -3647,6 +3801,10 @@ var Deque = class extends LinearBase {
3647
3801
 
3648
3802
 
3649
3803
 
3804
+
3805
+
3806
+
3807
+
3650
3808
 
3651
3809
 
3652
3810
 
@@ -3755,6 +3913,10 @@ var Deque = class extends LinearBase {
3755
3913
 
3756
3914
 
3757
3915
 
3916
+
3917
+
3918
+
3919
+
3758
3920
 
3759
3921
 
3760
3922
 
@@ -3822,6 +3984,10 @@ var Deque = class extends LinearBase {
3822
3984
 
3823
3985
 
3824
3986
 
3987
+
3988
+
3989
+
3990
+
3825
3991
 
3826
3992
 
3827
3993
 
@@ -3872,6 +4038,10 @@ var Deque = class extends LinearBase {
3872
4038
 
3873
4039
 
3874
4040
 
4041
+
4042
+
4043
+
4044
+
3875
4045
 
3876
4046
 
3877
4047
 
@@ -3942,6 +4112,10 @@ var Deque = class extends LinearBase {
3942
4112
 
3943
4113
 
3944
4114
 
4115
+
4116
+
4117
+
4118
+
3945
4119
 
3946
4120
 
3947
4121
 
@@ -3,6 +3,12 @@
3
3
  var __defProp = Object.defineProperty;
4
4
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
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 {
8
14
  static {
@@ -21,7 +27,7 @@ var IterableElementBase = class {
21
27
  if (options) {
22
28
  const { toElementFn } = options;
23
29
  if (typeof toElementFn === "function") this._toElementFn = toElementFn;
24
- else if (toElementFn) throw new TypeError("toElementFn must be a function type");
30
+ else if (toElementFn) raise(TypeError, "toElementFn must be a function type");
25
31
  }
26
32
  }
27
33
  /**
@@ -184,7 +190,7 @@ var IterableElementBase = class {
184
190
  acc = initialValue;
185
191
  } else {
186
192
  const first = iter.next();
187
- if (first.done) throw new TypeError("Reduce of empty structure with no initial value");
193
+ if (first.done) raise(TypeError, "Reduce of empty structure with no initial value");
188
194
  acc = first.value;
189
195
  index = 1;
190
196
  }
@@ -280,6 +286,10 @@ var Stack = class extends IterableElementBase {
280
286
 
281
287
 
282
288
 
289
+
290
+
291
+
292
+
283
293
 
284
294
 
285
295
 
@@ -336,6 +346,10 @@ var Stack = class extends IterableElementBase {
336
346
 
337
347
 
338
348
 
349
+
350
+
351
+
352
+
339
353
 
340
354
 
341
355
 
@@ -381,6 +395,10 @@ var Stack = class extends IterableElementBase {
381
395
 
382
396
 
383
397
 
398
+
399
+
400
+
401
+
384
402
 
385
403
 
386
404
 
@@ -426,6 +444,10 @@ var Stack = class extends IterableElementBase {
426
444
 
427
445
 
428
446
 
447
+
448
+
449
+
450
+
429
451
 
430
452
 
431
453
 
@@ -480,6 +502,10 @@ var Stack = class extends IterableElementBase {
480
502
 
481
503
 
482
504
 
505
+
506
+
507
+
508
+
483
509
 
484
510
 
485
511
 
@@ -549,6 +575,10 @@ var Stack = class extends IterableElementBase {
549
575
 
550
576
 
551
577
 
578
+
579
+
580
+
581
+
552
582
 
553
583
 
554
584
 
@@ -618,6 +648,10 @@ var Stack = class extends IterableElementBase {
618
648
 
619
649
 
620
650
 
651
+
652
+
653
+
654
+
621
655
 
622
656
 
623
657
 
@@ -660,6 +694,10 @@ var Stack = class extends IterableElementBase {
660
694
 
661
695
 
662
696
 
697
+
698
+
699
+
700
+
663
701
 
664
702
 
665
703
 
@@ -708,6 +746,10 @@ var Stack = class extends IterableElementBase {
708
746
 
709
747
 
710
748
 
749
+
750
+
751
+
752
+
711
753
 
712
754
 
713
755
 
@@ -776,6 +818,10 @@ var Stack = class extends IterableElementBase {
776
818
 
777
819
 
778
820
 
821
+
822
+
823
+
824
+
779
825
 
780
826
 
781
827