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
@@ -25,6 +25,10 @@ var arrayRemove = /* @__PURE__ */ __name(function(array, predicate) {
25
25
  }, "arrayRemove");
26
26
 
27
27
  // src/common/error.ts
28
+ function raise(ErrorClass, message) {
29
+ throw new ErrorClass(message);
30
+ }
31
+ __name(raise, "raise");
28
32
  var ERR = {
29
33
  // Range / index
30
34
  indexOutOfRange: /* @__PURE__ */ __name((index, min, max, ctx) => `${ctx ? ctx + ": " : ""}Index ${index} is out of range [${min}, ${max}].`, "indexOutOfRange"),
@@ -46,7 +50,9 @@ var ERR = {
46
50
  matrixSingular: /* @__PURE__ */ __name(() => "Matrix: Singular matrix, inverse does not exist.", "matrixSingular"),
47
51
  matrixNotSquare: /* @__PURE__ */ __name(() => "Matrix: Must be square for inversion.", "matrixNotSquare"),
48
52
  matrixNotRectangular: /* @__PURE__ */ __name(() => "Matrix: Must be rectangular for transposition.", "matrixNotRectangular"),
49
- matrixRowMismatch: /* @__PURE__ */ __name((expected, got) => `Matrix: Expected row length ${expected}, but got ${got}.`, "matrixRowMismatch")
53
+ matrixRowMismatch: /* @__PURE__ */ __name((expected, got) => `Matrix: Expected row length ${expected}, but got ${got}.`, "matrixRowMismatch"),
54
+ // Order statistic
55
+ orderStatisticNotEnabled: /* @__PURE__ */ __name((method, ctx) => `${ctx ? ctx + ": " : ""}${method}() requires enableOrderStatistic: true.`, "orderStatisticNotEnabled")
50
56
  };
51
57
 
52
58
  // src/data-structures/base/iterable-entry-base.ts
@@ -249,7 +255,7 @@ var IterableElementBase = class {
249
255
  if (options) {
250
256
  const { toElementFn } = options;
251
257
  if (typeof toElementFn === "function") this._toElementFn = toElementFn;
252
- else if (toElementFn) throw new TypeError("toElementFn must be a function type");
258
+ else if (toElementFn) raise(TypeError, "toElementFn must be a function type");
253
259
  }
254
260
  }
255
261
  /**
@@ -412,7 +418,7 @@ var IterableElementBase = class {
412
418
  acc = initialValue;
413
419
  } else {
414
420
  const first = iter.next();
415
- if (first.done) throw new TypeError("Reduce of empty structure with no initial value");
421
+ if (first.done) raise(TypeError, "Reduce of empty structure with no initial value");
416
422
  acc = first.value;
417
423
  index = 1;
418
424
  }
@@ -707,6 +713,10 @@ var Heap = class _Heap extends IterableElementBase {
707
713
 
708
714
 
709
715
 
716
+
717
+
718
+
719
+
710
720
 
711
721
 
712
722
 
@@ -789,6 +799,10 @@ var Heap = class _Heap extends IterableElementBase {
789
799
 
790
800
 
791
801
 
802
+
803
+
804
+
805
+
792
806
 
793
807
 
794
808
 
@@ -842,6 +856,10 @@ var Heap = class _Heap extends IterableElementBase {
842
856
 
843
857
 
844
858
 
859
+
860
+
861
+
862
+
845
863
 
846
864
 
847
865
 
@@ -897,6 +915,10 @@ var Heap = class _Heap extends IterableElementBase {
897
915
 
898
916
 
899
917
 
918
+
919
+
920
+
921
+
900
922
 
901
923
 
902
924
 
@@ -968,6 +990,10 @@ var Heap = class _Heap extends IterableElementBase {
968
990
 
969
991
 
970
992
 
993
+
994
+
995
+
996
+
971
997
 
972
998
 
973
999
 
@@ -1064,6 +1090,10 @@ var Heap = class _Heap extends IterableElementBase {
1064
1090
 
1065
1091
 
1066
1092
 
1093
+
1094
+
1095
+
1096
+
1067
1097
 
1068
1098
 
1069
1099
 
@@ -1107,6 +1137,10 @@ var Heap = class _Heap extends IterableElementBase {
1107
1137
 
1108
1138
 
1109
1139
 
1140
+
1141
+
1142
+
1143
+
1110
1144
 
1111
1145
 
1112
1146
 
@@ -1153,6 +1187,10 @@ var Heap = class _Heap extends IterableElementBase {
1153
1187
 
1154
1188
 
1155
1189
 
1190
+
1191
+
1192
+
1193
+
1156
1194
 
1157
1195
 
1158
1196
 
@@ -1196,6 +1234,10 @@ var Heap = class _Heap extends IterableElementBase {
1196
1234
 
1197
1235
 
1198
1236
 
1237
+
1238
+
1239
+
1240
+
1199
1241
 
1200
1242
 
1201
1243
 
@@ -1285,6 +1327,10 @@ var Heap = class _Heap extends IterableElementBase {
1285
1327
 
1286
1328
 
1287
1329
 
1330
+
1331
+
1332
+
1333
+
1288
1334
 
1289
1335
 
1290
1336
 
@@ -1361,6 +1407,10 @@ var Heap = class _Heap extends IterableElementBase {
1361
1407
 
1362
1408
 
1363
1409
 
1410
+
1411
+
1412
+
1413
+
1364
1414
 
1365
1415
 
1366
1416
 
@@ -1410,6 +1460,10 @@ var Heap = class _Heap extends IterableElementBase {
1410
1460
 
1411
1461
 
1412
1462
 
1463
+
1464
+
1465
+
1466
+
1413
1467
 
1414
1468
 
1415
1469
 
@@ -1458,6 +1512,10 @@ var Heap = class _Heap extends IterableElementBase {
1458
1512
 
1459
1513
 
1460
1514
 
1515
+
1516
+
1517
+
1518
+
1461
1519
 
1462
1520
 
1463
1521
 
@@ -1513,6 +1571,10 @@ var Heap = class _Heap extends IterableElementBase {
1513
1571
 
1514
1572
 
1515
1573
 
1574
+
1575
+
1576
+
1577
+
1516
1578
 
1517
1579
 
1518
1580
 
@@ -1526,7 +1588,7 @@ var Heap = class _Heap extends IterableElementBase {
1526
1588
  */
1527
1589
  map(callback, options, thisArg) {
1528
1590
  const { comparator, toElementFn, ...rest } = options ?? {};
1529
- if (!comparator) throw new TypeError(ERR.comparatorRequired("Heap.map"));
1591
+ if (!comparator) raise(TypeError, ERR.comparatorRequired("Heap.map"));
1530
1592
  const out = this._createLike([], { ...rest, comparator, toElementFn });
1531
1593
  let i = 0;
1532
1594
  for (const x of this) {
@@ -1553,7 +1615,7 @@ var Heap = class _Heap extends IterableElementBase {
1553
1615
  }
1554
1616
  _DEFAULT_COMPARATOR = /* @__PURE__ */ __name((a, b) => {
1555
1617
  if (typeof a === "object" || typeof b === "object") {
1556
- throw new TypeError(ERR.comparatorRequired("Heap"));
1618
+ raise(TypeError, ERR.comparatorRequired("Heap"));
1557
1619
  }
1558
1620
  if (a > b) return 1;
1559
1621
  if (a < b) return -1;
@@ -1722,6 +1784,10 @@ var Queue = class _Queue extends LinearBase {
1722
1784
 
1723
1785
 
1724
1786
 
1787
+
1788
+
1789
+
1790
+
1725
1791
 
1726
1792
 
1727
1793
 
@@ -1768,6 +1834,10 @@ var Queue = class _Queue extends LinearBase {
1768
1834
 
1769
1835
 
1770
1836
 
1837
+
1838
+
1839
+
1840
+
1771
1841
 
1772
1842
 
1773
1843
 
@@ -1830,6 +1900,10 @@ var Queue = class _Queue extends LinearBase {
1830
1900
 
1831
1901
 
1832
1902
 
1903
+
1904
+
1905
+
1906
+
1833
1907
 
1834
1908
 
1835
1909
 
@@ -1888,6 +1962,10 @@ var Queue = class _Queue extends LinearBase {
1888
1962
 
1889
1963
 
1890
1964
 
1965
+
1966
+
1967
+
1968
+
1891
1969
 
1892
1970
 
1893
1971
 
@@ -1953,6 +2031,10 @@ var Queue = class _Queue extends LinearBase {
1953
2031
 
1954
2032
 
1955
2033
 
2034
+
2035
+
2036
+
2037
+
1956
2038
 
1957
2039
 
1958
2040
 
@@ -2008,6 +2090,10 @@ var Queue = class _Queue extends LinearBase {
2008
2090
 
2009
2091
 
2010
2092
 
2093
+
2094
+
2095
+
2096
+
2011
2097
 
2012
2098
 
2013
2099
 
@@ -2056,6 +2142,10 @@ var Queue = class _Queue extends LinearBase {
2056
2142
 
2057
2143
 
2058
2144
 
2145
+
2146
+
2147
+
2148
+
2059
2149
 
2060
2150
 
2061
2151
 
@@ -2145,6 +2235,10 @@ var Queue = class _Queue extends LinearBase {
2145
2235
 
2146
2236
 
2147
2237
 
2238
+
2239
+
2240
+
2241
+
2148
2242
 
2149
2243
 
2150
2244
 
@@ -2187,6 +2281,10 @@ var Queue = class _Queue extends LinearBase {
2187
2281
 
2188
2282
 
2189
2283
 
2284
+
2285
+
2286
+
2287
+
2190
2288
 
2191
2289
 
2192
2290
 
@@ -2252,6 +2350,10 @@ var Queue = class _Queue extends LinearBase {
2252
2350
 
2253
2351
 
2254
2352
 
2353
+
2354
+
2355
+
2356
+
2255
2357
 
2256
2358
 
2257
2359
 
@@ -2301,6 +2403,10 @@ var Queue = class _Queue extends LinearBase {
2301
2403
 
2302
2404
 
2303
2405
 
2406
+
2407
+
2408
+
2409
+
2304
2410
 
2305
2411
 
2306
2412
 
@@ -2354,6 +2460,10 @@ var Queue = class _Queue extends LinearBase {
2354
2460
 
2355
2461
 
2356
2462
 
2463
+
2464
+
2465
+
2466
+
2357
2467
 
2358
2468
 
2359
2469
 
@@ -2594,7 +2704,7 @@ var AbstractGraph = class extends IterableEntryBase {
2594
2704
  const newEdge = this.createEdge(srcOrEdge, dest, weight, value);
2595
2705
  return this._addEdge(newEdge);
2596
2706
  } else {
2597
- throw new TypeError(ERR.invalidArgument("dest must be a Vertex or vertex key when srcOrEdge is an Edge.", "Graph"));
2707
+ raise(TypeError, ERR.invalidArgument("dest must be a Vertex or vertex key when srcOrEdge is an Edge.", "Graph"));
2598
2708
  }
2599
2709
  }
2600
2710
  }
@@ -3489,6 +3599,10 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
3489
3599
 
3490
3600
 
3491
3601
 
3602
+
3603
+
3604
+
3605
+
3492
3606
 
3493
3607
 
3494
3608
 
@@ -3573,6 +3687,10 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
3573
3687
 
3574
3688
 
3575
3689
 
3690
+
3691
+
3692
+
3693
+
3576
3694
 
3577
3695
 
3578
3696
 
@@ -3655,6 +3773,10 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
3655
3773
 
3656
3774
 
3657
3775
 
3776
+
3777
+
3778
+
3779
+
3658
3780
 
3659
3781
 
3660
3782
 
@@ -3728,6 +3850,10 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
3728
3850
 
3729
3851
 
3730
3852
 
3853
+
3854
+
3855
+
3856
+
3731
3857
 
3732
3858
 
3733
3859
 
@@ -3778,6 +3904,10 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
3778
3904
 
3779
3905
 
3780
3906
 
3907
+
3908
+
3909
+
3910
+
3781
3911
 
3782
3912
 
3783
3913
 
@@ -3881,6 +4011,10 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
3881
4011
 
3882
4012
 
3883
4013
 
4014
+
4015
+
4016
+
4017
+
3884
4018
 
3885
4019
 
3886
4020
 
@@ -3965,6 +4099,10 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
3965
4099
 
3966
4100
 
3967
4101
 
4102
+
4103
+
4104
+
4105
+
3968
4106
 
3969
4107
 
3970
4108
 
@@ -4011,6 +4149,10 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
4011
4149
 
4012
4150
 
4013
4151
 
4152
+
4153
+
4154
+
4155
+
4014
4156
 
4015
4157
 
4016
4158
 
@@ -4110,6 +4252,10 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
4110
4252
 
4111
4253
 
4112
4254
 
4255
+
4256
+
4257
+
4258
+
4113
4259
 
4114
4260
 
4115
4261
 
@@ -4212,6 +4358,10 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
4212
4358
 
4213
4359
 
4214
4360
 
4361
+
4362
+
4363
+
4364
+
4215
4365
 
4216
4366
 
4217
4367
 
@@ -4380,6 +4530,10 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
4380
4530
 
4381
4531
 
4382
4532
 
4533
+
4534
+
4535
+
4536
+
4383
4537
 
4384
4538
 
4385
4539
 
@@ -4460,6 +4614,10 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
4460
4614
 
4461
4615
 
4462
4616
 
4617
+
4618
+
4619
+
4620
+
4463
4621
 
4464
4622
 
4465
4623
 
@@ -4540,6 +4698,10 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
4540
4698
 
4541
4699
 
4542
4700
 
4701
+
4702
+
4703
+
4704
+
4543
4705
 
4544
4706
 
4545
4707
 
@@ -4634,6 +4796,10 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
4634
4796
 
4635
4797
 
4636
4798
 
4799
+
4800
+
4801
+
4802
+
4637
4803
 
4638
4804
 
4639
4805
 
@@ -4684,6 +4850,10 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
4684
4850
 
4685
4851
 
4686
4852
 
4853
+
4854
+
4855
+
4856
+
4687
4857
 
4688
4858
 
4689
4859
 
@@ -4804,6 +4974,10 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
4804
4974
 
4805
4975
 
4806
4976
 
4977
+
4978
+
4979
+
4980
+
4807
4981
 
4808
4982
 
4809
4983
 
@@ -4946,6 +5120,10 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
4946
5120
 
4947
5121
 
4948
5122
 
5123
+
5124
+
5125
+
5126
+
4949
5127
 
4950
5128
 
4951
5129
 
@@ -5010,6 +5188,10 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
5010
5188
 
5011
5189
 
5012
5190
 
5191
+
5192
+
5193
+
5194
+
5013
5195
 
5014
5196
 
5015
5197
 
@@ -5056,6 +5238,10 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
5056
5238
 
5057
5239
 
5058
5240
 
5241
+
5242
+
5243
+
5244
+
5059
5245
 
5060
5246
 
5061
5247
 
package/dist/cjs/hash.cjs CHANGED
@@ -185,18 +185,11 @@ var IterableEntryBase = class {
185
185
  }
186
186
  };
187
187
 
188
- // src/utils/utils.ts
189
- var rangeCheck = /* @__PURE__ */ __name((index, min, max, message) => {
190
- if (index < min || index > max) {
191
- throw new RangeError(message ?? `Index ${index} is out of range [${min}, ${max}].`);
192
- }
193
- }, "rangeCheck");
194
- var isWeakKey = /* @__PURE__ */ __name((input) => {
195
- const inputType = typeof input;
196
- return inputType === "object" && input !== null || inputType === "function";
197
- }, "isWeakKey");
198
-
199
188
  // src/common/error.ts
189
+ function raise(ErrorClass, message) {
190
+ throw new ErrorClass(message);
191
+ }
192
+ __name(raise, "raise");
200
193
  var ERR = {
201
194
  // Range / index
202
195
  indexOutOfRange: /* @__PURE__ */ __name((index, min, max, ctx) => `${ctx ? ctx + ": " : ""}Index ${index} is out of range [${min}, ${max}].`, "indexOutOfRange"),
@@ -218,9 +211,22 @@ var ERR = {
218
211
  matrixSingular: /* @__PURE__ */ __name(() => "Matrix: Singular matrix, inverse does not exist.", "matrixSingular"),
219
212
  matrixNotSquare: /* @__PURE__ */ __name(() => "Matrix: Must be square for inversion.", "matrixNotSquare"),
220
213
  matrixNotRectangular: /* @__PURE__ */ __name(() => "Matrix: Must be rectangular for transposition.", "matrixNotRectangular"),
221
- matrixRowMismatch: /* @__PURE__ */ __name((expected, got) => `Matrix: Expected row length ${expected}, but got ${got}.`, "matrixRowMismatch")
214
+ matrixRowMismatch: /* @__PURE__ */ __name((expected, got) => `Matrix: Expected row length ${expected}, but got ${got}.`, "matrixRowMismatch"),
215
+ // Order statistic
216
+ orderStatisticNotEnabled: /* @__PURE__ */ __name((method, ctx) => `${ctx ? ctx + ": " : ""}${method}() requires enableOrderStatistic: true.`, "orderStatisticNotEnabled")
222
217
  };
223
218
 
219
+ // src/utils/utils.ts
220
+ var rangeCheck = /* @__PURE__ */ __name((index, min, max, message) => {
221
+ if (index < min || index > max) {
222
+ throw new RangeError(message ?? `Index ${index} is out of range [${min}, ${max}].`);
223
+ }
224
+ }, "rangeCheck");
225
+ var isWeakKey = /* @__PURE__ */ __name((input) => {
226
+ const inputType = typeof input;
227
+ return inputType === "object" && input !== null || inputType === "function";
228
+ }, "isWeakKey");
229
+
224
230
  // src/data-structures/hash/hash-map.ts
225
231
  var HashMap = class extends IterableEntryBase {
226
232
  static {
@@ -315,6 +321,10 @@ var HashMap = class extends IterableEntryBase {
315
321
 
316
322
 
317
323
 
324
+
325
+
326
+
327
+
318
328
 
319
329
 
320
330
 
@@ -356,6 +366,10 @@ var HashMap = class extends IterableEntryBase {
356
366
 
357
367
 
358
368
 
369
+
370
+
371
+
372
+
359
373
 
360
374
 
361
375
 
@@ -439,6 +453,14 @@ var HashMap = class extends IterableEntryBase {
439
453
 
440
454
 
441
455
 
456
+
457
+
458
+
459
+
460
+
461
+
462
+
463
+
442
464
 
443
465
 
444
466
 
@@ -507,6 +529,10 @@ var HashMap = class extends IterableEntryBase {
507
529
 
508
530
 
509
531
 
532
+
533
+
534
+
535
+
510
536
 
511
537
 
512
538
 
@@ -559,6 +585,10 @@ var HashMap = class extends IterableEntryBase {
559
585
 
560
586
 
561
587
 
588
+
589
+
590
+
591
+
562
592
 
563
593
 
564
594
 
@@ -622,6 +652,10 @@ var HashMap = class extends IterableEntryBase {
622
652
 
623
653
 
624
654
 
655
+
656
+
657
+
658
+
625
659
 
626
660
 
627
661
 
@@ -670,6 +704,10 @@ var HashMap = class extends IterableEntryBase {
670
704
 
671
705
 
672
706
 
707
+
708
+
709
+
710
+
673
711
 
674
712
 
675
713
 
@@ -736,6 +774,10 @@ var HashMap = class extends IterableEntryBase {
736
774
 
737
775
 
738
776
 
777
+
778
+
779
+
780
+
739
781
 
740
782
 
741
783
 
@@ -785,6 +827,10 @@ var HashMap = class extends IterableEntryBase {
785
827
 
786
828
 
787
829
 
830
+
831
+
832
+
833
+
788
834
 
789
835
 
790
836
 
@@ -836,6 +882,10 @@ var HashMap = class extends IterableEntryBase {
836
882
 
837
883
 
838
884
 
885
+
886
+
887
+
888
+
839
889
 
840
890
 
841
891
 
@@ -990,9 +1040,7 @@ var LinkedHashMap = class extends IterableEntryBase {
990
1040
  if (this.isEntry(rawElement)) {
991
1041
  return rawElement;
992
1042
  }
993
- throw new TypeError(
994
- ERR.invalidArgument("If elements do not adhere to [key, value], provide options.toEntryFn to transform raw records.", "HashMap")
995
- );
1043
+ raise(TypeError, ERR.invalidArgument("If elements do not adhere to [key, value], provide options.toEntryFn to transform raw records.", "HashMap"));
996
1044
  }, "_toEntryFn");
997
1045
  get toEntryFn() {
998
1046
  return this._toEntryFn;