data-structure-typed 2.5.3 → 2.6.1

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 (158) hide show
  1. package/.github/workflows/ci.yml +7 -2
  2. package/.github/workflows/release-package.yml +9 -2
  3. package/.husky/pre-commit +3 -0
  4. package/CHANGELOG.md +1 -1
  5. package/MIGRATION.md +48 -0
  6. package/README.md +20 -2
  7. package/README_CN.md +20 -2
  8. package/SPECIFICATION.md +24 -0
  9. package/SPECIFICATION.zh-CN.md +24 -0
  10. package/dist/cjs/binary-tree.cjs +1897 -19
  11. package/dist/cjs/graph.cjs +174 -0
  12. package/dist/cjs/hash.cjs +33 -0
  13. package/dist/cjs/heap.cjs +71 -0
  14. package/dist/cjs/index.cjs +2383 -3
  15. package/dist/cjs/linked-list.cjs +224 -2
  16. package/dist/cjs/matrix.cjs +24 -0
  17. package/dist/cjs/priority-queue.cjs +71 -0
  18. package/dist/cjs/queue.cjs +221 -1
  19. package/dist/cjs/stack.cjs +59 -0
  20. package/dist/cjs/trie.cjs +62 -0
  21. package/dist/cjs-legacy/binary-tree.cjs +1897 -19
  22. package/dist/cjs-legacy/graph.cjs +174 -0
  23. package/dist/cjs-legacy/hash.cjs +33 -0
  24. package/dist/cjs-legacy/heap.cjs +71 -0
  25. package/dist/cjs-legacy/index.cjs +2383 -3
  26. package/dist/cjs-legacy/linked-list.cjs +224 -2
  27. package/dist/cjs-legacy/matrix.cjs +24 -0
  28. package/dist/cjs-legacy/priority-queue.cjs +71 -0
  29. package/dist/cjs-legacy/queue.cjs +221 -1
  30. package/dist/cjs-legacy/stack.cjs +59 -0
  31. package/dist/cjs-legacy/trie.cjs +62 -0
  32. package/dist/esm/binary-tree.mjs +1897 -19
  33. package/dist/esm/graph.mjs +174 -0
  34. package/dist/esm/hash.mjs +33 -0
  35. package/dist/esm/heap.mjs +71 -0
  36. package/dist/esm/index.mjs +2383 -3
  37. package/dist/esm/linked-list.mjs +224 -2
  38. package/dist/esm/matrix.mjs +24 -0
  39. package/dist/esm/priority-queue.mjs +71 -0
  40. package/dist/esm/queue.mjs +221 -1
  41. package/dist/esm/stack.mjs +59 -0
  42. package/dist/esm/trie.mjs +62 -0
  43. package/dist/esm-legacy/binary-tree.mjs +1897 -19
  44. package/dist/esm-legacy/graph.mjs +174 -0
  45. package/dist/esm-legacy/hash.mjs +33 -0
  46. package/dist/esm-legacy/heap.mjs +71 -0
  47. package/dist/esm-legacy/index.mjs +2383 -3
  48. package/dist/esm-legacy/linked-list.mjs +224 -2
  49. package/dist/esm-legacy/matrix.mjs +24 -0
  50. package/dist/esm-legacy/priority-queue.mjs +71 -0
  51. package/dist/esm-legacy/queue.mjs +221 -1
  52. package/dist/esm-legacy/stack.mjs +59 -0
  53. package/dist/esm-legacy/trie.mjs +62 -0
  54. package/dist/types/data-structures/base/iterable-element-base.d.ts +17 -0
  55. package/dist/types/data-structures/base/linear-base.d.ts +6 -0
  56. package/dist/types/data-structures/binary-tree/avl-tree.d.ts +36 -0
  57. package/dist/types/data-structures/binary-tree/binary-indexed-tree.d.ts +42 -0
  58. package/dist/types/data-structures/binary-tree/binary-tree.d.ts +75 -0
  59. package/dist/types/data-structures/binary-tree/bst.d.ts +72 -0
  60. package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +57 -0
  61. package/dist/types/data-structures/binary-tree/segment-tree.d.ts +18 -0
  62. package/dist/types/data-structures/binary-tree/tree-map.d.ts +375 -0
  63. package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +389 -0
  64. package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +330 -0
  65. package/dist/types/data-structures/binary-tree/tree-set.d.ts +438 -0
  66. package/dist/types/data-structures/graph/directed-graph.d.ts +30 -0
  67. package/dist/types/data-structures/graph/undirected-graph.d.ts +27 -0
  68. package/dist/types/data-structures/hash/hash-map.d.ts +33 -0
  69. package/dist/types/data-structures/heap/heap.d.ts +42 -0
  70. package/dist/types/data-structures/linked-list/doubly-linked-list.d.ts +75 -2
  71. package/dist/types/data-structures/linked-list/singly-linked-list.d.ts +45 -0
  72. package/dist/types/data-structures/linked-list/skip-linked-list.d.ts +54 -0
  73. package/dist/types/data-structures/matrix/matrix.d.ts +24 -0
  74. package/dist/types/data-structures/queue/deque.d.ts +90 -1
  75. package/dist/types/data-structures/queue/queue.d.ts +36 -0
  76. package/dist/types/data-structures/stack/stack.d.ts +30 -0
  77. package/dist/types/data-structures/trie/trie.d.ts +36 -0
  78. package/dist/umd/data-structure-typed.js +2383 -3
  79. package/dist/umd/data-structure-typed.min.js +3 -3
  80. package/docs-site-docusaurus/docs/api/classes/AVLTree.md +108 -108
  81. package/docs-site-docusaurus/docs/api/classes/BST.md +101 -101
  82. package/docs-site-docusaurus/docs/api/classes/BinaryIndexedTree.md +13 -13
  83. package/docs-site-docusaurus/docs/api/classes/BinaryTree.md +66 -66
  84. package/docs-site-docusaurus/docs/api/classes/Deque.md +235 -51
  85. package/docs-site-docusaurus/docs/api/classes/DirectedGraph.md +21 -21
  86. package/docs-site-docusaurus/docs/api/classes/DoublyLinkedList.md +231 -67
  87. package/docs-site-docusaurus/docs/api/classes/FibonacciHeap.md +9 -9
  88. package/docs-site-docusaurus/docs/api/classes/FibonacciHeapNode.md +1 -1
  89. package/docs-site-docusaurus/docs/api/classes/HashMap.md +14 -14
  90. package/docs-site-docusaurus/docs/api/classes/Heap.md +117 -34
  91. package/docs-site-docusaurus/docs/api/classes/IterableElementBase.md +83 -13
  92. package/docs-site-docusaurus/docs/api/classes/LinearBase.md +124 -20
  93. package/docs-site-docusaurus/docs/api/classes/LinearLinkedBase.md +140 -32
  94. package/docs-site-docusaurus/docs/api/classes/LinkedHashMap.md +30 -26
  95. package/docs-site-docusaurus/docs/api/classes/LinkedListQueue.md +159 -51
  96. package/docs-site-docusaurus/docs/api/classes/MapGraph.md +20 -20
  97. package/docs-site-docusaurus/docs/api/classes/Matrix.md +23 -23
  98. package/docs-site-docusaurus/docs/api/classes/MaxHeap.md +117 -34
  99. package/docs-site-docusaurus/docs/api/classes/MaxPriorityQueue.md +117 -34
  100. package/docs-site-docusaurus/docs/api/classes/MinHeap.md +117 -34
  101. package/docs-site-docusaurus/docs/api/classes/MinPriorityQueue.md +117 -34
  102. package/docs-site-docusaurus/docs/api/classes/PriorityQueue.md +117 -34
  103. package/docs-site-docusaurus/docs/api/classes/Queue.md +142 -34
  104. package/docs-site-docusaurus/docs/api/classes/RedBlackTree.md +117 -117
  105. package/docs-site-docusaurus/docs/api/classes/SegmentTree.md +8 -8
  106. package/docs-site-docusaurus/docs/api/classes/SinglyLinkedList.md +158 -50
  107. package/docs-site-docusaurus/docs/api/classes/SkipList.md +21 -21
  108. package/docs-site-docusaurus/docs/api/classes/Stack.md +108 -26
  109. package/docs-site-docusaurus/docs/api/classes/TreeMap.md +33 -33
  110. package/docs-site-docusaurus/docs/api/classes/TreeMultiMap.md +75 -39
  111. package/docs-site-docusaurus/docs/api/classes/TreeSet.md +301 -39
  112. package/docs-site-docusaurus/docs/api/classes/Trie.md +110 -28
  113. package/docs-site-docusaurus/docs/api/classes/UndirectedGraph.md +20 -20
  114. package/jest.integration.config.js +1 -2
  115. package/package.json +51 -50
  116. package/src/common/error.ts +15 -32
  117. package/src/common/index.ts +0 -3
  118. package/src/data-structures/base/iterable-element-base.ts +32 -3
  119. package/src/data-structures/base/linear-base.ts +13 -36
  120. package/src/data-structures/binary-tree/avl-tree.ts +31 -493
  121. package/src/data-structures/binary-tree/binary-indexed-tree.ts +47 -530
  122. package/src/data-structures/binary-tree/binary-tree.ts +326 -1236
  123. package/src/data-structures/binary-tree/bst.ts +158 -1010
  124. package/src/data-structures/binary-tree/red-black-tree.ts +451 -1233
  125. package/src/data-structures/binary-tree/segment-tree.ts +73 -333
  126. package/src/data-structures/binary-tree/tree-map.ts +462 -4749
  127. package/src/data-structures/binary-tree/tree-multi-map.ts +310 -4530
  128. package/src/data-structures/binary-tree/tree-multi-set.ts +300 -3652
  129. package/src/data-structures/binary-tree/tree-set.ts +437 -4443
  130. package/src/data-structures/graph/abstract-graph.ts +98 -167
  131. package/src/data-structures/graph/directed-graph.ts +137 -532
  132. package/src/data-structures/graph/map-graph.ts +0 -3
  133. package/src/data-structures/graph/undirected-graph.ts +132 -484
  134. package/src/data-structures/hash/hash-map.ts +154 -549
  135. package/src/data-structures/heap/heap.ts +200 -753
  136. package/src/data-structures/linked-list/doubly-linked-list.ts +153 -809
  137. package/src/data-structures/linked-list/singly-linked-list.ts +122 -749
  138. package/src/data-structures/linked-list/skip-linked-list.ts +211 -864
  139. package/src/data-structures/matrix/matrix.ts +179 -494
  140. package/src/data-structures/matrix/navigator.ts +0 -1
  141. package/src/data-structures/priority-queue/max-priority-queue.ts +1 -6
  142. package/src/data-structures/priority-queue/min-priority-queue.ts +6 -11
  143. package/src/data-structures/priority-queue/priority-queue.ts +1 -2
  144. package/src/data-structures/queue/deque.ts +241 -807
  145. package/src/data-structures/queue/queue.ts +102 -589
  146. package/src/data-structures/stack/stack.ts +76 -475
  147. package/src/data-structures/trie/trie.ts +98 -592
  148. package/src/types/common.ts +0 -10
  149. package/src/types/data-structures/binary-tree/bst.ts +0 -7
  150. package/src/types/data-structures/binary-tree/red-black-tree.ts +0 -1
  151. package/src/types/data-structures/graph/abstract-graph.ts +0 -2
  152. package/src/types/data-structures/hash/hash-map.ts +0 -3
  153. package/src/types/data-structures/hash/index.ts +0 -1
  154. package/src/types/data-structures/matrix/navigator.ts +0 -2
  155. package/src/types/utils/utils.ts +0 -7
  156. package/src/types/utils/validate-type.ts +0 -7
  157. package/src/utils/number.ts +0 -2
  158. package/src/utils/utils.ts +0 -5
