data-structure-typed 2.5.2 → 2.6.0

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 (162) hide show
  1. package/.husky/pre-commit +3 -0
  2. package/CHANGELOG.md +3 -1
  3. package/MIGRATION.md +217 -0
  4. package/README.md +80 -8
  5. package/README_CN.md +569 -143
  6. package/SPECIFICATION.md +44 -14
  7. package/SPECIFICATION.zh-CN.md +44 -14
  8. package/dist/cjs/binary-tree.cjs +5841 -1678
  9. package/dist/cjs/graph.cjs +422 -14
  10. package/dist/cjs/hash.cjs +95 -7
  11. package/dist/cjs/heap.cjs +174 -16
  12. package/dist/cjs/index.cjs +7751 -2449
  13. package/dist/cjs/linked-list.cjs +443 -2
  14. package/dist/cjs/matrix.cjs +56 -0
  15. package/dist/cjs/priority-queue.cjs +172 -14
  16. package/dist/cjs/queue.cjs +435 -0
  17. package/dist/cjs/stack.cjs +103 -4
  18. package/dist/cjs/trie.cjs +106 -0
  19. package/dist/cjs-legacy/binary-tree.cjs +5933 -1772
  20. package/dist/cjs-legacy/graph.cjs +422 -14
  21. package/dist/cjs-legacy/hash.cjs +95 -7
  22. package/dist/cjs-legacy/heap.cjs +174 -16
  23. package/dist/cjs-legacy/index.cjs +8154 -2854
  24. package/dist/cjs-legacy/linked-list.cjs +443 -2
  25. package/dist/cjs-legacy/matrix.cjs +56 -0
  26. package/dist/cjs-legacy/priority-queue.cjs +172 -14
  27. package/dist/cjs-legacy/queue.cjs +435 -0
  28. package/dist/cjs-legacy/stack.cjs +103 -4
  29. package/dist/cjs-legacy/trie.cjs +106 -0
  30. package/dist/esm/binary-tree.mjs +5841 -1678
  31. package/dist/esm/graph.mjs +422 -14
  32. package/dist/esm/hash.mjs +95 -7
  33. package/dist/esm/heap.mjs +174 -16
  34. package/dist/esm/index.mjs +7751 -2449
  35. package/dist/esm/linked-list.mjs +443 -2
  36. package/dist/esm/matrix.mjs +56 -0
  37. package/dist/esm/priority-queue.mjs +172 -14
  38. package/dist/esm/queue.mjs +435 -0
  39. package/dist/esm/stack.mjs +103 -4
  40. package/dist/esm/trie.mjs +106 -0
  41. package/dist/esm-legacy/binary-tree.mjs +5933 -1772
  42. package/dist/esm-legacy/graph.mjs +422 -14
  43. package/dist/esm-legacy/hash.mjs +95 -7
  44. package/dist/esm-legacy/heap.mjs +174 -16
  45. package/dist/esm-legacy/index.mjs +8154 -2854
  46. package/dist/esm-legacy/linked-list.mjs +443 -2
  47. package/dist/esm-legacy/matrix.mjs +56 -0
  48. package/dist/esm-legacy/priority-queue.mjs +172 -14
  49. package/dist/esm-legacy/queue.mjs +435 -0
  50. package/dist/esm-legacy/stack.mjs +103 -4
  51. package/dist/esm-legacy/trie.mjs +106 -0
  52. package/dist/types/data-structures/base/iterable-element-base.d.ts +17 -0
  53. package/dist/types/data-structures/base/linear-base.d.ts +6 -0
  54. package/dist/types/data-structures/binary-tree/avl-tree.d.ts +86 -2
  55. package/dist/types/data-structures/binary-tree/binary-indexed-tree.d.ts +98 -0
  56. package/dist/types/data-structures/binary-tree/binary-tree.d.ts +191 -15
  57. package/dist/types/data-structures/binary-tree/bst.d.ts +171 -3
  58. package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +136 -8
  59. package/dist/types/data-structures/binary-tree/segment-tree.d.ts +42 -0
  60. package/dist/types/data-structures/binary-tree/tree-map.d.ts +1061 -167
  61. package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +1232 -355
  62. package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +916 -194
  63. package/dist/types/data-structures/binary-tree/tree-set.d.ts +1078 -141
  64. package/dist/types/data-structures/graph/directed-graph.d.ts +70 -0
  65. package/dist/types/data-structures/graph/undirected-graph.d.ts +63 -0
  66. package/dist/types/data-structures/hash/hash-map.d.ts +84 -6
  67. package/dist/types/data-structures/heap/heap.d.ts +140 -12
  68. package/dist/types/data-structures/linked-list/doubly-linked-list.d.ts +150 -2
  69. package/dist/types/data-structures/linked-list/singly-linked-list.d.ts +106 -1
  70. package/dist/types/data-structures/linked-list/skip-linked-list.d.ts +126 -0
  71. package/dist/types/data-structures/matrix/matrix.d.ts +56 -0
  72. package/dist/types/data-structures/queue/deque.d.ts +171 -0
  73. package/dist/types/data-structures/queue/queue.d.ts +97 -0
  74. package/dist/types/data-structures/stack/stack.d.ts +72 -2
  75. package/dist/types/data-structures/trie/trie.d.ts +84 -0
  76. package/dist/types/interfaces/binary-tree.d.ts +2 -3
  77. package/dist/umd/data-structure-typed.js +7784 -2484
  78. package/dist/umd/data-structure-typed.min.js +4 -4
  79. package/docs-site-docusaurus/docs/api/classes/AVLTree.md +188 -200
  80. package/docs-site-docusaurus/docs/api/classes/AVLTreeNode.md +11 -11
  81. package/docs-site-docusaurus/docs/api/classes/AbstractGraph.md +62 -62
  82. package/docs-site-docusaurus/docs/api/classes/BST.md +183 -195
  83. package/docs-site-docusaurus/docs/api/classes/BSTNode.md +13 -13
  84. package/docs-site-docusaurus/docs/api/classes/BinaryIndexedTree.md +15 -15
  85. package/docs-site-docusaurus/docs/api/classes/BinaryTree.md +143 -155
  86. package/docs-site-docusaurus/docs/api/classes/BinaryTreeNode.md +13 -13
  87. package/docs-site-docusaurus/docs/api/classes/Deque.md +99 -85
  88. package/docs-site-docusaurus/docs/api/classes/DirectedGraph.md +73 -73
  89. package/docs-site-docusaurus/docs/api/classes/DoublyLinkedList.md +100 -70
  90. package/docs-site-docusaurus/docs/api/classes/DoublyLinkedListNode.md +8 -8
  91. package/docs-site-docusaurus/docs/api/classes/FibonacciHeap.md +12 -12
  92. package/docs-site-docusaurus/docs/api/classes/FibonacciHeapNode.md +1 -1
  93. package/docs-site-docusaurus/docs/api/classes/HashMap.md +38 -38
  94. package/docs-site-docusaurus/docs/api/classes/Heap.md +96 -85
  95. package/docs-site-docusaurus/docs/api/classes/IterableElementBase.md +25 -25
  96. package/docs-site-docusaurus/docs/api/classes/IterableEntryBase.md +23 -23
  97. package/docs-site-docusaurus/docs/api/classes/LinearBase.md +48 -48
  98. package/docs-site-docusaurus/docs/api/classes/LinearLinkedBase.md +52 -52
  99. package/docs-site-docusaurus/docs/api/classes/LinkedHashMap.md +46 -42
  100. package/docs-site-docusaurus/docs/api/classes/LinkedListNode.md +6 -6
  101. package/docs-site-docusaurus/docs/api/classes/LinkedListQueue.md +74 -74
  102. package/docs-site-docusaurus/docs/api/classes/MapGraph.md +73 -73
  103. package/docs-site-docusaurus/docs/api/classes/Matrix.md +31 -31
  104. package/docs-site-docusaurus/docs/api/classes/MaxHeap.md +104 -89
  105. package/docs-site-docusaurus/docs/api/classes/MaxPriorityQueue.md +104 -89
  106. package/docs-site-docusaurus/docs/api/classes/MinHeap.md +104 -89
  107. package/docs-site-docusaurus/docs/api/classes/MinPriorityQueue.md +104 -89
  108. package/docs-site-docusaurus/docs/api/classes/Navigator.md +5 -5
  109. package/docs-site-docusaurus/docs/api/classes/PriorityQueue.md +103 -88
  110. package/docs-site-docusaurus/docs/api/classes/Queue.md +111 -59
  111. package/docs-site-docusaurus/docs/api/classes/RedBlackTree.md +200 -212
  112. package/docs-site-docusaurus/docs/api/classes/SegmentTree.md +10 -10
  113. package/docs-site-docusaurus/docs/api/classes/SinglyLinkedList.md +75 -75
  114. package/docs-site-docusaurus/docs/api/classes/SinglyLinkedListNode.md +6 -6
  115. package/docs-site-docusaurus/docs/api/classes/SkipList.md +37 -37
  116. package/docs-site-docusaurus/docs/api/classes/Stack.md +42 -42
  117. package/docs-site-docusaurus/docs/api/classes/TreeMap.md +107 -36
  118. package/docs-site-docusaurus/docs/api/classes/TreeMultiMap.md +43 -43
  119. package/docs-site-docusaurus/docs/api/classes/TreeSet.md +106 -35
  120. package/docs-site-docusaurus/docs/api/classes/Trie.md +43 -43
  121. package/docs-site-docusaurus/docs/api/classes/TrieNode.md +8 -8
  122. package/docs-site-docusaurus/docs/api/classes/UndirectedGraph.md +72 -72
  123. package/docs-site-docusaurus/docs/guide/architecture.md +75 -7
  124. package/docs-site-docusaurus/docs/guide/concepts.md +53 -34
  125. package/docs-site-docusaurus/docs/guide/faq.md +53 -0
  126. package/docs-site-docusaurus/docs/guide/guides.md +8 -9
  127. package/docs-site-docusaurus/docs/guide/integrations.md +74 -177
  128. package/docs-site-docusaurus/docs/guide/overview.md +131 -17
  129. package/docs-site-docusaurus/src/pages/index.tsx +4 -0
  130. package/docs-site-docusaurus/typedoc.json +1 -0
  131. package/jest.integration.config.js +1 -2
  132. package/package.json +10 -7
  133. package/src/data-structures/base/iterable-element-base.ts +32 -0
  134. package/src/data-structures/base/linear-base.ts +11 -0
  135. package/src/data-structures/binary-tree/avl-tree.ts +88 -5
  136. package/src/data-structures/binary-tree/binary-indexed-tree.ts +98 -0
  137. package/src/data-structures/binary-tree/binary-tree.ts +242 -81
  138. package/src/data-structures/binary-tree/bst.ts +173 -7
  139. package/src/data-structures/binary-tree/red-black-tree.ts +139 -15
  140. package/src/data-structures/binary-tree/segment-tree.ts +42 -0
  141. package/src/data-structures/binary-tree/tree-map.ts +948 -36
  142. package/src/data-structures/binary-tree/tree-multi-map.ts +893 -13
  143. package/src/data-structures/binary-tree/tree-multi-set.ts +761 -33
  144. package/src/data-structures/binary-tree/tree-set.ts +1260 -251
  145. package/src/data-structures/graph/directed-graph.ts +71 -1
  146. package/src/data-structures/graph/undirected-graph.ts +64 -1
  147. package/src/data-structures/hash/hash-map.ts +100 -12
  148. package/src/data-structures/heap/heap.ts +149 -19
  149. package/src/data-structures/linked-list/doubly-linked-list.ts +178 -2
  150. package/src/data-structures/linked-list/singly-linked-list.ts +106 -1
  151. package/src/data-structures/linked-list/skip-linked-list.ts +126 -0
  152. package/src/data-structures/matrix/matrix.ts +56 -0
  153. package/src/data-structures/queue/deque.ts +187 -0
  154. package/src/data-structures/queue/queue.ts +109 -0
  155. package/src/data-structures/stack/stack.ts +75 -5
  156. package/src/data-structures/trie/trie.ts +84 -0
  157. package/src/interfaces/binary-tree.ts +1 -9
  158. package/.vitepress/cache/deps_temp_51f5f1b0/chunk-7OIKW5WK.js +0 -12984
  159. package/.vitepress/cache/deps_temp_51f5f1b0/package.json +0 -3
  160. package/.vitepress/cache/deps_temp_51f5f1b0/vitepress___@vue_devtools-api.js +0 -4505
  161. package/.vitepress/cache/deps_temp_51f5f1b0/vitepress___@vueuse_core.js +0 -9731
  162. package/.vitepress/cache/deps_temp_51f5f1b0/vue.js +0 -347
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: LinkedHashMap\<K, V, R\>
8
8
 
