data-structure-typed 2.6.0 → 2.6.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 (160) hide show
  1. package/.github/workflows/ci.yml +7 -2
  2. package/.github/workflows/release-package.yml +9 -2
  3. package/CHANGELOG.md +9 -1
  4. package/dist/cjs/binary-tree.cjs +2927 -23688
  5. package/dist/cjs/graph.cjs +845 -2634
  6. package/dist/cjs/hash.cjs +185 -616
  7. package/dist/cjs/heap.cjs +266 -818
  8. package/dist/cjs/index.cjs +5116 -31358
  9. package/dist/cjs/linked-list.cjs +644 -2615
  10. package/dist/cjs/matrix.cjs +220 -535
  11. package/dist/cjs/priority-queue.cjs +266 -818
  12. package/dist/cjs/queue.cjs +637 -2343
  13. package/dist/cjs/stack.cjs +124 -530
  14. package/dist/cjs/trie.cjs +145 -592
  15. package/dist/cjs-legacy/binary-tree.cjs +4352 -25113
  16. package/dist/cjs-legacy/graph.cjs +847 -2636
  17. package/dist/cjs-legacy/hash.cjs +181 -612
  18. package/dist/cjs-legacy/heap.cjs +266 -818
  19. package/dist/cjs-legacy/index.cjs +6657 -32899
  20. package/dist/cjs-legacy/linked-list.cjs +640 -2611
  21. package/dist/cjs-legacy/matrix.cjs +220 -535
  22. package/dist/cjs-legacy/priority-queue.cjs +266 -818
  23. package/dist/cjs-legacy/queue.cjs +634 -2340
  24. package/dist/cjs-legacy/stack.cjs +124 -530
  25. package/dist/cjs-legacy/trie.cjs +145 -592
  26. package/dist/esm/binary-tree.mjs +2927 -23688
  27. package/dist/esm/graph.mjs +845 -2634
  28. package/dist/esm/hash.mjs +185 -616
  29. package/dist/esm/heap.mjs +266 -818
  30. package/dist/esm/index.mjs +5116 -31358
  31. package/dist/esm/linked-list.mjs +644 -2615
  32. package/dist/esm/matrix.mjs +220 -535
  33. package/dist/esm/priority-queue.mjs +266 -818
  34. package/dist/esm/queue.mjs +637 -2343
  35. package/dist/esm/stack.mjs +124 -530
  36. package/dist/esm/trie.mjs +145 -592
  37. package/dist/esm-legacy/binary-tree.mjs +4352 -25113
  38. package/dist/esm-legacy/graph.mjs +847 -2636
  39. package/dist/esm-legacy/hash.mjs +181 -612
  40. package/dist/esm-legacy/heap.mjs +266 -818
  41. package/dist/esm-legacy/index.mjs +6657 -32899
  42. package/dist/esm-legacy/linked-list.mjs +640 -2611
  43. package/dist/esm-legacy/matrix.mjs +220 -535
  44. package/dist/esm-legacy/priority-queue.mjs +266 -818
  45. package/dist/esm-legacy/queue.mjs +634 -2340
  46. package/dist/esm-legacy/stack.mjs +124 -530
  47. package/dist/esm-legacy/trie.mjs +145 -592
  48. package/dist/types/data-structures/binary-tree/avl-tree.d.ts +29 -500
  49. package/dist/types/data-structures/binary-tree/binary-indexed-tree.d.ts +38 -563
  50. package/dist/types/data-structures/binary-tree/binary-tree.d.ts +230 -1212
  51. package/dist/types/data-structures/binary-tree/bst.d.ts +124 -1063
  52. package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +99 -854
  53. package/dist/types/data-structures/binary-tree/segment-tree.d.ts +62 -314
  54. package/dist/types/data-structures/binary-tree/tree-map.d.ts +366 -5057
  55. package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +277 -4885
  56. package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +253 -3929
  57. package/dist/types/data-structures/binary-tree/tree-set.d.ts +261 -4782
  58. package/dist/types/data-structures/graph/abstract-graph.d.ts +44 -44
  59. package/dist/types/data-structures/graph/directed-graph.d.ts +130 -527
  60. package/dist/types/data-structures/graph/undirected-graph.d.ts +125 -482
  61. package/dist/types/data-structures/hash/hash-map.d.ts +132 -562
  62. package/dist/types/data-structures/heap/heap.d.ts +194 -746
  63. package/dist/types/data-structures/linked-list/doubly-linked-list.d.ts +120 -809
  64. package/dist/types/data-structures/linked-list/singly-linked-list.d.ts +121 -733
  65. package/dist/types/data-structures/linked-list/skip-linked-list.d.ts +193 -863
  66. package/dist/types/data-structures/matrix/matrix.d.ts +159 -474
  67. package/dist/types/data-structures/priority-queue/max-priority-queue.d.ts +1 -6
  68. package/dist/types/data-structures/priority-queue/min-priority-queue.d.ts +6 -11
  69. package/dist/types/data-structures/priority-queue/priority-queue.d.ts +1 -1
  70. package/dist/types/data-structures/queue/deque.d.ts +196 -804
  71. package/dist/types/data-structures/queue/queue.d.ts +99 -585
  72. package/dist/types/data-structures/stack/stack.d.ts +75 -481
  73. package/dist/types/data-structures/trie/trie.d.ts +98 -584
  74. package/dist/umd/data-structure-typed.js +6580 -32822
  75. package/dist/umd/data-structure-typed.min.js +3 -3
  76. package/docs-site-docusaurus/docs/api/classes/AVLTree.md +162 -215
  77. package/docs-site-docusaurus/docs/api/classes/AVLTreeNode.md +9 -9
  78. package/docs-site-docusaurus/docs/api/classes/AbstractGraph.md +47 -47
  79. package/docs-site-docusaurus/docs/api/classes/BST.md +155 -208
  80. package/docs-site-docusaurus/docs/api/classes/BSTNode.md +7 -7
  81. package/docs-site-docusaurus/docs/api/classes/BinaryIndexedTree.md +13 -29
  82. package/docs-site-docusaurus/docs/api/classes/BinaryTree.md +104 -158
  83. package/docs-site-docusaurus/docs/api/classes/BinaryTreeNode.md +13 -13
  84. package/docs-site-docusaurus/docs/api/classes/Deque.md +253 -101
  85. package/docs-site-docusaurus/docs/api/classes/DirectedGraph.md +60 -80
  86. package/docs-site-docusaurus/docs/api/classes/DoublyLinkedList.md +244 -114
  87. package/docs-site-docusaurus/docs/api/classes/DoublyLinkedListNode.md +6 -6
  88. package/docs-site-docusaurus/docs/api/classes/FibonacciHeap.md +9 -9
  89. package/docs-site-docusaurus/docs/api/classes/FibonacciHeapNode.md +1 -1
  90. package/docs-site-docusaurus/docs/api/classes/HashMap.md +52 -48
  91. package/docs-site-docusaurus/docs/api/classes/Heap.md +119 -64
  92. package/docs-site-docusaurus/docs/api/classes/IterableElementBase.md +84 -14
  93. package/docs-site-docusaurus/docs/api/classes/LinearBase.md +138 -34
  94. package/docs-site-docusaurus/docs/api/classes/LinearLinkedBase.md +149 -41
  95. package/docs-site-docusaurus/docs/api/classes/LinkedHashMap.md +23 -23
  96. package/docs-site-docusaurus/docs/api/classes/LinkedListQueue.md +172 -92
  97. package/docs-site-docusaurus/docs/api/classes/MapGraph.md +60 -80
  98. package/docs-site-docusaurus/docs/api/classes/Matrix.md +57 -52
  99. package/docs-site-docusaurus/docs/api/classes/MaxHeap.md +117 -62
  100. package/docs-site-docusaurus/docs/api/classes/MaxPriorityQueue.md +120 -70
  101. package/docs-site-docusaurus/docs/api/classes/MinHeap.md +117 -62
  102. package/docs-site-docusaurus/docs/api/classes/MinPriorityQueue.md +125 -75
  103. package/docs-site-docusaurus/docs/api/classes/PriorityQueue.md +119 -64
  104. package/docs-site-docusaurus/docs/api/classes/Queue.md +158 -74
  105. package/docs-site-docusaurus/docs/api/classes/RedBlackTree.md +171 -225
  106. package/docs-site-docusaurus/docs/api/classes/SegmentTree.md +10 -22
  107. package/docs-site-docusaurus/docs/api/classes/SinglyLinkedList.md +172 -94
  108. package/docs-site-docusaurus/docs/api/classes/SinglyLinkedListNode.md +4 -4
  109. package/docs-site-docusaurus/docs/api/classes/SkipList.md +98 -75
  110. package/docs-site-docusaurus/docs/api/classes/Stack.md +112 -50
  111. package/docs-site-docusaurus/docs/api/classes/TreeMap.md +104 -129
  112. package/docs-site-docusaurus/docs/api/classes/TreeMultiMap.md +90 -121
  113. package/docs-site-docusaurus/docs/api/classes/TreeSet.md +298 -107
  114. package/docs-site-docusaurus/docs/api/classes/Trie.md +116 -58
  115. package/docs-site-docusaurus/docs/api/classes/TrieNode.md +8 -8
  116. package/docs-site-docusaurus/docs/api/classes/UndirectedGraph.md +59 -77
  117. package/package.json +45 -46
  118. package/src/common/error.ts +15 -32
  119. package/src/common/index.ts +0 -3
  120. package/src/data-structures/base/iterable-element-base.ts +0 -3
  121. package/src/data-structures/base/linear-base.ts +2 -36
  122. package/src/data-structures/binary-tree/avl-tree.ts +31 -529
  123. package/src/data-structures/binary-tree/binary-indexed-tree.ts +47 -572
  124. package/src/data-structures/binary-tree/binary-tree.ts +326 -1311
  125. package/src/data-structures/binary-tree/bst.ts +158 -1082
  126. package/src/data-structures/binary-tree/red-black-tree.ts +451 -1290
  127. package/src/data-structures/binary-tree/segment-tree.ts +73 -351
  128. package/src/data-structures/binary-tree/tree-map.ts +462 -5124
  129. package/src/data-structures/binary-tree/tree-multi-map.ts +302 -4914
  130. package/src/data-structures/binary-tree/tree-multi-set.ts +299 -3983
  131. package/src/data-structures/binary-tree/tree-set.ts +338 -4836
  132. package/src/data-structures/graph/abstract-graph.ts +98 -167
  133. package/src/data-structures/graph/directed-graph.ts +137 -562
  134. package/src/data-structures/graph/map-graph.ts +0 -3
  135. package/src/data-structures/graph/undirected-graph.ts +132 -511
  136. package/src/data-structures/hash/hash-map.ts +154 -582
  137. package/src/data-structures/heap/heap.ts +200 -795
  138. package/src/data-structures/linked-list/doubly-linked-list.ts +121 -865
  139. package/src/data-structures/linked-list/singly-linked-list.ts +122 -794
  140. package/src/data-structures/linked-list/skip-linked-list.ts +211 -918
  141. package/src/data-structures/matrix/matrix.ts +179 -518
  142. package/src/data-structures/matrix/navigator.ts +0 -1
  143. package/src/data-structures/priority-queue/max-priority-queue.ts +1 -6
  144. package/src/data-structures/priority-queue/min-priority-queue.ts +6 -11
  145. package/src/data-structures/priority-queue/priority-queue.ts +1 -2
  146. package/src/data-structures/queue/deque.ts +214 -882
  147. package/src/data-structures/queue/queue.ts +102 -625
  148. package/src/data-structures/stack/stack.ts +76 -505
  149. package/src/data-structures/trie/trie.ts +98 -628
  150. package/src/types/common.ts +0 -10
  151. package/src/types/data-structures/binary-tree/bst.ts +0 -7
  152. package/src/types/data-structures/binary-tree/red-black-tree.ts +0 -1
  153. package/src/types/data-structures/graph/abstract-graph.ts +0 -2
  154. package/src/types/data-structures/hash/hash-map.ts +0 -3
  155. package/src/types/data-structures/hash/index.ts +0 -1
  156. package/src/types/data-structures/matrix/navigator.ts +0 -2
  157. package/src/types/utils/utils.ts +0 -7
  158. package/src/types/utils/validate-type.ts +0 -7
  159. package/src/utils/number.ts +0 -2
  160. package/src/utils/utils.ts +0 -5