@@ -389,6 +389,35 @@ var IterableElementBase = class {
389
389
  for (const ele of this) if (ele === element) return true;
390
390
  return false;
391
391
  }
392
+ /**
393
+ * Check whether a value exists (Array-compatible alias for `has`).
394
+ * @remarks Provided for familiarity when migrating from Array. Time O(n), Space O(1).
395
+ * @param element - Element to search for (uses `===`).
396
+ * @returns `true` if found.
397
+ */
398
+ includes(element) {
399
+ return this.has(element);
400
+ }
401
+ /**
402
+ * Return an iterator of `[index, value]` pairs (Array-compatible).
403
+ * @remarks Provided for familiarity when migrating from Array. Time O(n), Space O(1) per step.
404
+ */
405
+ *entries() {
406
+ let index = 0;
407
+ for (const value of this) {
408
+ yield [index++, value];
409
+ }
410
+ }
411
+ /**
412
+ * Return an iterator of numeric indices (Array-compatible).
413
+ * @remarks Provided for familiarity when migrating from Array. Time O(n), Space O(1) per step.
414
+ */
415
+ *keys() {
416
+ let index = 0;
417
+ for (const _ of this) {
418
+ yield index++;
419
+ }
420
+ }
392
421
  /**
393
422
  * Reduces all elements to a single accumulated value.
394
423
  *
@@ -651,6 +680,16 @@ var LinearBase = class _LinearBase extends IterableElementBase {
651
680
  }
652
681
  return this;
653
682
  }
683
+ /**
684
+ * Return a new instance of the same type with elements in reverse order (non-mutating).
685
+ * @remarks Provided for familiarity when migrating from Array (ES2023 `toReversed`). Time O(n), Space O(n).
686
+ * @returns A new reversed instance.
687
+ */
688
+ toReversed() {
689
+ const cloned = this.clone();
690
+ cloned.reverse();
691
+ return cloned;
692
+ }
654
693
  };