9
- Defined in: [data-structures/hash/hash-map.ts:872](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/hash/hash-map.ts#L872)
9
+ Defined in: [data-structures/hash/hash-map.ts:920](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/hash/hash-map.ts#L920)
10
10
 
11
11
  Hash-based map that preserves insertion order via a doubly-linked list.
12
12
 
@@ -46,7 +46,7 @@ examples will be generated by unit test
46
46
  new LinkedHashMap<K, V, R>(entryOrRawElements?, options?): LinkedHashMap<K, V, R>;
47
47
  ```
48
48
 
49
- Defined in: [data-structures/hash/hash-map.ts:882](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/hash/hash-map.ts#L882)
49
+ Defined in: [data-structures/hash/hash-map.ts:930](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/hash/hash-map.ts#L930)
50
50
 
51
51
  Create a LinkedHashMap and optionally bulk-insert entries.
52
52
 
@@ -90,7 +90,7 @@ IterableEntryBase<K, V>.constructor
90
90
  get first(): [K, V] | undefined;
91
91
  ```
92
92
 
93
- Defined in: [data-structures/hash/hash-map.ts:972](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/hash/hash-map.ts#L972)
93
+ Defined in: [data-structures/hash/hash-map.ts:1020](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/hash/hash-map.ts#L1020)
94
94
 
95
95
  Get the first [key, value] pair.
96
96
 
@@ -114,7 +114,7 @@ First entry or undefined when empty.
114
114
  get head(): HashMapLinkedNode<K, V | undefined>;
115
115
  ```
116
116
 
117
- Defined in: [data-structures/hash/hash-map.ts:936](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/hash/hash-map.ts#L936)
117
+ Defined in: [data-structures/hash/hash-map.ts:984](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/hash/hash-map.ts#L984)
118
118
 
119
119
  Get the head node (first entry) sentinel link.
120
120
 
@@ -138,7 +138,7 @@ Head node or sentinel.
138
138
  get last(): [K, V] | undefined;
139
139
  ```
140
140
 
141
- Defined in: [data-structures/hash/hash-map.ts:982](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/hash/hash-map.ts#L982)
141
+ Defined in: [data-structures/hash/hash-map.ts:1030](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/hash/hash-map.ts#L1030)
142
142
 
143
143
  Get the last [key, value] pair.
144
144
 
@@ -162,7 +162,7 @@ Last entry or undefined when empty.
162
162
  get noObjMap(): Record<string, HashMapLinkedNode<K, V | undefined>>;
163
163
  ```
164
164
 
165
- Defined in: [data-structures/hash/hash-map.ts:920](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/hash/hash-map.ts#L920)
165
+ Defined in: [data-structures/hash/hash-map.ts:968](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/hash/hash-map.ts#L968)
166
166
 
167
167
  Get the internal record for non-object keys.
168
168
 
@@ -186,7 +186,7 @@ Record of hash→node.
186
186
  get objHashFn(): (key) => object;
187
187
  ```
188
188
 
189
- Defined in: [data-structures/hash/hash-map.ts:909](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/hash/hash-map.ts#L909)
189
+ Defined in: [data-structures/hash/hash-map.ts:957](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/hash/hash-map.ts#L957)
190
190
 
191
191
  Get the hash function for object/weak keys.
192
192
 
@@ -210,7 +210,7 @@ Object-hash function.
210
210
  get size(): number;
211
211
  ```
212
212
 
213
- Defined in: [data-structures/hash/hash-map.ts:963](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/hash/hash-map.ts#L963)
213
+ Defined in: [data-structures/hash/hash-map.ts:1011](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/hash/hash-map.ts#L1011)
214
214
 
215
215
  Total number of entries.
216
216
 
@@ -238,7 +238,7 @@ Entry count.
238
238
  get tail(): HashMapLinkedNode<K, V | undefined>;
239
239
  ```
240
240
 
241
- Defined in: [data-structures/hash/hash-map.ts:947](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/hash/hash-map.ts#L947)
241
+ Defined in: [data-structures/hash/hash-map.ts:995](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/hash/hash-map.ts#L995)
242
242
 
243
243
  Get the tail node (last entry) sentinel link.
244
244
 
@@ -260,7 +260,7 @@ Tail node or sentinel.
260
260
  iterator: IterableIterator<[K, V]>;
261
261
  ```
262
262
 
263
- Defined in: [data-structures/base/iterable-entry-base.ts:22](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/base/iterable-entry-base.ts#L22)
263
+ Defined in: [data-structures/base/iterable-entry-base.ts:22](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-entry-base.ts#L22)
264
264
 
265
265
  Default iterator yielding `[key, value]` entries.
266
266
 
@@ -292,7 +292,7 @@ Time O(n) to iterate, Space O(1)
292
292
  at(index): V | undefined;
293
293
  ```
294
294
 
295
- Defined in: [data-structures/hash/hash-map.ts:1096](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/hash/hash-map.ts#L1096)
295
+ Defined in: [data-structures/hash/hash-map.ts:1148](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/hash/hash-map.ts#L1148)
296
296
 
297
297
  Get the value at a given index in insertion order.
298
298
 
@@ -322,7 +322,7 @@ Time O(N), Space O(1)
322
322
  begin(): Generator<(K | V | undefined)[], void, unknown>;
323
323
  ```
324
324
 
325
- Defined in: [data-structures/hash/hash-map.ts:992](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/hash/hash-map.ts#L992)
325
+ Defined in: [data-structures/hash/hash-map.ts:1040](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/hash/hash-map.ts#L1040)
326
326
 
327
327
  Iterate from head → tail.
328
328
 
@@ -344,7 +344,7 @@ Time O(N), Space O(1)
344
344
  clear(): void;
345
345
  ```
346
346
 
347
- Defined in: [data-structures/hash/hash-map.ts:1166](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/hash/hash-map.ts#L1166)
347
+ Defined in: [data-structures/hash/hash-map.ts:1221](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/hash/hash-map.ts#L1221)
348
348
 
349
349
  Remove all entries.
350
350
 
@@ -368,7 +368,7 @@ Time O(n) typical, Space O(1)
368
368
  clone(): this;
369
369
  ```
370
370
 
371
- Defined in: [data-structures/hash/hash-map.ts:1172](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/hash/hash-map.ts#L1172)
371
+ Defined in: [data-structures/hash/hash-map.ts:1227](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/hash/hash-map.ts#L1227)
372
372
 
373
373
  Deep clone preserving the concrete subtype.
374
374
 
@@ -391,10 +391,10 @@ Time O(n) typical, Space O(n)
391
391
  ### deleteAt()
392
392
 
393
393
  ```ts
394
- deleteAt(index): boolean;
394
+ deleteAt(index): [K, V | undefined];
395
395
  ```
396
396
 
397
- Defined in: [data-structures/hash/hash-map.ts:1151](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/hash/hash-map.ts#L1151)
397
+ Defined in: [data-structures/hash/hash-map.ts:1204](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/hash/hash-map.ts#L1204)
398
398
 
399
399
  Delete the entry at a given index.
400
400
 
@@ -408,14 +408,18 @@ Zero-based index.
408
408
 
409
409
  #### Returns
410
410
 
411
- `boolean`
411
+ \[`K`, `V` \| `undefined`\]
412
412
 
413
- True if removed.
413
+ The removed entry [key, value].
414
414
 
415
415
  #### Remarks
416
416
 
417
417
  Time O(N), Space O(1)
418
418
 
419
+ #### Throws
420
+
421
+ If index is out of bounds.
422
+
419
423
  ***
420
424
 
421
425
  ### deleteWhere()
@@ -424,7 +428,7 @@ Time O(N), Space O(1)
424
428
  deleteWhere(predicate): boolean;
425
429
  ```
426
430
 
427
- Defined in: [data-structures/hash/hash-map.ts:1125](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/hash/hash-map.ts#L1125)
431
+ Defined in: [data-structures/hash/hash-map.ts:1177](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/hash/hash-map.ts#L1177)
428
432
 
429
433
  Delete the first entry that matches a predicate.
430
434
 
@@ -454,7 +458,7 @@ Time O(N), Space O(1)
454
458
  entries(): IterableIterator<[K, V | undefined]>;
455
459
  ```
456
460
 
457
- Defined in: [data-structures/base/iterable-entry-base.ts:31](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/base/iterable-entry-base.ts#L31)
461
+ Defined in: [data-structures/base/iterable-entry-base.ts:31](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-entry-base.ts#L31)
458
462
 
459
463
  Iterate over `[key, value]` pairs (may yield `undefined` values).
460
464
 
@@ -480,7 +484,7 @@ Time O(n), Space O(1)
480
484
  every(predicate, thisArg?): boolean;
481
485
  ```
482
486
 
483
- Defined in: [data-structures/base/iterable-entry-base.ts:66](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/base/iterable-entry-base.ts#L66)
487
+ Defined in: [data-structures/base/iterable-entry-base.ts:66](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-entry-base.ts#L66)
484
488
 
485
489
  Test whether all entries satisfy the predicate.
486
490
 
@@ -520,7 +524,7 @@ Time O(n), Space O(1)
520
524
  filter(predicate, thisArg?): this;
521
525
  ```
522
526
 
523
- Defined in: [data-structures/hash/hash-map.ts:1177](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/hash/hash-map.ts#L1177)
527
+ Defined in: [data-structures/hash/hash-map.ts:1232](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/hash/hash-map.ts#L1232)
524
528
 
525
529
  Filter entries and return the same-species structure.
526
530
 
@@ -556,7 +560,7 @@ Time O(n), Space O(n)
556
560
  find(callbackfn, thisArg?): [K, V] | undefined;
557
561
  ```
558
562
 
559
- Defined in: [data-structures/base/iterable-entry-base.ts:114](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/base/iterable-entry-base.ts#L114)
563
+ Defined in: [data-structures/base/iterable-entry-base.ts:114](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-entry-base.ts#L114)
560
564
 
561
565
  Find the first entry that matches a predicate.
562
566
 
@@ -596,7 +600,7 @@ Time O(n), Space O(1)
596
600
  forEach(callbackfn, thisArg?): void;
597
601
  ```
598
602
 
599
- Defined in: [data-structures/base/iterable-entry-base.ts:99](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/base/iterable-entry-base.ts#L99)
603
+ Defined in: [data-structures/base/iterable-entry-base.ts:99](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-entry-base.ts#L99)
600
604
 
601
605
  Visit each entry, left-to-right.
602
606
 
@@ -634,7 +638,7 @@ Time O(n), Space O(1)
634
638
  get(key): V | undefined;
635
639
  ```
636
640
 
637
- Defined in: [data-structures/hash/hash-map.ts:1079](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/hash/hash-map.ts#L1079)
641
+ Defined in: [data-structures/hash/hash-map.ts:1131](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/hash/hash-map.ts#L1131)
638
642
 
639
643
  Get the value under a key.
640
644
 
@@ -668,7 +672,7 @@ Time O(n) generic, Space O(1)
668
672
  has(key): boolean;
669
673
  ```
670
674
 
671
- Defined in: [data-structures/hash/hash-map.ts:1070](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/hash/hash-map.ts#L1070)
675
+ Defined in: [data-structures/hash/hash-map.ts:1122](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/hash/hash-map.ts#L1122)
672
676
 
673
677
  Whether the given key exists.
674
678
 
@@ -702,7 +706,7 @@ Time O(n) generic, Space O(1)
702
706
  hasValue(value): boolean;
703
707
  ```
704
708
 
705
- Defined in: [data-structures/base/iterable-entry-base.ts:143](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/base/iterable-entry-base.ts#L143)
709
+ Defined in: [data-structures/base/iterable-entry-base.ts:143](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-entry-base.ts#L143)
706
710
 
707
711
  Whether there exists an entry with the given value.
708
712
 
@@ -736,7 +740,7 @@ Time O(n), Space O(1)
736
740
  isEmpty(): boolean;
737
741
  ```
738
742
 
739
- Defined in: [data-structures/hash/hash-map.ts:1158](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/hash/hash-map.ts#L1158)
743
+ Defined in: [data-structures/hash/hash-map.ts:1213](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/hash/hash-map.ts#L1213)
740
744
 
741
745
  Whether there are no entries.
742
746
 
@@ -762,7 +766,7 @@ Time O(1) typical, Space O(1)
762
766
  keys(): IterableIterator<K>;
763
767
  ```
764
768
 
765
- Defined in: [data-structures/base/iterable-entry-base.ts:42](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/base/iterable-entry-base.ts#L42)
769
+ Defined in: [data-structures/base/iterable-entry-base.ts:42](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-entry-base.ts#L42)
766
770
 
767
771
  Iterate over keys only.
768
772
 
@@ -788,7 +792,7 @@ Time O(n), Space O(1)
788
792
  map<MK, MV>(callback, thisArg?): LinkedHashMap<MK, MV>;
789
793
  ```
790
794
 
791
- Defined in: [data-structures/hash/hash-map.ts:1196](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/hash/hash-map.ts#L1196)
795
+ Defined in: [data-structures/hash/hash-map.ts:1251](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/hash/hash-map.ts#L1251)
792
796
 
793
797
  Map each entry to a new [key, value] pair and preserve order.
794
798
 
@@ -838,7 +842,7 @@ Time O(N), Space O(N)
838
842
  print(): void;
839
843
  ```
840
844
 
841
- Defined in: [data-structures/base/iterable-entry-base.ts:203](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/base/iterable-entry-base.ts#L203)
845
+ Defined in: [data-structures/base/iterable-entry-base.ts:203](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-entry-base.ts#L203)
842
846
 
843
847
  Print a human-friendly representation to the console.
844
848
 
@@ -862,7 +866,7 @@ Time O(n), Space O(n)
862
866
  reduce<U>(callbackfn, initialValue): U;
863
867
  ```
864
868
 
865
- Defined in: [data-structures/base/iterable-entry-base.ts:171](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/base/iterable-entry-base.ts#L171)
869
+ Defined in: [data-structures/base/iterable-entry-base.ts:171](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-entry-base.ts#L171)
866
870
 
867
871
  Reduce entries into a single accumulator.
868
872
 
@@ -908,7 +912,7 @@ Time O(n), Space O(1)
908
912
  reverseBegin(): Generator<(K | V | undefined)[], void, unknown>;
909
913
  ```
910
914
 
911
- Defined in: [data-structures/hash/hash-map.ts:1005](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/hash/hash-map.ts#L1005)
915
+ Defined in: [data-structures/hash/hash-map.ts:1053](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/hash/hash-map.ts#L1053)
912
916
 
913
917
  Iterate from tail → head.
914
918
 
@@ -927,10 +931,10 @@ Time O(N), Space O(1)
927
931
  ### set()
928
932
 
929
933
  ```ts
930
- set(key, value?): boolean;
934
+ set(key, value?): this;
931
935
  ```
932
936
 
933
- Defined in: [data-structures/hash/hash-map.ts:1020](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/hash/hash-map.ts#L1020)
937
+ Defined in: [data-structures/hash/hash-map.ts:1068](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/hash/hash-map.ts#L1068)
934
938
 
935
939
  Insert or replace a single entry; preserves insertion order.
936
940
 
@@ -950,9 +954,9 @@ Value.
950
954
 
951
955
  #### Returns
952
956
 
953
- `boolean`
957
+ `this`
954
958
 
955
- True when the operation succeeds.
959
+ This map (for chaining).
956
960
 
957
961
  #### Remarks
958
962
 
@@ -966,7 +970,7 @@ Time O(1), Space O(1)
966
970
  some(predicate, thisArg?): boolean;
967
971
  ```
968
972
 
969
- Defined in: [data-structures/base/iterable-entry-base.ts:83](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/base/iterable-entry-base.ts#L83)
973
+ Defined in: [data-structures/base/iterable-entry-base.ts:83](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-entry-base.ts#L83)
970
974
 
971
975
  Test whether any entry satisfies the predicate.
972
976
 
@@ -1006,7 +1010,7 @@ Time O(n), Space O(1)
1006
1010
  toArray(): [K, V][];
1007
1011
  ```
1008
1012
 
1009
- Defined in: [data-structures/base/iterable-entry-base.ts:186](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/base/iterable-entry-base.ts#L186)
1013
+ Defined in: [data-structures/base/iterable-entry-base.ts:186](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-entry-base.ts#L186)
1010
1014
 
1011
1015
  Converts data structure to `[key, value]` pairs.
1012
1016
 
@@ -1032,7 +1036,7 @@ Time O(n), Space O(n)
1032
1036
  toVisual(): string | [K, V][];
1033
1037
  ```
1034
1038
 
1035
- Defined in: [data-structures/base/iterable-entry-base.ts:195](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/base/iterable-entry-base.ts#L195)
1039
+ Defined in: [data-structures/base/iterable-entry-base.ts:195](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-entry-base.ts#L195)
1036
1040
 
1037
1041
  Visualize the iterable as an array of `[key, value]` pairs (or a custom string).
1038
1042
 
@@ -1058,7 +1062,7 @@ Time O(n), Space O(n)
1058
1062
  values(): IterableIterator<V>;
1059
1063
  ```
1060
1064
 
1061
- Defined in: [data-structures/base/iterable-entry-base.ts:53](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/base/iterable-entry-base.ts#L53)
1065
+ Defined in: [data-structures/base/iterable-entry-base.ts:53](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/iterable-entry-base.ts#L53)
1062
1066
 
1063
1067
  Iterate over values only.
1064
1068
 
@@ -1087,7 +1091,7 @@ Time O(n), Space O(1)
1087
1091
  protected _getIterator(): IterableIterator<[K, V]>;
1088
1092
  ```
1089
1093
 
1090
- Defined in: [data-structures/hash/hash-map.ts:1207](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/hash/hash-map.ts#L1207)
1094
+ Defined in: [data-structures/hash/hash-map.ts:1262](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/hash/hash-map.ts#L1262)
1091
1095
 
1092
1096
  Underlying iterator for the default iteration protocol.
1093
1097
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: LinkedListNode\<E\>
8
8
 
9
- Defined in: [data-structures/base/linear-base.ts:9](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/base/linear-base.ts#L9)
9
+ Defined in: [data-structures/base/linear-base.ts:9](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L9)
10
10
 
11
11
  Singly-linked list node.
12
12
 
@@ -35,7 +35,7 @@ Element type.
35
35
  new LinkedListNode<E>(value): LinkedListNode<E>;
36
36
  ```
37
37
 
38
- Defined in: [data-structures/base/linear-base.ts:15](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/base/linear-base.ts#L15)
38
+ Defined in: [data-structures/base/linear-base.ts:15](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L15)
39
39
 
40
40
  Initialize a node.
41
41
 
@@ -65,7 +65,7 @@ Time O(1), Space O(1)
65
65
  get next(): LinkedListNode<E> | undefined;
66
66
  ```
67
67
 
68
- Defined in: [data-structures/base/linear-base.ts:47](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/base/linear-base.ts#L47)
68
+ Defined in: [data-structures/base/linear-base.ts:47](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L47)
69
69
 
70
70
  Next node getter.
71
71
 
@@ -85,7 +85,7 @@ Next node or `undefined`.
85
85
  set next(value): void;
86
86
  ```
87
87
 
88
- Defined in: [data-structures/base/linear-base.ts:56](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/base/linear-base.ts#L56)
88
+ Defined in: [data-structures/base/linear-base.ts:56](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L56)
89
89
 
90
90
  Next node setter.
91
91
 
@@ -115,7 +115,7 @@ Next node or `undefined`.
115
115
  get value(): E;
116
116
  ```
117
117
 
118
- Defined in: [data-structures/base/linear-base.ts:27](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/base/linear-base.ts#L27)
118
+ Defined in: [data-structures/base/linear-base.ts:27](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L27)
119
119
 
120
120
  Element payload getter.
121
121
 
@@ -135,7 +135,7 @@ Element value.
135
135
  set value(value): void;
136
136
  ```
137
137
 
138
- Defined in: [data-structures/base/linear-base.ts:36](https://github.com/zrwusa/data-structure-typed/blob/8292cb978daf85ebe846186c7c7572aece04fb7b/src/data-structures/base/linear-base.ts#L36)
138
+ Defined in: [data-structures/base/linear-base.ts:36](https://github.com/zrwusa/data-structure-typed/blob/main/src/data-structures/base/linear-base.ts#L36)
139
139
 
140
140
  Element payload setter.
141
141