@@ -109,7 +109,7 @@ Iterable.[iterator]
109
109
  abstract clear(): void;
110
110
  ```
111
111
 
112
- Defined in: [data-structures/base/iterable-element-base.ts:289](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L289)
112
+ Defined in: [data-structures/base/iterable-element-base.ts:318](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L318)
113
113
 
114
114
  Removes all elements from the structure.
115
115
 
@@ -131,7 +131,7 @@ Expected Time O(1) or O(n) depending on the implementation; Space O(1).
131
131
  abstract clone(): this;
132
132
  ```
133
133
 
134
- Defined in: [data-structures/base/iterable-element-base.ts:298](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L298)
134
+ Defined in: [data-structures/base/iterable-element-base.ts:327](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L327)
135
135
 
136
136
  Creates a structural copy with the same element values and configuration.
137
137
 
@@ -147,6 +147,26 @@ Expected Time O(n) to copy elements; Space O(n).
147
147
 
148
148
  ***
149
149
 
150
+ ### entries()
151
+
152
+ ```ts
153
+ entries(): IterableIterator<[number, E]>;
154
+ ```
155
+
156
+ Defined in: [data-structures/base/iterable-element-base.ts:207](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L207)
157
+
158
+ Return an iterator of `[index, value]` pairs (Array-compatible).
159
+
160
+ #### Returns
161
+
162
+ `IterableIterator`\<\[`number`, `E`\]\>
163
+
164
+ #### Remarks
165
+
166
+ Provided for familiarity when migrating from Array. Time O(n), Space O(1) per step.
167
+
168
+ ***
169
+
150
170
  ### every()
