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
@@ -23,6 +23,10 @@ var arrayRemove = /* @__PURE__ */ __name(function(array, predicate) {
23
23
  }, "arrayRemove");
24
24
 
25
25
  // src/common/error.ts
26
+ function raise(ErrorClass, message) {
27
+ throw new ErrorClass(message);
28
+ }
29
+ __name(raise, "raise");
26
30
  var ERR = {
27
31
  // Range / index
28
32
  indexOutOfRange: /* @__PURE__ */ __name((index, min, max, ctx) => `${ctx ? ctx + ": " : ""}Index ${index} is out of range [${min}, ${max}].`, "indexOutOfRange"),
@@ -44,7 +48,9 @@ var ERR = {
44
48
  matrixSingular: /* @__PURE__ */ __name(() => "Matrix: Singular matrix, inverse does not exist.", "matrixSingular"),
45
49
  matrixNotSquare: /* @__PURE__ */ __name(() => "Matrix: Must be square for inversion.", "matrixNotSquare"),
46
50
  matrixNotRectangular: /* @__PURE__ */ __name(() => "Matrix: Must be rectangular for transposition.", "matrixNotRectangular"),
47
- matrixRowMismatch: /* @__PURE__ */ __name((expected, got) => `Matrix: Expected row length ${expected}, but got ${got}.`, "matrixRowMismatch")
51
+ matrixRowMismatch: /* @__PURE__ */ __name((expected, got) => `Matrix: Expected row length ${expected}, but got ${got}.`, "matrixRowMismatch"),
52
+ // Order statistic
53
+ orderStatisticNotEnabled: /* @__PURE__ */ __name((method, ctx) => `${ctx ? ctx + ": " : ""}${method}() requires enableOrderStatistic: true.`, "orderStatisticNotEnabled")
48
54
  };
49
55
 
50
56
  // src/data-structures/base/iterable-entry-base.ts
@@ -247,7 +253,7 @@ var IterableElementBase = class {
247
253
  if (options) {
248
254
  const { toElementFn } = options;
249
255
  if (typeof toElementFn === "function") this._toElementFn = toElementFn;
250
- else if (toElementFn) throw new TypeError("toElementFn must be a function type");
256
+ else if (toElementFn) raise(TypeError, "toElementFn must be a function type");
251
257
  }
252
258
  }
253
259
  /**
@@ -410,7 +416,7 @@ var IterableElementBase = class {
410
416
  acc = initialValue;
411
417
  } else {
412
418
  const first = iter.next();
413
- if (first.done) throw new TypeError("Reduce of empty structure with no initial value");
419
+ if (first.done) raise(TypeError, "Reduce of empty structure with no initial value");
414
420
  acc = first.value;
415
421
  index = 1;
416
422
  }
@@ -705,6 +711,10 @@ var Heap = class _Heap extends IterableElementBase {
705
711
 
706
712
 
707
713
 
714
+
715
+
716
+
717
+
708
718
 
709
719
 
710
720
 
@@ -787,6 +797,10 @@ var Heap = class _Heap extends IterableElementBase {
787
797
 
788
798
 
789
799
 
800
+
801
+
802
+
803
+
790
804
 
791
805
 
792
806
 
@@ -840,6 +854,10 @@ var Heap = class _Heap extends IterableElementBase {
840
854
 
841
855
 
842
856
 
857
+
858
+
859
+
860
+
843
861
 
844
862
 
845
863
 
@@ -895,6 +913,10 @@ var Heap = class _Heap extends IterableElementBase {
895
913
 
896
914
 
897
915
 
916
+
917
+
918
+
919
+
898
920
 
899
921
 
900
922
 
@@ -966,6 +988,10 @@ var Heap = class _Heap extends IterableElementBase {
966
988
 
967
989
 
968
990
 
991
+
992
+
993
+
994
+
969
995
 
970
996
 
971
997
 
@@ -1062,6 +1088,10 @@ var Heap = class _Heap extends IterableElementBase {
1062
1088
 
1063
1089
 
1064
1090
 
1091
+
1092
+
1093
+
1094
+
1065
1095
 
1066
1096
 
1067
1097
 
@@ -1105,6 +1135,10 @@ var Heap = class _Heap extends IterableElementBase {
1105
1135
 
1106
1136
 
1107
1137
 
1138
+
1139
+
1140
+
1141
+
1108
1142
 
1109
1143
 
1110
1144
 
@@ -1151,6 +1185,10 @@ var Heap = class _Heap extends IterableElementBase {
1151
1185
 
1152
1186
 
1153
1187
 
1188
+
1189
+
1190
+
1191
+
1154
1192
 
1155
1193
 
1156
1194
 
@@ -1194,6 +1232,10 @@ var Heap = class _Heap extends IterableElementBase {
1194
1232
 
1195
1233
 
1196
1234
 
1235
+
1236
+
1237
+
1238
+
1197
1239
 
1198
1240
 
1199
1241
 
@@ -1283,6 +1325,10 @@ var Heap = class _Heap extends IterableElementBase {
1283
1325
 
1284
1326
 
1285
1327
 
1328
+
1329
+
1330
+
1331
+
1286
1332
 
1287
1333
 
1288
1334
 
@@ -1359,6 +1405,10 @@ var Heap = class _Heap extends IterableElementBase {
1359
1405
 
1360
1406
 
1361
1407
 
1408
+
1409
+
1410
+
1411
+
1362
1412
 
1363
1413
 
1364
1414
 
@@ -1408,6 +1458,10 @@ var Heap = class _Heap extends IterableElementBase {
1408
1458
 
1409
1459
 
1410
1460
 
1461
+
1462
+
1463
+
1464
+
1411
1465
 
1412
1466
 
1413
1467
 
@@ -1456,6 +1510,10 @@ var Heap = class _Heap extends IterableElementBase {
1456
1510
 
1457
1511
 
1458
1512
 
1513
+
1514
+
1515
+
1516
+
1459
1517
 
1460
1518
 
1461
1519
 
@@ -1511,6 +1569,10 @@ var Heap = class _Heap extends IterableElementBase {
1511
1569
 
1512
1570
 
1513
1571
 
1572
+
1573
+
1574
+
1575
+
1514
1576
 
1515
1577
 
1516
1578
 
@@ -1524,7 +1586,7 @@ var Heap = class _Heap extends IterableElementBase {
1524
1586
  */
1525
1587
  map(callback, options, thisArg) {
1526
1588
  const { comparator, toElementFn, ...rest } = options ?? {};
1527
- if (!comparator) throw new TypeError(ERR.comparatorRequired("Heap.map"));
1589
+ if (!comparator) raise(TypeError, ERR.comparatorRequired("Heap.map"));
1528
1590
  const out = this._createLike([], { ...rest, comparator, toElementFn });
1529
1591
  let i = 0;
1530
1592
  for (const x of this) {
@@ -1551,7 +1613,7 @@ var Heap = class _Heap extends IterableElementBase {
1551
1613
  }
1552
1614
  _DEFAULT_COMPARATOR = /* @__PURE__ */ __name((a, b) => {
1553
1615
  if (typeof a === "object" || typeof b === "object") {
1554
- throw new TypeError(ERR.comparatorRequired("Heap"));
1616
+ raise(TypeError, ERR.comparatorRequired("Heap"));
1555
1617
  }
1556
1618
  if (a > b) return 1;
1557
1619
  if (a < b) return -1;
@@ -1720,6 +1782,10 @@ var Queue = class _Queue extends LinearBase {
1720
1782
 
1721
1783
 
1722
1784
 
1785
+
1786
+
1787
+
1788
+
1723
1789
 
1724
1790
 
1725
1791
 
@@ -1766,6 +1832,10 @@ var Queue = class _Queue extends LinearBase {
1766
1832
 
1767
1833
 
1768
1834
 
1835
+
1836
+
1837
+
1838
+
1769
1839
 
1770
1840
 
1771
1841
 
@@ -1828,6 +1898,10 @@ var Queue = class _Queue extends LinearBase {
1828
1898
 
1829
1899
 
1830
1900
 
1901
+
1902
+
1903
+
1904
+
1831
1905
 
1832
1906
 
1833
1907
 
@@ -1886,6 +1960,10 @@ var Queue = class _Queue extends LinearBase {
1886
1960
 
1887
1961
 
1888
1962
 
1963
+
1964
+
1965
+
1966
+
1889
1967
 
1890
1968
 
1891
1969
 
@@ -1951,6 +2029,10 @@ var Queue = class _Queue extends LinearBase {
1951
2029
 
1952
2030
 
1953
2031
 
2032
+
2033
+
2034
+
2035
+
1954
2036
 
1955
2037
 
1956
2038
 
@@ -2006,6 +2088,10 @@ var Queue = class _Queue extends LinearBase {
2006
2088
 
2007
2089
 
2008
2090
 
2091
+
2092
+
2093
+
2094
+
2009
2095
 
2010
2096
 
2011
2097
 
@@ -2054,6 +2140,10 @@ var Queue = class _Queue extends LinearBase {
2054
2140
 
2055
2141
 
2056
2142
 
2143
+
2144
+
2145
+
2146
+
2057
2147
 
2058
2148
 
2059
2149
 
@@ -2143,6 +2233,10 @@ var Queue = class _Queue extends LinearBase {
2143
2233
 
2144
2234
 
2145
2235
 
2236
+
2237
+
2238
+
2239
+
2146
2240
 
2147
2241
 
2148
2242
 
@@ -2185,6 +2279,10 @@ var Queue = class _Queue extends LinearBase {
2185
2279
 
2186
2280
 
2187
2281
 
2282
+
2283
+
2284
+
2285
+
2188
2286
 
2189
2287
 
2190
2288
 
@@ -2250,6 +2348,10 @@ var Queue = class _Queue extends LinearBase {
2250
2348
 
2251
2349
 
2252
2350
 
2351
+
2352
+
2353
+
2354
+
2253
2355
 
2254
2356
 
2255
2357
 
@@ -2299,6 +2401,10 @@ var Queue = class _Queue extends LinearBase {
2299
2401
 
2300
2402
 
2301
2403
 
2404
+
2405
+
2406
+
2407
+
2302
2408
 
2303
2409
 
2304
2410
 
@@ -2352,6 +2458,10 @@ var Queue = class _Queue extends LinearBase {
2352
2458
 
2353
2459
 
2354
2460
 
2461
+
2462
+
2463
+
2464
+
2355
2465
 
2356
2466
 
2357
2467
 
@@ -2592,7 +2702,7 @@ var AbstractGraph = class extends IterableEntryBase {
2592
2702
  const newEdge = this.createEdge(srcOrEdge, dest, weight, value);
2593
2703
  return this._addEdge(newEdge);
2594
2704
  } else {
2595
- throw new TypeError(ERR.invalidArgument("dest must be a Vertex or vertex key when srcOrEdge is an Edge.", "Graph"));
2705
+ raise(TypeError, ERR.invalidArgument("dest must be a Vertex or vertex key when srcOrEdge is an Edge.", "Graph"));
2596
2706
  }
2597
2707
  }
2598
2708
  }
@@ -3487,6 +3597,10 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
3487
3597
 
3488
3598
 
3489
3599
 
3600
+
3601
+
3602
+
3603
+
3490
3604
 
3491
3605
 
3492
3606
 
@@ -3571,6 +3685,10 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
3571
3685
 
3572
3686
 
3573
3687
 
3688
+
3689
+
3690
+
3691
+
3574
3692
 
3575
3693
 
3576
3694
 
@@ -3653,6 +3771,10 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
3653
3771
 
3654
3772
 
3655
3773
 
3774
+
3775
+
3776
+
3777
+
3656
3778
 
3657
3779
 
3658
3780
 
@@ -3726,6 +3848,10 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
3726
3848
 
3727
3849
 
3728
3850
 
3851
+
3852
+
3853
+
3854
+
3729
3855
 
3730
3856
 
3731
3857
 
@@ -3776,6 +3902,10 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
3776
3902
 
3777
3903
 
3778
3904
 
3905
+
3906
+
3907
+
3908
+
3779
3909
 
3780
3910
 
3781
3911
 
@@ -3879,6 +4009,10 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
3879
4009
 
3880
4010
 
3881
4011
 
4012
+
4013
+
4014
+
4015
+
3882
4016
 
3883
4017
 
3884
4018
 
@@ -3963,6 +4097,10 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
3963
4097
 
3964
4098
 
3965
4099
 
4100
+
4101
+
4102
+
4103
+
3966
4104
 
3967
4105
 
3968
4106
 
@@ -4009,6 +4147,10 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
4009
4147
 
4010
4148
 
4011
4149
 
4150
+
4151
+
4152
+
4153
+
4012
4154
 
4013
4155
 
4014
4156
 
@@ -4108,6 +4250,10 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
4108
4250
 
4109
4251
 
4110
4252
 
4253
+
4254
+
4255
+
4256
+
4111
4257
 
4112
4258
 
4113
4259
 
@@ -4210,6 +4356,10 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
4210
4356
 
4211
4357
 
4212
4358
 
4359
+
4360
+
4361
+
4362
+
4213
4363
 
4214
4364
 
4215
4365
 
@@ -4378,6 +4528,10 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
4378
4528
 
4379
4529
 
4380
4530
 
4531
+
4532
+
4533
+
4534
+
4381
4535
 
4382
4536
 
4383
4537
 
@@ -4458,6 +4612,10 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
4458
4612
 
4459
4613
 
4460
4614
 
4615
+
4616
+
4617
+
4618
+
4461
4619
 
4462
4620
 
4463
4621
 
@@ -4538,6 +4696,10 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
4538
4696
 
4539
4697
 
4540
4698
 
4699
+
4700
+
4701
+
4702
+
4541
4703
 
4542
4704
 
4543
4705
 
@@ -4632,6 +4794,10 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
4632
4794
 
4633
4795
 
4634
4796
 
4797
+
4798
+
4799
+
4800
+
4635
4801
 
4636
4802
 
4637
4803
 
@@ -4682,6 +4848,10 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
4682
4848
 
4683
4849
 
4684
4850
 
4851
+
4852
+
4853
+
4854
+
4685
4855
 
4686
4856
 
4687
4857
 
@@ -4802,6 +4972,10 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
4802
4972
 
4803
4973
 
4804
4974
 
4975
+
4976
+
4977
+
4978
+
4805
4979
 
4806
4980
 
4807
4981
 
@@ -4944,6 +5118,10 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
4944
5118
 
4945
5119
 
4946
5120
 
5121
+
5122
+
5123
+
5124
+
4947
5125
 
4948
5126
 
4949
5127
 
@@ -5008,6 +5186,10 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
5008
5186
 
5009
5187
 
5010
5188
 
5189
+
5190
+
5191
+
5192
+
5011
5193
 
5012
5194
 
5013
5195
 
@@ -5054,6 +5236,10 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
5054
5236
 
5055
5237
 
5056
5238
 
5239
+
5240
+
5241
+
5242
+
5057
5243
 
5058
5244
 
5059
5245
 
package/dist/esm/hash.mjs CHANGED
@@ -183,18 +183,11 @@ var IterableEntryBase = class {
183
183
  }
184
184
  };
185
185
 
186
- // src/utils/utils.ts
187
- var rangeCheck = /* @__PURE__ */ __name((index, min, max, message) => {
188
- if (index < min || index > max) {
189
- throw new RangeError(message ?? `Index ${index} is out of range [${min}, ${max}].`);
190
- }
191
- }, "rangeCheck");
192
- var isWeakKey = /* @__PURE__ */ __name((input) => {
193
- const inputType = typeof input;
194
- return inputType === "object" && input !== null || inputType === "function";
195
- }, "isWeakKey");
196
-
197
186
  // src/common/error.ts
187
+ function raise(ErrorClass, message) {
188
+ throw new ErrorClass(message);
189
+ }
190
+ __name(raise, "raise");
198
191
  var ERR = {
199
192
  // Range / index
200
193
  indexOutOfRange: /* @__PURE__ */ __name((index, min, max, ctx) => `${ctx ? ctx + ": " : ""}Index ${index} is out of range [${min}, ${max}].`, "indexOutOfRange"),
@@ -216,9 +209,22 @@ var ERR = {
216
209
  matrixSingular: /* @__PURE__ */ __name(() => "Matrix: Singular matrix, inverse does not exist.", "matrixSingular"),
217
210
  matrixNotSquare: /* @__PURE__ */ __name(() => "Matrix: Must be square for inversion.", "matrixNotSquare"),
218
211
  matrixNotRectangular: /* @__PURE__ */ __name(() => "Matrix: Must be rectangular for transposition.", "matrixNotRectangular"),
219
- matrixRowMismatch: /* @__PURE__ */ __name((expected, got) => `Matrix: Expected row length ${expected}, but got ${got}.`, "matrixRowMismatch")
212
+ matrixRowMismatch: /* @__PURE__ */ __name((expected, got) => `Matrix: Expected row length ${expected}, but got ${got}.`, "matrixRowMismatch"),
213
+ // Order statistic
214
+ orderStatisticNotEnabled: /* @__PURE__ */ __name((method, ctx) => `${ctx ? ctx + ": " : ""}${method}() requires enableOrderStatistic: true.`, "orderStatisticNotEnabled")
220
215
  };
221
216
 
217
+ // src/utils/utils.ts
218
+ var rangeCheck = /* @__PURE__ */ __name((index, min, max, message) => {
219
+ if (index < min || index > max) {
220
+ throw new RangeError(message ?? `Index ${index} is out of range [${min}, ${max}].`);
221
+ }
222
+ }, "rangeCheck");
223
+ var isWeakKey = /* @__PURE__ */ __name((input) => {
224
+ const inputType = typeof input;
225
+ return inputType === "object" && input !== null || inputType === "function";
226
+ }, "isWeakKey");
227
+
222
228
  // src/data-structures/hash/hash-map.ts
223
229
  var HashMap = class extends IterableEntryBase {
224
230
  static {
@@ -313,6 +319,10 @@ var HashMap = class extends IterableEntryBase {
313
319
 
314
320
 
315
321
 
322
+
323
+
324
+
325
+
316
326
 
317
327
 
318
328
 
@@ -354,6 +364,10 @@ var HashMap = class extends IterableEntryBase {
354
364
 
355
365
 
356
366
 
367
+
368
+
369
+
370
+
357
371
 
358
372
 
359
373
 
@@ -437,6 +451,14 @@ var HashMap = class extends IterableEntryBase {
437
451
 
438
452
 
439
453
 
454
+
455
+
456
+
457
+
458
+
459
+
460
+
461
+
440
462
 
441
463
 
442
464
 
@@ -505,6 +527,10 @@ var HashMap = class extends IterableEntryBase {
505
527
 
506
528
 
507
529
 
530
+
531
+
532
+
533
+
508
534
 
509
535
 
510
536
 
@@ -557,6 +583,10 @@ var HashMap = class extends IterableEntryBase {
557
583
 
558
584
 
559
585
 
586
+
587
+
588
+
589
+
560
590
 
561
591
 
562
592
 
@@ -620,6 +650,10 @@ var HashMap = class extends IterableEntryBase {
620
650
 
621
651
 
622
652
 
653
+
654
+
655
+
656
+
623
657
 
624
658
 
625
659
 
@@ -668,6 +702,10 @@ var HashMap = class extends IterableEntryBase {
668
702
 
669
703
 
670
704
 
705
+
706
+
707
+
708
+
671
709
 
672
710
 
673
711
 
@@ -734,6 +772,10 @@ var HashMap = class extends IterableEntryBase {
734
772
 
735
773
 
736
774
 
775
+
776
+
777
+
778
+
737
779
 
738
780
 
739
781
 
@@ -783,6 +825,10 @@ var HashMap = class extends IterableEntryBase {
783
825
 
784
826
 
785
827
 
828
+
829
+
830
+
831
+
786
832
 
787
833
 
788
834
 
@@ -834,6 +880,10 @@ var HashMap = class extends IterableEntryBase {
834
880
 
835
881
 
836
882
 
883
+
884
+
885
+
886
+
837
887
 
838
888
 
839
889
 
@@ -988,9 +1038,7 @@ var LinkedHashMap = class extends IterableEntryBase {
988
1038
  if (this.isEntry(rawElement)) {
989
1039
  return rawElement;
990
1040
  }
991
- throw new TypeError(
992
- ERR.invalidArgument("If elements do not adhere to [key, value], provide options.toEntryFn to transform raw records.", "HashMap")
993
- );
1041
+ raise(TypeError, ERR.invalidArgument("If elements do not adhere to [key, value], provide options.toEntryFn to transform raw records.", "HashMap"));
994
1042
  }, "_toEntryFn");
995
1043
  get toEntryFn() {
996
1044
  return this._toEntryFn;