655
694
 
656
695
  // src/data-structures/heap/heap.ts
@@ -722,6 +761,9 @@ var Heap = class _Heap extends IterableElementBase {
722
761
 
723
762
 
724
763
 
764
+
765
+
766
+
725
767
 
726
768
 
727
769
 
@@ -812,6 +854,9 @@ var Heap = class _Heap extends IterableElementBase {
812
854
 
813
855
 
814
856
 
857
+
858
+
859
+
815
860
 
816
861
 
817
862
 
@@ -873,6 +918,9 @@ var Heap = class _Heap extends IterableElementBase {
873
918
 
874
919
 
875
920
 
921
+
922
+
923
+
876
924
 
877
925
 
878
926
 
@@ -967,6 +1015,9 @@ var Heap = class _Heap extends IterableElementBase {
967
1015
  */
968
1016
  /**
969
1017
  * @deprecated Use `pop` instead. Will be removed in a future major version.
1018
+
1019
+
1020
+
970
1021
  * @example
971
1022
  * // Heap with custom comparator (MaxHeap behavior)
972
1023
  * interface Task {
@@ -1050,6 +1101,9 @@ var Heap = class _Heap extends IterableElementBase {
1050
1101
 
1051
1102
 
1052
1103
 
1104
+
1105
+
1106
+
1053
1107
 
1054
1108
 
1055
1109
 
@@ -1154,6 +1208,9 @@ var Heap = class _Heap extends IterableElementBase {
1154
1208
 
1155
1209
 
1156
1210
 
1211
+
1212
+
1213
+
1157
1214
 
1158
1215
 
1159
1216
 
@@ -1205,6 +1262,9 @@ var Heap = class _Heap extends IterableElementBase {
1205
1262
 
1206
1263
 
1207
1264
 
1265
+
1266
+
1267
+
1208
1268
 
1209
1269
 
1210
1270
 
@@ -1249,6 +1309,9 @@ var Heap = class _Heap extends IterableElementBase {
1249
1309
 
1250
1310
 
1251
1311
 
1312
+
1313
+
1314
+
1252
1315
 
1253
1316
 
1254
1317
 
@@ -1300,6 +1363,9 @@ var Heap = class _Heap extends IterableElementBase {
1300
1363
 
1301
1364
 
1302
1365
 
1366
+
1367
+
1368
+
1303
1369
 
1304
1370
 
1305
1371
 
@@ -1403,6 +1469,9 @@ var Heap = class _Heap extends IterableElementBase {
1403
1469
 
1404
1470
 
1405
1471
 
1472
+
1473
+
1474
+
1406
1475
 
1407
1476
 
1408
1477
 
@@ -1487,6 +1556,9 @@ var Heap = class _Heap extends IterableElementBase {
1487
1556
 
1488
1557
 
1489
1558
 
1559
+
1560
+
1561
+
1490
1562
 
1491
1563
 
1492
1564
 
@@ -1544,6 +1616,9 @@ var Heap = class _Heap extends IterableElementBase {
1544
1616
 
1545
1617
 
1546
1618
 
1619
+
1620
+
1621
+
1547
1622
 
1548
1623
 
1549
1624
 
@@ -1600,6 +1675,9 @@ var Heap = class _Heap extends IterableElementBase {
1600
1675
 
1601
1676
 
1602
1677
 
1678
+
1679
+
1680
+
1603
1681
 
1604
1682
 
1605
1683
 
@@ -1663,6 +1741,9 @@ var Heap = class _Heap extends IterableElementBase {
1663
1741
 
1664
1742
 
1665
1743
 
1744
+
1745
+
1746
+
1666
1747
 
1667
1748
 
1668
1749
 
@@ -1880,6 +1961,9 @@ var Queue = class _Queue extends LinearBase {
1880
1961
 
1881
1962
 
1882
1963
 
1964
+
1965
+
1966
+
1883
1967
 
1884
1968
 
1885
1969
 
@@ -1934,6 +2018,9 @@ var Queue = class _Queue extends LinearBase {
1934
2018
 
1935
2019
 
1936
2020
 
2021
+
2022
+
2023
+
1937
2024
 
1938
2025
 
1939
2026
 
@@ -2012,6 +2099,9 @@ var Queue = class _Queue extends LinearBase {
2012
2099
 
2013
2100
 
2014
2101
 
2102
+
2103
+
2104
+
2015
2105
 
2016
2106
 
2017
2107
 
@@ -2078,6 +2168,9 @@ var Queue = class _Queue extends LinearBase {
2078
2168
 
2079
2169
 
2080
2170
 
2171
+
2172
+
2173
+
2081
2174
 
2082
2175
 
2083
2176
 
@@ -2151,6 +2244,9 @@ var Queue = class _Queue extends LinearBase {
2151
2244
 
2152
2245
 
2153
2246
 
2247
+
2248
+
2249
+
2154
2250
 
2155
2251
 
2156
2252
 
@@ -2214,6 +2310,9 @@ var Queue = class _Queue extends LinearBase {
2214
2310
 
2215
2311
 
2216
2312
 
2313
+
2314
+
2315
+
2217
2316
 
2218
2317
 
2219
2318
 
@@ -2270,6 +2369,9 @@ var Queue = class _Queue extends LinearBase {
2270
2369
 
2271
2370
 
2272
2371
 
2372
+
2373
+
2374
+
2273
2375
 
2274
2376
 
2275
2377
 
@@ -2382,6 +2484,9 @@ var Queue = class _Queue extends LinearBase {
2382
2484
 
2383
2485
 
2384
2486
 
2487
+
2488
+
2489
+
2385
2490
 
2386
2491
 
2387
2492
 
@@ -2432,6 +2537,9 @@ var Queue = class _Queue extends LinearBase {
2432
2537
 
2433
2538
 
2434
2539
 
2540
+
2541
+
2542
+
2435
2543
 
2436
2544
 
2437
2545
 
@@ -2505,6 +2613,9 @@ var Queue = class _Queue extends LinearBase {
2505
2613
 
2506
2614
 
2507
2615
 
2616
+
2617
+
2618
+
2508
2619
 
2509
2620
 
2510
2621
 
@@ -2562,6 +2673,9 @@ var Queue = class _Queue extends LinearBase {
2562
2673
 
2563
2674
 
2564
2675
 
2676
+
2677
+
2678
+
2565
2679
 
2566
2680
 
2567
2681
 
@@ -2623,6 +2737,9 @@ var Queue = class _Queue extends LinearBase {
2623
2737
 
2624
2738
 
2625
2739
 
2740
+
2741
+
2742
+
2626
2743
 
2627
2744
 
2628
2745
 
@@ -3766,6 +3883,9 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
3766
3883
 
3767
3884
 
3768
3885
 
3886
+
3887
+
3888
+
3769
3889
 
3770
3890
 
3771
3891
 
@@ -3858,6 +3978,9 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
3858
3978
 
3859
3979
 
3860
3980
 
3981
+
3982
+
3983
+
3861
3984
 
3862
3985
 
3863
3986
 
@@ -3948,6 +4071,9 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
3948
4071
 
3949
4072
 
3950
4073
 
4074
+
4075
+
4076
+
3951
4077
 
3952
4078
 
3953
4079
 
@@ -4029,6 +4155,9 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
4029
4155
 
4030
4156
 
4031
4157
 
4158
+
4159
+
4160
+
4032
4161
 
4033
4162
 
4034
4163
 
@@ -4087,6 +4216,9 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
4087
4216
 
4088
4217
 
4089
4218
 
4219
+
4220
+
4221
+
4090
4222
 
4091
4223
 
4092
4224
 
@@ -4198,6 +4330,9 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
4198
4330
 
4199
4331
 
4200
4332
 
4333
+
4334
+
4335
+
4201
4336
 
4202
4337
 
4203
4338
 
@@ -4290,6 +4425,9 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
4290
4425
 
4291
4426
 
4292
4427
 
4428
+
4429
+
4430
+
4293
4431
 
4294
4432
 
4295
4433
 
@@ -4344,6 +4482,9 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
4344
4482
 
4345
4483
 
4346
4484
 
4485
+
4486
+
4487
+
4347
4488
 
4348
4489
 
4349
4490
 
@@ -4451,6 +4592,9 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
4451
4592
 
4452
4593
 
4453
4594
 
4595
+
4596
+
4597
+
4454
4598
 
4455
4599
 
4456
4600
 
@@ -4561,6 +4705,9 @@ var DirectedGraph = class _DirectedGraph extends AbstractGraph {
4561
4705
 
4562
4706
 
4563
4707
 
4708
+
4709
+
4710
+
4564
4711
 
4565
4712
 
4566
4713
 
@@ -4737,6 +4884,9 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
4737
4884
 
4738
4885
 
4739
4886
 
4887
+
4888
+
4889
+
4740
4890
 
4741
4891
 
4742
4892
 
@@ -4825,6 +4975,9 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
4825
4975
 
4826
4976
 
4827
4977
 
4978
+
4979
+
4980
+
4828
4981
 
4829
4982
 
4830
4983
 
@@ -4913,6 +5066,9 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
4913
5066
 
4914
5067
 
4915
5068
 
5069
+
5070
+
5071
+
4916
5072
 
4917
5073
 
4918
5074
 
@@ -5015,6 +5171,9 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
5015
5171
 
5016
5172
 
5017
5173
 
5174
+
5175
+
5176
+
5018
5177
 
5019
5178
 
5020
5179
 
@@ -5073,6 +5232,9 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
5073
5232
 
5074
5233
 
5075
5234
 
5235
+
5236
+
5237
+
5076
5238
 
5077
5239
 
5078
5240
 
@@ -5201,6 +5363,9 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
5201
5363
 
5202
5364
 
5203
5365
 
5366
+
5367
+
5368
+
5204
5369
 
5205
5370
 
5206
5371
 
@@ -5351,6 +5516,9 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
5351
5516
 
5352
5517
 
5353
5518
 
5519
+
5520
+
5521
+
5354
5522
 
5355
5523
 
5356
5524
 
@@ -5423,6 +5591,9 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
5423
5591
 
5424
5592
 
5425
5593
 
5594
+
5595
+
5596
+
5426
5597
 
5427
5598
 
5428
5599
 
@@ -5477,6 +5648,9 @@ var UndirectedGraph = class _UndirectedGraph extends AbstractGraph {
5477
5648
 
5478
5649
 
5479
5650
 
5651
+
5652
+
5653
+
5480
5654
 
5481
5655
 
5482
5656
 
package/dist/cjs/hash.cjs CHANGED
@@ -330,6 +330,9 @@ var HashMap = class extends IterableEntryBase {
330
330
 
331
331
 
332
332
 
333
+
334
+
335
+
333
336
 
334
337
 
335
338
 
@@ -379,6 +382,9 @@ var HashMap = class extends IterableEntryBase {
379
382
 
380
383
 
381
384
 
385
+
386
+
387
+
382
388
 
383
389
 
384
390
 
@@ -479,6 +485,12 @@ var HashMap = class extends IterableEntryBase {
479
485
 
480
486
 
481
487
 
488
+
489
+
490
+
491
+
492
+
493
+
482
494
 
483
495
 
484
496
 
@@ -554,6 +566,9 @@ var HashMap = class extends IterableEntryBase {
554
566
 
555
567
 
556
568
 
569
+
570
+
571
+
557
572
 
558
573
 
559
574
 
@@ -618,6 +633,9 @@ var HashMap = class extends IterableEntryBase {
618
633
 
619
634
 
620
635
 
636
+
637
+
638
+
621
639
 
622
640
 
623
641
 
@@ -689,6 +707,9 @@ var HashMap = class extends IterableEntryBase {
689
707
 
690
708
 
691
709
 
710
+
711
+
712
+
692
713
 
693
714
 
694
715
 
@@ -745,6 +766,9 @@ var HashMap = class extends IterableEntryBase {
745
766
 
746
767
 
747
768
 
769
+
770
+
771
+
748
772
 
749
773
 
750
774
 
@@ -819,6 +843,9 @@ var HashMap = class extends IterableEntryBase {
819
843
 
820
844
 
821
845
 
846
+
847
+
848
+
822
849
 
823
850
 
824
851
 
@@ -876,6 +903,9 @@ var HashMap = class extends IterableEntryBase {
876
903
 
877
904
 
878
905
 
906
+
907
+
908
+
879
909
 
880
910
 
881
911
 
@@ -935,6 +965,9 @@ var HashMap = class extends IterableEntryBase {
935
965
 
936
966
 
937
967
 
968
+
969
+
970
+
938
971
 
939
972
 
940
973
 
package/dist/cjs/heap.cjs CHANGED
@@ -186,6 +186,35 @@ var IterableElementBase = class {
186
186
  for (const ele of this) if (ele === element) return true;
187
187
  return false;
188
188
  }
189
+ /**
190
+ * Check whether a value exists (Array-compatible alias for `has`).
191
+ * @remarks Provided for familiarity when migrating from Array. Time O(n), Space O(1).
192
+ * @param element - Element to search for (uses `===`).
193
+ * @returns `true` if found.
194
+ */
195
+ includes(element) {
196
+ return this.has(element);
197
+ }
198
+ /**
199
+ * Return an iterator of `[index, value]` pairs (Array-compatible).
200
+ * @remarks Provided for familiarity when migrating from Array. Time O(n), Space O(1) per step.
201
+ */
202
+ *entries() {
203
+ let index = 0;
204
+ for (const value of this) {
205
+ yield [index++, value];
206
+ }
207
+ }
208
+ /**
209
+ * Return an iterator of numeric indices (Array-compatible).
210
+ * @remarks Provided for familiarity when migrating from Array. Time O(n), Space O(1) per step.
211
+ */
212
+ *keys() {
213
+ let index = 0;
214
+ for (const _ of this) {
215
+ yield index++;
216
+ }
217
+ }
189
218
  /**
190
219
  * Reduces all elements to a single accumulated value.
191
220
  *
@@ -326,6 +355,9 @@ var Heap = class _Heap extends IterableElementBase {
326
355
 
327
356
 
328
357
 
358
+
359
+
360
+
329
361
 
330
362
 
331
363
 
@@ -416,6 +448,9 @@ var Heap = class _Heap extends IterableElementBase {
416
448
 
417
449
 
418
450
 
451
+
452
+
453
+
419
454
 
420
455
 
421
456
 
@@ -477,6 +512,9 @@ var Heap = class _Heap extends IterableElementBase {
477
512
 
478
513
 
479
514
 
515
+
516
+
517
+
480
518
 
481
519
 
482
520
 
@@ -571,6 +609,9 @@ var Heap = class _Heap extends IterableElementBase {
571
609
  */
572
610
  /**
573
611
  * @deprecated Use `pop` instead. Will be removed in a future major version.
612
+
613
+
614
+
574
615
  * @example
575
616
  * // Heap with custom comparator (MaxHeap behavior)
576
617
  * interface Task {
@@ -654,6 +695,9 @@ var Heap = class _Heap extends IterableElementBase {
654
695
 
655
696
 
656
697
 
698
+
699
+
700
+
657
701
 
658
702
 
659
703
 
@@ -758,6 +802,9 @@ var Heap = class _Heap extends IterableElementBase {
758
802
 
759
803
 
760
804
 
805
+
806
+
807
+
761
808
 
762
809
 
763
810
 
@@ -809,6 +856,9 @@ var Heap = class _Heap extends IterableElementBase {
809
856
 
810
857
 
811
858
 
859
+
860
+
861
+
812
862
 
813
863
 
814
864
 
@@ -853,6 +903,9 @@ var Heap = class _Heap extends IterableElementBase {
853
903
 
854
904
 
855
905
 
906
+
907
+
908
+
856
909
 
857
910
 
858
911
 
@@ -904,6 +957,9 @@ var Heap = class _Heap extends IterableElementBase {
904
957
 
905
958
 
906
959
 
960
+
961
+
962
+
907
963
 
908
964
 
909
965
 
@@ -1007,6 +1063,9 @@ var Heap = class _Heap extends IterableElementBase {
1007
1063
 
1008
1064
 
1009
1065
 
1066
+
1067
+
1068
+
1010
1069
 
1011
1070
 
1012
1071
 
@@ -1091,6 +1150,9 @@ var Heap = class _Heap extends IterableElementBase {
1091
1150
 
1092
1151
 
1093
1152
 
1153
+
1154
+
1155
+
1094
1156
 
1095
1157
 
1096
1158
 
@@ -1148,6 +1210,9 @@ var Heap = class _Heap extends IterableElementBase {
1148
1210
 
1149
1211
 
1150
1212
 
1213
+
1214
+
1215
+
1151
1216
 
1152
1217
 
1153
1218
 
@@ -1204,6 +1269,9 @@ var Heap = class _Heap extends IterableElementBase {
1204
1269
 
1205
1270
 
1206
1271
 
1272
+
1273
+
1274
+
1207
1275
 
1208
1276
 
1209
1277
 
@@ -1267,6 +1335,9 @@ var Heap = class _Heap extends IterableElementBase {
1267
1335
 
1268
1336
 
1269
1337
 
1338
+
1339
+
1340
+
1270
1341
 
1271
1342
 
1272
1343