151
171
 
152
172
  ```ts
@@ -189,7 +209,7 @@ Time O(n) in the worst case; may exit early when the first failure is found. Spa
189
209
  abstract filter(predicate, thisArg?): this;
190
210
  ```
191
211
 
192
- Defined in: [data-structures/base/iterable-element-base.ts:341](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L341)
212
+ Defined in: [data-structures/base/iterable-element-base.ts:370](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L370)
193
213
 
194
214
  Filters elements using the provided predicate and returns the same concrete structure type.
195
215
 
@@ -343,7 +363,7 @@ Time O(n), Space O(1).
343
363
  has(element): boolean;
344
364
  ```
345
365
 
346
- Defined in: [data-structures/base/iterable-element-base.ts:189](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L189)
366
+ Defined in: [data-structures/base/iterable-element-base.ts:188](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L188)
347
367
 
348
368
  Checks whether a strictly-equal element exists in the structure.
349
369
 
@@ -367,13 +387,43 @@ Time O(n) in the worst case. Space O(1).
367
387
 
368
388
  ***
369
389
 
390
+ ### includes()
391
+
392
+ ```ts
393
+ includes(element): boolean;
394
+ ```
395
+
396
+ Defined in: [data-structures/base/iterable-element-base.ts:199](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L199)
397
+
398
+ Check whether a value exists (Array-compatible alias for `has`).
399
+
400
+ #### Parameters
401
+
402
+ ##### element
403
+
404
+ `E`
405
+
406
+ Element to search for (uses `===`).
407
+
408
+ #### Returns
409
+
410
+ `boolean`
411
+
412
+ `true` if found.
413
+
414
+ #### Remarks
415
+
416
+ Provided for familiarity when migrating from Array. Time O(n), Space O(1).
417
+
418
+ ***
419
+
370
420
  ### isEmpty()
371
421
 
372
422
  ```ts
373
423
  abstract isEmpty(): boolean;
374
424
  ```
375
425
 
376
- Defined in: [data-structures/base/iterable-element-base.ts:280](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L280)
426
+ Defined in: [data-structures/base/iterable-element-base.ts:309](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L309)
377
427
 
378
428
  Indicates whether the structure currently contains no elements.
379
429
 
@@ -389,6 +439,26 @@ Expected Time O(1), Space O(1) for most implementations.
389
439
 
390
440
  ***
391
441
 
442
+ ### keys()
443
+
444
+ ```ts
445
+ keys(): IterableIterator<number>;
446
+ ```
447
+
448
+ Defined in: [data-structures/base/iterable-element-base.ts:218](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L218)
449
+
450
+ Return an iterator of numeric indices (Array-compatible).
451
+
452
+ #### Returns
453
+
454
+ `IterableIterator`\<`number`\>
455
+
456
+ #### Remarks
457
+
458
+ Provided for familiarity when migrating from Array. Time O(n), Space O(1) per step.
459
+
460
+ ***
461
+
392
462
  ### map()
393
463
 
394
464
  ```ts
@@ -398,7 +468,7 @@ abstract map<EM, RM>(
398
468
  thisArg?): IterableElementBase<EM, RM>;
399
469
  ```
400
470
 
401
- Defined in: [data-structures/base/iterable-element-base.ts:313](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L313)
471
+ Defined in: [data-structures/base/iterable-element-base.ts:342](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L342)
402
472
 
403
473
  Maps each element to a new element and returns a new iterable structure.
404
474
 
@@ -454,7 +524,7 @@ Time O(n), Space O(n).
454
524
  abstract mapSame(callback, thisArg?): this;
455
525
  ```
456
526
 
457
- Defined in: [data-structures/base/iterable-element-base.ts:329](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L329)
527
+ Defined in: [data-structures/base/iterable-element-base.ts:358](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L358)
458
528
 
459
529
  Maps each element to the same element type and returns the same concrete structure type.
460
530
 
@@ -490,7 +560,7 @@ Time O(n), Space O(n).
490
560
  print(): void;
491
561
  ```
492
562
 
493
- Defined in: [data-structures/base/iterable-element-base.ts:269](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L269)
563
+ Defined in: [data-structures/base/iterable-element-base.ts:298](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L298)
494
564
 
495
565
  Prints `toVisual()` to the console. Intended for quick debugging.
496
566
 
@@ -544,7 +614,7 @@ Time O(n), Space O(1). Throws if called on an empty structure without `initialVa
544
614
  reduce(callbackfn): E;
545
615
  ```
546
616
 
547
- Defined in: [data-structures/base/iterable-element-base.ts:194](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L194)
617
+ Defined in: [data-structures/base/iterable-element-base.ts:225](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L225)
548
618
 
549
619
  ##### Parameters
550
620
 
@@ -562,7 +632,7 @@ Defined in: [data-structures/base/iterable-element-base.ts:194](https://github.c
562
632
  reduce(callbackfn, initialValue): E;
563
633
  ```
564
634
 
565
- Defined in: [data-structures/base/iterable-element-base.ts:195](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L195)
635
+ Defined in: [data-structures/base/iterable-element-base.ts:226](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L226)
566
636
 
567
637
  ##### Parameters
568
638
 
@@ -584,7 +654,7 @@ Defined in: [data-structures/base/iterable-element-base.ts:195](https://github.c
584
654
  reduce<U>(callbackfn, initialValue): U;
585
655
  ```
586
656
 
587
- Defined in: [data-structures/base/iterable-element-base.ts:196](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L196)
657
+ Defined in: [data-structures/base/iterable-element-base.ts:227](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L227)
588
658
 
589
659
  ##### Type Parameters
590
660
 
@@ -650,7 +720,7 @@ Time O(n) in the worst case; may exit early on first success. Space O(1).
650
720
  toArray(): E[];
651
721
  ```
652
722
 
653
- Defined in: [data-structures/base/iterable-element-base.ts:246](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L246)
723
+ Defined in: [data-structures/base/iterable-element-base.ts:275](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L275)
654
724
 
655
725
  Materializes the elements into a new array.
656
726
 
@@ -672,7 +742,7 @@ Time O(n), Space O(n).
672
742
  toVisual(): E[];
673
743
  ```
674
744
 
675
- Defined in: [data-structures/base/iterable-element-base.ts:258](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L258)
745
+ Defined in: [data-structures/base/iterable-element-base.ts:287](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L287)
676
746
 
677
747
  Returns a representation of the structure suitable for quick visualization.
678
748
  Defaults to an array of elements; subclasses may override to provide richer visuals.
@@ -775,7 +845,7 @@ Time O(1), Space O(1).
775
845
  abstract protected _getIterator(...args): IterableIterator<E>;
776
846
  ```
777
847
 
778
- Defined in: [data-structures/base/iterable-element-base.ts:352](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L352)
848
+ Defined in: [data-structures/base/iterable-element-base.ts:381](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L381)
779
849
 
780
850
  Internal iterator factory used by the default iterator.
781
851
 
@@ -194,7 +194,7 @@ Producing the iterator is O(1); consuming the entire iterator is Time O(n) with
194
194
  abstract addAt(index, newElementOrNode): boolean;
195
195
  ```
196
196
 
197
- Defined in: [data-structures/base/linear-base.ts:377](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L377)
197
+ Defined in: [data-structures/base/linear-base.ts:372](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L372)
198
198
 
199
199
  Insert an element/node at a position.
200
200
 
@@ -230,7 +230,7 @@ Time O(1)~O(n) depending on implementation, Space O(1)
230
230
  abstract at(index): E | undefined;
231
231
  ```
232
232
 
233
- Defined in: [data-structures/base/linear-base.ts:360](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L360)
233
+ Defined in: [data-structures/base/linear-base.ts:355](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L355)
234
234
 
235
235
  Get element at an index.
236
236
 
@@ -260,7 +260,7 @@ Time O(1)~O(n) depending on implementation, Space O(1)
260
260
  abstract clear(): void;
261
261
  ```
262
262
 
263
- Defined in: [data-structures/base/iterable-element-base.ts:289](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L289)
263
+ Defined in: [data-structures/base/iterable-element-base.ts:318](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L318)
264
264
 
265
265
  Removes all elements from the structure.
266
266
 
@@ -286,7 +286,7 @@ Expected Time O(1) or O(n) depending on the implementation; Space O(1).
286
286
  abstract clone(): this;
287
287
  ```
288
288
 
289
- Defined in: [data-structures/base/linear-base.ts:321](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L321)
289
+ Defined in: [data-structures/base/linear-base.ts:305](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L305)
290
290
 
291
291
  Deep clone while preserving concrete subtype.
292
292
 
@@ -312,7 +312,7 @@ Time O(n), Space O(n)
312
312
  concat(...items): this;
313
313
  ```
314
314
 
315
- Defined in: [data-structures/base/linear-base.ts:165](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L165)
315
+ Defined in: [data-structures/base/linear-base.ts:161](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L161)
316
316
 
317
317
  Concatenate elements and/or containers.
318
318
 
@@ -342,7 +342,7 @@ Time O(sum(length)), Space O(sum(length))
342
342
  abstract delete(elementOrNode): boolean;
343
343
  ```
344
344
 
345
- Defined in: [data-structures/base/linear-base.ts:352](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L352)
345
+ Defined in: [data-structures/base/linear-base.ts:347](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L347)
346
346
 
347
347
  Remove one element or node if present.
348
348
 
@@ -372,7 +372,7 @@ Time O(1)~O(n) depending on implementation, Space O(1)
372
372
  abstract deleteAt(pos): E | undefined;
373
373
  ```
374
374
 
375
- Defined in: [data-structures/base/linear-base.ts:368](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L368)
375
+ Defined in: [data-structures/base/linear-base.ts:363](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L363)
376
376
 
377
377
  Remove element at a position.
378
378
 
@@ -396,6 +396,30 @@ Time O(1)~O(n) depending on implementation, Space O(1)
396
396
 
397
397
  ***
398
398
 
399
+ ### entries()
400
+
401
+ ```ts
402
+ entries(): IterableIterator<[number, E]>;
403
+ ```
404
+
405
+ Defined in: [data-structures/base/iterable-element-base.ts:207](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L207)
406
+
407
+ Return an iterator of `[index, value]` pairs (Array-compatible).
408
+
409
+ #### Returns
410
+
411
+ `IterableIterator`\<\[`number`, `E`\]\>
412
+
413
+ #### Remarks
414
+
415
+ Provided for familiarity when migrating from Array. Time O(n), Space O(1) per step.
416
+
417
+ #### Inherited from
418
+
419
+ [`IterableElementBase`](IterableElementBase.md).[`entries`](IterableElementBase.md#entries)
420
+
421
+ ***
422
+
399
423
  ### every()
400
424
 
401
425
  ```ts
@@ -445,7 +469,7 @@ fill(
445
469
  end?): this;
446
470
  ```
447
471
 
448
- Defined in: [data-structures/base/linear-base.ts:292](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L292)
472
+ Defined in: [data-structures/base/linear-base.ts:279](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L279)
449
473
 
450
474
  Fill a range with a value.
451
475
 
@@ -487,7 +511,7 @@ Time O(n), Space O(1)
487
511
  abstract filter(predicate, thisArg?): this;
488
512
  ```
489
513
 
490
- Defined in: [data-structures/base/iterable-element-base.ts:341](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L341)
514
+ Defined in: [data-structures/base/iterable-element-base.ts:370](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L370)
491
515
 
492
516
  Filters elements using the provided predicate and returns the same concrete structure type.
493
517
 
@@ -617,7 +641,7 @@ Time O(n) in the worst case; may exit early on the first match. Space O(1).
617
641
  findIndex(predicate, thisArg?): number;
618
642
  ```
619
643
 
620
- Defined in: [data-structures/base/linear-base.ts:151](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L151)
644
+ Defined in: [data-structures/base/linear-base.ts:147](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L147)
621
645
 
622
646
  Find the first index matching a predicate.
623
647
 
@@ -693,7 +717,7 @@ Time O(n), Space O(1).
693
717
  has(element): boolean;
694
718
  ```
695
719
 
696
- Defined in: [data-structures/base/iterable-element-base.ts:189](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L189)
720
+ Defined in: [data-structures/base/iterable-element-base.ts:188](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L188)
697
721
 
698
722
  Checks whether a strictly-equal element exists in the structure.
699
723
 
@@ -721,6 +745,40 @@ Time O(n) in the worst case. Space O(1).
721
745
 
722
746
  ***
723
747
 
748
+ ### includes()
749
+
750
+ ```ts
751
+ includes(element): boolean;
752
+ ```
753
+
754
+ Defined in: [data-structures/base/iterable-element-base.ts:199](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L199)
755
+
756
+ Check whether a value exists (Array-compatible alias for `has`).
757
+
758
+ #### Parameters
759
+
760
+ ##### element
761
+
762
+ `E`
763
+
764
+ Element to search for (uses `===`).
765
+
766
+ #### Returns
767
+
768
+ `boolean`
769
+
770
+ `true` if found.
771
+
772
+ #### Remarks
773
+
774
+ Provided for familiarity when migrating from Array. Time O(n), Space O(1).
775
+
776
+ #### Inherited from
777
+
778
+ [`IterableElementBase`](IterableElementBase.md).[`includes`](IterableElementBase.md#includes)
779
+
780
+ ***
781
+
724
782
  ### indexOf()
725
783
 
726
784
  ```ts
@@ -763,7 +821,7 @@ Time O(n), Space O(1)
763
821
  abstract isEmpty(): boolean;
764
822
  ```
765
823
 
766
- Defined in: [data-structures/base/iterable-element-base.ts:280](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L280)
824
+ Defined in: [data-structures/base/iterable-element-base.ts:309](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L309)
767
825
 
768
826
  Indicates whether the structure currently contains no elements.
769
827
 
@@ -789,7 +847,7 @@ Expected Time O(1), Space O(1) for most implementations.
789
847
  join(separator?): string;
790
848
  ```
791
849
 
792
- Defined in: [data-structures/base/linear-base.ts:228](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L228)
850
+ Defined in: [data-structures/base/linear-base.ts:218](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L218)
793
851
 
794
852
  Join all elements into a string.
795
853
 
@@ -813,13 +871,37 @@ Time O(n), Space O(n)
813
871
 
814
872
  ***
815
873
 
874
+ ### keys()
875
+
876
+ ```ts
877
+ keys(): IterableIterator<number>;
878
+ ```
879
+
880
+ Defined in: [data-structures/base/iterable-element-base.ts:218](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L218)
881
+
882
+ Return an iterator of numeric indices (Array-compatible).
883
+
884
+ #### Returns
885
+
886
+ `IterableIterator`\<`number`\>
887
+
888
+ #### Remarks
889
+
890
+ Provided for familiarity when migrating from Array. Time O(n), Space O(1) per step.
891
+
892
+ #### Inherited from
893
+
894
+ [`IterableElementBase`](IterableElementBase.md).[`keys`](IterableElementBase.md#keys)
895
+
896
+ ***
897
+
816
898
  ### lastIndexOf()
817
899
 
818
900
  ```ts
819
901
  lastIndexOf(searchElement, fromIndex?): number;
820
902
  ```
821
903
 
822
- Defined in: [data-structures/base/linear-base.ts:131](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L131)
904
+ Defined in: [data-structures/base/linear-base.ts:129](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L129)
823
905
 
824
906
  Last index of a value from the right.
825
907
 
@@ -858,7 +940,7 @@ abstract map<EM, RM>(
858
940
  thisArg?): IterableElementBase<EM, RM>;
859
941
  ```
860
942
 
861
- Defined in: [data-structures/base/iterable-element-base.ts:313](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L313)
943
+ Defined in: [data-structures/base/iterable-element-base.ts:342](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L342)
862
944
 
863
945
  Maps each element to a new element and returns a new iterable structure.
864
946
 
@@ -918,7 +1000,7 @@ Time O(n), Space O(n).
918
1000
  abstract mapSame(callback, thisArg?): this;
919
1001
  ```
920
1002
 
921
- Defined in: [data-structures/base/iterable-element-base.ts:329](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L329)
1003
+ Defined in: [data-structures/base/iterable-element-base.ts:358](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L358)
922
1004
 
923
1005
  Maps each element to the same element type and returns the same concrete structure type.
924
1006
 
@@ -958,7 +1040,7 @@ Time O(n), Space O(n).
958
1040
  print(): void;
959
1041
  ```
960
1042
 
961
- Defined in: [data-structures/base/iterable-element-base.ts:269](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L269)
1043
+ Defined in: [data-structures/base/iterable-element-base.ts:298](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L298)
962
1044
 
963
1045
  Prints `toVisual()` to the console. Intended for quick debugging.
964
1046
 
@@ -984,7 +1066,7 @@ Time O(n) due to materialization, Space O(n) for the intermediate representation
984
1066
  abstract push(elementOrNode): boolean;
985
1067
  ```
986
1068
 
987
- Defined in: [data-structures/base/linear-base.ts:336](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L336)
1069
+ Defined in: [data-structures/base/linear-base.ts:331](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L331)
988
1070
 
989
1071
  Append one element or node to the tail.
990
1072
 
@@ -1014,7 +1096,7 @@ Time O(1) amortized typical, Space O(1)
1014
1096
  abstract pushMany(elements): boolean[];
1015
1097
  ```
1016
1098
 
1017
- Defined in: [data-structures/base/linear-base.ts:344](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L344)
1099
+ Defined in: [data-structures/base/linear-base.ts:339](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L339)
1018
1100
 
1019
1101
  Append many elements/nodes at once.
1020
1102
 
@@ -1078,7 +1160,7 @@ Time O(n), Space O(1). Throws if called on an empty structure without `initialVa
1078
1160
  reduce(callbackfn): E;
1079
1161
  ```
1080
1162
 
1081
- Defined in: [data-structures/base/iterable-element-base.ts:194](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L194)
1163
+ Defined in: [data-structures/base/iterable-element-base.ts:225](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L225)
1082
1164
 
1083
1165
  ##### Parameters
1084
1166
 
@@ -1100,7 +1182,7 @@ Defined in: [data-structures/base/iterable-element-base.ts:194](https://github.c
1100
1182
  reduce(callbackfn, initialValue): E;
1101
1183
  ```
1102
1184
 
1103
- Defined in: [data-structures/base/iterable-element-base.ts:195](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L195)
1185
+ Defined in: [data-structures/base/iterable-element-base.ts:226](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L226)
1104
1186
 
1105
1187
  ##### Parameters
1106
1188
 
@@ -1126,7 +1208,7 @@ Defined in: [data-structures/base/iterable-element-base.ts:195](https://github.c
1126
1208
  reduce<U>(callbackfn, initialValue): U;
1127
1209
  ```
1128
1210
 
1129
- Defined in: [data-structures/base/iterable-element-base.ts:196](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L196)
1211
+ Defined in: [data-structures/base/iterable-element-base.ts:227](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L227)
1130
1212
 
1131
1213
  ##### Type Parameters
1132
1214
 
@@ -1160,7 +1242,7 @@ Defined in: [data-structures/base/iterable-element-base.ts:196](https://github.c
1160
1242
  reduceRight<U>(callbackfn, initialValue): U;
1161
1243
  ```
1162
1244
 
1163
- Defined in: [data-structures/base/linear-base.ts:256](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L256)
1245
+ Defined in: [data-structures/base/linear-base.ts:245](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L245)
1164
1246
 
1165
1247
  Right-to-left reduction over elements.
1166
1248
 
@@ -1202,7 +1284,7 @@ Time O(n), Space O(1)
1202
1284
  abstract reverse(): this;
1203
1285
  ```
1204
1286
 
1205
- Defined in: [data-structures/base/linear-base.ts:328](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L328)
1287
+ Defined in: [data-structures/base/linear-base.ts:312](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L312)
1206
1288
 
1207
1289
  Reverse the order of elements in-place (or equivalent).
1208
1290
 
@@ -1224,7 +1306,7 @@ Time O(n), Space O(1)
1224
1306
  abstract setAt(index, value): boolean;
1225
1307
  ```
1226
1308
 
1227
- Defined in: [data-structures/base/linear-base.ts:314](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L314)
1309
+ Defined in: [data-structures/base/linear-base.ts:298](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L298)
1228
1310
 
1229
1311
  Set the value at an index.
1230
1312
 
@@ -1260,7 +1342,7 @@ Time O(1) typical, Space O(1)
1260
1342
  slice(start?, end?): this;
1261
1343
  ```
1262
1344
 
1263
- Defined in: [data-structures/base/linear-base.ts:273](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L273)
1345
+ Defined in: [data-structures/base/linear-base.ts:261](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L261)
1264
1346
 
1265
1347
  Create a shallow copy of a subrange.
1266
1348
 
@@ -1336,7 +1418,7 @@ Time O(n) in the worst case; may exit early on first success. Space O(1).
1336
1418
  sort(compareFn?): this;
1337
1419
  ```
1338
1420
 
1339
- Defined in: [data-structures/base/linear-base.ts:185](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L185)
1421
+ Defined in: [data-structures/base/linear-base.ts:179](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L179)
1340
1422
 
1341
1423
  In-place stable order via array sort semantics.
1342
1424
 
@@ -1369,7 +1451,7 @@ splice(
1369
1451
  items): this;
1370
1452
  ```
1371
1453
 
1372
- Defined in: [data-structures/base/linear-base.ts:201](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L201)
1454
+ Defined in: [data-structures/base/linear-base.ts:195](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L195)
1373
1455
 
1374
1456
  Remove and/or insert elements at a position (array-compatible).
1375
1457
 
@@ -1411,7 +1493,7 @@ Time O(n + m), Space O(min(n, m)) where `m = items.length`
1411
1493
  toArray(): E[];
1412
1494
  ```
1413
1495
 
1414
- Defined in: [data-structures/base/iterable-element-base.ts:246](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L246)
1496
+ Defined in: [data-structures/base/iterable-element-base.ts:275](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L275)
1415
1497
 
1416
1498
  Materializes the elements into a new array.
1417
1499
 
@@ -1431,13 +1513,35 @@ Time O(n), Space O(n).
1431
1513
 
1432
1514
  ***
1433
1515
 
1516
+ ### toReversed()
1517
+
1518
+ ```ts
1519
+ toReversed(): this;
1520
+ ```
1521
+
1522
+ Defined in: [data-structures/base/linear-base.ts:319](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L319)
1523
+
1524
+ Return a new instance of the same type with elements in reverse order (non-mutating).
1525
+
1526
+ #### Returns
1527
+
1528
+ `this`
1529
+
1530
+ A new reversed instance.
1531
+
1532
+ #### Remarks
1533
+
1534
+ Provided for familiarity when migrating from Array (ES2023 `toReversed`). Time O(n), Space O(n).
1535
+
1536
+ ***
1537
+
1434
1538
  ### toReversedArray()
1435
1539
 
1436
1540
  ```ts
1437
1541
  toReversedArray(): E[];
1438
1542
  ```
1439
1543
 
1440
- Defined in: [data-structures/base/linear-base.ts:237](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L237)
1544
+ Defined in: [data-structures/base/linear-base.ts:227](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L227)
1441
1545
 
1442
1546
  Snapshot elements into a reversed array.
1443
1547
 
@@ -1459,7 +1563,7 @@ Time O(n), Space O(n)
1459
1563
  toVisual(): E[];
1460
1564
  ```
1461
1565
 
1462
- Defined in: [data-structures/base/iterable-element-base.ts:258](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L258)
1566
+ Defined in: [data-structures/base/iterable-element-base.ts:287](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L287)
1463
1567
 
1464
1568
  Returns a representation of the structure suitable for quick visualization.
1465
1569
  Defaults to an array of elements; subclasses may override to provide richer visuals.
@@ -1545,7 +1649,7 @@ Time O(1), Space O(1).
1545
1649
  abstract protected _createInstance(options?): this;
1546
1650
  ```
1547
1651
 
1548
- Defined in: [data-structures/base/linear-base.ts:385](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L385)
1652
+ Defined in: [data-structures/base/linear-base.ts:380](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L380)
1549
1653
 
1550
1654
  Create an empty list of the same species.
1551
1655
 
@@ -1575,7 +1679,7 @@ Time O(1), Space O(1)
1575
1679
  abstract protected _getIterator(...args): IterableIterator<E>;
1576
1680
  ```
1577
1681
 
1578
- Defined in: [data-structures/base/iterable-element-base.ts:352](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L352)
1682
+ Defined in: [data-structures/base/iterable-element-base.ts:381](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-element-base.ts#L381)
1579
1683
 
1580
1684
  Internal iterator factory used by the default iterator.
1581
1685
 
@@ -1609,7 +1713,7 @@ Implementations should yield in O(1) per element with O(1) extra space when poss
1609
1713
  abstract protected _getReverseIterator(...args): IterableIterator<E>;
1610
1714
  ```
1611
1715
 
1612
- Defined in: [data-structures/base/linear-base.ts:392](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L392)
1716
+ Defined in: [data-structures/base/linear-base.ts:387](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L387)
1613
1717
 
1614
1718
  Reverse-direction iterator over elements.
1615
1719