data-structure-typed 1.32.0 → 1.32.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 (258) hide show
  1. package/.github/workflows/ci.yml +12 -1
  2. package/.prettierrc.js +1 -1
  3. package/CHANGELOG.md +1 -1
  4. package/README.md +63 -176
  5. package/coverage/clover.xml +717 -717
  6. package/coverage/coverage-final.json +21 -21
  7. package/coverage/coverage-summary.json +68 -0
  8. package/coverage/lcov-report/index.html +1 -1
  9. package/coverage/lcov-report/src/data-structures/binary-tree/aa-tree.ts.html +1 -1
  10. package/coverage/lcov-report/src/data-structures/binary-tree/abstract-binary-tree.ts.html +19 -7
  11. package/coverage/lcov-report/src/data-structures/binary-tree/avl-tree.ts.html +5 -5
  12. package/coverage/lcov-report/src/data-structures/binary-tree/b-tree.ts.html +1 -1
  13. package/coverage/lcov-report/src/data-structures/binary-tree/binary-indexed-tree.ts.html +1 -1
  14. package/coverage/lcov-report/src/data-structures/binary-tree/binary-tree.ts.html +4 -4
  15. package/coverage/lcov-report/src/data-structures/binary-tree/bst.ts.html +7 -25
  16. package/coverage/lcov-report/src/data-structures/binary-tree/index.html +1 -1
  17. package/coverage/lcov-report/src/data-structures/binary-tree/index.ts.html +1 -1
  18. package/coverage/lcov-report/src/data-structures/binary-tree/rb-tree.ts.html +4 -4
  19. package/coverage/lcov-report/src/data-structures/binary-tree/segment-tree.ts.html +2 -2
  20. package/coverage/lcov-report/src/data-structures/binary-tree/splay-tree.ts.html +1 -1
  21. package/coverage/lcov-report/src/data-structures/binary-tree/tree-multiset.ts.html +9 -9
  22. package/coverage/lcov-report/src/data-structures/binary-tree/two-three-tree.ts.html +1 -1
  23. package/coverage/lcov-report/src/data-structures/graph/abstract-graph.ts.html +17 -17
  24. package/coverage/lcov-report/src/data-structures/graph/directed-graph.ts.html +5 -5
  25. package/coverage/lcov-report/src/data-structures/graph/index.html +1 -1
  26. package/coverage/lcov-report/src/data-structures/graph/index.ts.html +1 -1
  27. package/coverage/lcov-report/src/data-structures/graph/map-graph.ts.html +3 -3
  28. package/coverage/lcov-report/src/data-structures/graph/undirected-graph.ts.html +5 -5
  29. package/coverage/lcov-report/src/data-structures/hash/coordinate-map.ts.html +1 -1
  30. package/coverage/lcov-report/src/data-structures/hash/coordinate-set.ts.html +1 -1
  31. package/coverage/lcov-report/src/data-structures/hash/hash-table.ts.html +1 -1
  32. package/coverage/lcov-report/src/data-structures/hash/index.html +1 -1
  33. package/coverage/lcov-report/src/data-structures/hash/index.ts.html +1 -1
  34. package/coverage/lcov-report/src/data-structures/hash/pair.ts.html +1 -1
  35. package/coverage/lcov-report/src/data-structures/hash/tree-map.ts.html +1 -1
  36. package/coverage/lcov-report/src/data-structures/hash/tree-set.ts.html +1 -1
  37. package/coverage/lcov-report/src/data-structures/heap/heap.ts.html +4 -4
  38. package/coverage/lcov-report/src/data-structures/heap/index.html +1 -1
  39. package/coverage/lcov-report/src/data-structures/heap/index.ts.html +1 -1
  40. package/coverage/lcov-report/src/data-structures/heap/max-heap.ts.html +4 -4
  41. package/coverage/lcov-report/src/data-structures/heap/min-heap.ts.html +4 -4
  42. package/coverage/lcov-report/src/data-structures/index.html +1 -1
  43. package/coverage/lcov-report/src/data-structures/index.ts.html +1 -1
  44. package/coverage/lcov-report/src/data-structures/linked-list/doubly-linked-list.ts.html +1 -1
  45. package/coverage/lcov-report/src/data-structures/linked-list/index.html +1 -1
  46. package/coverage/lcov-report/src/data-structures/linked-list/index.ts.html +1 -1
  47. package/coverage/lcov-report/src/data-structures/linked-list/singly-linked-list.ts.html +1 -1
  48. package/coverage/lcov-report/src/data-structures/linked-list/skip-linked-list.ts.html +1 -1
  49. package/coverage/lcov-report/src/data-structures/matrix/index.html +1 -1
  50. package/coverage/lcov-report/src/data-structures/matrix/index.ts.html +1 -1
  51. package/coverage/lcov-report/src/data-structures/matrix/matrix.ts.html +3 -3
  52. package/coverage/lcov-report/src/data-structures/matrix/matrix2d.ts.html +1 -1
  53. package/coverage/lcov-report/src/data-structures/matrix/navigator.ts.html +4 -4
  54. package/coverage/lcov-report/src/data-structures/matrix/vector2d.ts.html +1 -1
  55. package/coverage/lcov-report/src/data-structures/priority-queue/index.html +1 -1
  56. package/coverage/lcov-report/src/data-structures/priority-queue/index.ts.html +1 -1
  57. package/coverage/lcov-report/src/data-structures/priority-queue/max-priority-queue.ts.html +6 -6
  58. package/coverage/lcov-report/src/data-structures/priority-queue/min-priority-queue.ts.html +3 -3
  59. package/coverage/lcov-report/src/data-structures/priority-queue/priority-queue.ts.html +32 -32
  60. package/coverage/lcov-report/src/data-structures/queue/deque.ts.html +5 -5
  61. package/coverage/lcov-report/src/data-structures/queue/index.html +1 -1
  62. package/coverage/lcov-report/src/data-structures/queue/index.ts.html +1 -1
  63. package/coverage/lcov-report/src/data-structures/queue/queue.ts.html +2 -2
  64. package/coverage/lcov-report/src/data-structures/stack/index.html +1 -1
  65. package/coverage/lcov-report/src/data-structures/stack/index.ts.html +1 -1
  66. package/coverage/lcov-report/src/data-structures/stack/stack.ts.html +1 -1
  67. package/coverage/lcov-report/src/data-structures/tree/index.html +1 -1
  68. package/coverage/lcov-report/src/data-structures/tree/index.ts.html +1 -1
  69. package/coverage/lcov-report/src/data-structures/tree/tree.ts.html +2 -2
  70. package/coverage/lcov-report/src/data-structures/trie/index.html +1 -1
  71. package/coverage/lcov-report/src/data-structures/trie/index.ts.html +1 -1
  72. package/coverage/lcov-report/src/data-structures/trie/trie.ts.html +1 -1
  73. package/coverage/lcov-report/src/index.html +1 -1
  74. package/coverage/lcov-report/src/index.ts.html +1 -1
  75. package/coverage/lcov-report/src/interfaces/index.html +1 -1
  76. package/coverage/lcov-report/src/interfaces/index.ts.html +1 -1
  77. package/coverage/lcov-report/src/types/data-structures/abstract-binary-tree.ts.html +1 -1
  78. package/coverage/lcov-report/src/types/data-structures/bst.ts.html +1 -1
  79. package/coverage/lcov-report/src/types/data-structures/directed-graph.ts.html +1 -1
  80. package/coverage/lcov-report/src/types/data-structures/index.html +1 -1
  81. package/coverage/lcov-report/src/types/data-structures/index.ts.html +1 -1
  82. package/coverage/lcov-report/src/types/data-structures/rb-tree.ts.html +1 -1
  83. package/coverage/lcov-report/src/types/index.html +1 -1
  84. package/coverage/lcov-report/src/types/index.ts.html +1 -1
  85. package/coverage/lcov-report/src/types/utils/index.html +1 -1
  86. package/coverage/lcov-report/src/types/utils/index.ts.html +1 -1
  87. package/coverage/lcov-report/src/utils/index.html +1 -1
  88. package/coverage/lcov-report/src/utils/index.ts.html +1 -1
  89. package/coverage/lcov-report/src/utils/utils.ts.html +4 -4
  90. package/coverage/lcov-report/test/utils/index.html +1 -1
  91. package/coverage/lcov-report/test/utils/index.ts.html +1 -1
  92. package/coverage/lcov-report/test/utils/magnitude.ts.html +1 -1
  93. package/coverage/lcov-report/test/utils/number.ts.html +1 -1
  94. package/coverage/lcov.info +1329 -1329
  95. package/dist/data-structures/binary-tree/abstract-binary-tree.js.map +1 -1
  96. package/dist/data-structures/binary-tree/avl-tree.js.map +1 -1
  97. package/dist/data-structures/binary-tree/binary-tree.js.map +1 -1
  98. package/dist/data-structures/binary-tree/bst.js.map +1 -1
  99. package/dist/data-structures/binary-tree/rb-tree.js.map +1 -1
  100. package/dist/data-structures/binary-tree/tree-multiset.js.map +1 -1
  101. package/dist/data-structures/graph/abstract-graph.js.map +1 -1
  102. package/dist/data-structures/graph/directed-graph.js.map +1 -1
  103. package/dist/data-structures/graph/map-graph.js.map +1 -1
  104. package/dist/data-structures/graph/undirected-graph.js.map +1 -1
  105. package/dist/data-structures/heap/heap.js.map +1 -1
  106. package/dist/data-structures/heap/max-heap.js.map +1 -1
  107. package/dist/data-structures/heap/min-heap.js.map +1 -1
  108. package/dist/data-structures/matrix/matrix.js.map +1 -1
  109. package/dist/data-structures/matrix/navigator.js.map +1 -1
  110. package/dist/data-structures/priority-queue/max-priority-queue.js.map +1 -1
  111. package/dist/data-structures/priority-queue/min-priority-queue.js.map +1 -1
  112. package/dist/data-structures/priority-queue/priority-queue.js.map +1 -1
  113. package/dist/data-structures/queue/deque.js.map +1 -1
  114. package/dist/data-structures/queue/queue.js.map +1 -1
  115. package/dist/data-structures/tree/tree.js.map +1 -1
  116. package/dist/utils/utils.js.map +1 -1
  117. package/docs/classes/AVLTree.html +85 -85
  118. package/docs/classes/AVLTreeNode.html +15 -15
  119. package/docs/classes/AaTree.html +1 -1
  120. package/docs/classes/AbstractBinaryTree.html +78 -78
  121. package/docs/classes/AbstractBinaryTreeNode.html +21 -21
  122. package/docs/classes/AbstractEdge.html +11 -11
  123. package/docs/classes/AbstractGraph.html +36 -36
  124. package/docs/classes/AbstractVertex.html +8 -8
  125. package/docs/classes/ArrayDeque.html +14 -14
  126. package/docs/classes/BST.html +78 -78
  127. package/docs/classes/BSTNode.html +15 -15
  128. package/docs/classes/BTree.html +1 -1
  129. package/docs/classes/BinaryIndexedTree.html +9 -9
  130. package/docs/classes/BinaryTree.html +71 -71
  131. package/docs/classes/BinaryTreeNode.html +15 -15
  132. package/docs/classes/Character.html +4 -4
  133. package/docs/classes/CoordinateMap.html +9 -9
  134. package/docs/classes/CoordinateSet.html +8 -8
  135. package/docs/classes/Deque.html +34 -34
  136. package/docs/classes/DirectedEdge.html +15 -15
  137. package/docs/classes/DirectedGraph.html +52 -52
  138. package/docs/classes/DirectedVertex.html +6 -6
  139. package/docs/classes/DoublyLinkedList.html +37 -37
  140. package/docs/classes/DoublyLinkedListNode.html +11 -11
  141. package/docs/classes/HashTable.html +1 -1
  142. package/docs/classes/Heap.html +26 -26
  143. package/docs/classes/HeapItem.html +8 -8
  144. package/docs/classes/LinkedListQueue.html +35 -35
  145. package/docs/classes/MapEdge.html +13 -13
  146. package/docs/classes/MapGraph.html +56 -56
  147. package/docs/classes/MapVertex.html +12 -12
  148. package/docs/classes/Matrix2D.html +16 -16
  149. package/docs/classes/MatrixNTI2D.html +4 -4
  150. package/docs/classes/MaxHeap.html +26 -26
  151. package/docs/classes/MaxPriorityQueue.html +34 -34
  152. package/docs/classes/MinHeap.html +26 -26
  153. package/docs/classes/MinPriorityQueue.html +34 -34
  154. package/docs/classes/Navigator.html +10 -10
  155. package/docs/classes/ObjectDeque.html +25 -25
  156. package/docs/classes/Pair.html +1 -1
  157. package/docs/classes/PriorityQueue.html +32 -32
  158. package/docs/classes/Queue.html +22 -22
  159. package/docs/classes/RBTree.html +78 -78
  160. package/docs/classes/RBTreeNode.html +18 -18
  161. package/docs/classes/SegmentTree.html +17 -17
  162. package/docs/classes/SegmentTreeNode.html +20 -20
  163. package/docs/classes/SinglyLinkedList.html +35 -35
  164. package/docs/classes/SinglyLinkedListNode.html +8 -8
  165. package/docs/classes/SkipLinkedList.html +1 -1
  166. package/docs/classes/SplayTree.html +1 -1
  167. package/docs/classes/Stack.html +12 -12
  168. package/docs/classes/TreeMap.html +1 -1
  169. package/docs/classes/TreeMultiset.html +99 -99
  170. package/docs/classes/TreeMultisetNode.html +18 -18
  171. package/docs/classes/TreeNode.html +13 -13
  172. package/docs/classes/TreeSet.html +1 -1
  173. package/docs/classes/Trie.html +13 -13
  174. package/docs/classes/TrieNode.html +11 -11
  175. package/docs/classes/TwoThreeTree.html +1 -1
  176. package/docs/classes/UndirectedEdge.html +12 -12
  177. package/docs/classes/UndirectedGraph.html +40 -40
  178. package/docs/classes/UndirectedVertex.html +6 -6
  179. package/docs/classes/Vector2D.html +28 -28
  180. package/docs/enums/CP.html +4 -4
  181. package/docs/enums/FamilyPosition.html +8 -8
  182. package/docs/enums/LoopType.html +3 -3
  183. package/docs/enums/RBColor.html +3 -3
  184. package/docs/enums/TopologicalProperty.html +4 -4
  185. package/docs/functions/arrayRemove.html +1 -1
  186. package/docs/functions/isThunk.html +1 -1
  187. package/docs/functions/toThunk.html +1 -1
  188. package/docs/functions/trampoline.html +1 -1
  189. package/docs/functions/trampolineAsync.html +1 -1
  190. package/docs/functions/uuidV4.html +1 -1
  191. package/docs/index.html +21 -26
  192. package/docs/interfaces/IAVLTree.html +77 -77
  193. package/docs/interfaces/IAbstractBinaryTree.html +72 -72
  194. package/docs/interfaces/IAbstractBinaryTreeNode.html +14 -14
  195. package/docs/interfaces/IAbstractGraph.html +15 -15
  196. package/docs/interfaces/IBST.html +77 -77
  197. package/docs/interfaces/IDirectedGraph.html +23 -23
  198. package/docs/interfaces/IRBTree.html +77 -77
  199. package/docs/interfaces/IUNDirectedGraph.html +16 -16
  200. package/docs/types/AVLTreeNodeNested.html +1 -1
  201. package/docs/types/AVLTreeOptions.html +1 -1
  202. package/docs/types/AbstractBinaryTreeNodeNested.html +1 -1
  203. package/docs/types/AbstractBinaryTreeNodeProperties.html +1 -1
  204. package/docs/types/AbstractBinaryTreeNodeProperty.html +1 -1
  205. package/docs/types/AbstractBinaryTreeOptions.html +1 -1
  206. package/docs/types/BSTComparator.html +1 -1
  207. package/docs/types/BSTNodeNested.html +1 -1
  208. package/docs/types/BSTOptions.html +1 -1
  209. package/docs/types/BinaryTreeDeletedResult.html +1 -1
  210. package/docs/types/BinaryTreeNodeId.html +1 -1
  211. package/docs/types/BinaryTreeNodeNested.html +1 -1
  212. package/docs/types/BinaryTreeNodePropertyName.html +1 -1
  213. package/docs/types/BinaryTreeOptions.html +1 -1
  214. package/docs/types/DFSOrderPattern.html +1 -1
  215. package/docs/types/DijkstraResult.html +1 -1
  216. package/docs/types/Direction.html +1 -1
  217. package/docs/types/DummyAny.html +1 -1
  218. package/docs/types/EdgeId.html +1 -1
  219. package/docs/types/HeapOptions.html +1 -1
  220. package/docs/types/IAVLTreeNode.html +1 -1
  221. package/docs/types/IBSTNode.html +1 -1
  222. package/docs/types/IBinaryTree.html +1 -1
  223. package/docs/types/IBinaryTreeNode.html +1 -1
  224. package/docs/types/IRBTreeNode.html +1 -1
  225. package/docs/types/ITreeMultiset.html +1 -1
  226. package/docs/types/ITreeMultisetNode.html +1 -1
  227. package/docs/types/KeyValueObject.html +1 -1
  228. package/docs/types/KeyValueObjectWithId.html +1 -1
  229. package/docs/types/MapGraphCoordinate.html +1 -1
  230. package/docs/types/NavigatorParams.html +1 -1
  231. package/docs/types/NodeOrPropertyName.html +1 -1
  232. package/docs/types/NonNumberNonObjectButDefined.html +1 -1
  233. package/docs/types/ObjectWithNonNumberId.html +1 -1
  234. package/docs/types/ObjectWithNumberId.html +1 -1
  235. package/docs/types/ObjectWithoutId.html +1 -1
  236. package/docs/types/PriorityQueueComparator.html +1 -1
  237. package/docs/types/PriorityQueueDFSOrderPattern.html +1 -1
  238. package/docs/types/PriorityQueueOptions.html +1 -1
  239. package/docs/types/RBTreeNodeNested.html +1 -1
  240. package/docs/types/RBTreeOptions.html +1 -1
  241. package/docs/types/RestrictValById.html +1 -1
  242. package/docs/types/SegmentTreeNodeVal.html +1 -1
  243. package/docs/types/SpecifyOptional.html +1 -1
  244. package/docs/types/Thunk.html +1 -1
  245. package/docs/types/ToThunkFn.html +1 -1
  246. package/docs/types/TopologicalStatus.html +1 -1
  247. package/docs/types/TreeMultisetNodeNested.html +1 -1
  248. package/docs/types/TreeMultisetOptions.html +1 -1
  249. package/docs/types/TrlAsyncFn.html +1 -1
  250. package/docs/types/TrlFn.html +1 -1
  251. package/docs/types/Turning.html +1 -1
  252. package/docs/types/VertexId.html +1 -1
  253. package/docs/variables/THUNK_SYMBOL.html +1 -1
  254. package/jest.config.js +1 -0
  255. package/package.json +18 -6
  256. package/.auto-changelog-template.hbs +0 -36
  257. package/rename_clear_files.sh +0 -29
  258. package/tsconfig.build.json +0 -33
@@ -0,0 +1,68 @@
1
+ {"total": {"lines":{"total":3132,"covered":1783,"skipped":0,"pct":56.92},"statements":{"total":3442,"covered":1904,"skipped":0,"pct":55.31},"functions":{"total":646,"covered":312,"skipped":0,"pct":48.29},"branches":{"total":1658,"covered":780,"skipped":0,"pct":47.04},"branchesTrue":{"total":0,"covered":0,"skipped":0,"pct":100}}
2
+ ,"/Users/revone/projects/data-structure-typed/src/index.ts": {"lines":{"total":4,"covered":4,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":4,"covered":4,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
3
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/index.ts": {"lines":{"total":11,"covered":11,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":11,"covered":11,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
4
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/binary-tree/aa-tree.ts": {"lines":{"total":1,"covered":1,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":1,"covered":1,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
5
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/binary-tree/abstract-binary-tree.ts": {"lines":{"total":559,"covered":229,"skipped":0,"pct":40.96},"functions":{"total":82,"covered":43,"skipped":0,"pct":52.43},"statements":{"total":613,"covered":240,"skipped":0,"pct":39.15},"branches":{"total":380,"covered":147,"skipped":0,"pct":38.68}}
6
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/binary-tree/avl-tree.ts": {"lines":{"total":126,"covered":95,"skipped":0,"pct":75.39},"functions":{"total":12,"covered":11,"skipped":0,"pct":91.66},"statements":{"total":145,"covered":110,"skipped":0,"pct":75.86},"branches":{"total":94,"covered":70,"skipped":0,"pct":74.46}}
7
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/binary-tree/b-tree.ts": {"lines":{"total":1,"covered":1,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":1,"covered":1,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
8
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/binary-tree/binary-indexed-tree.ts": {"lines":{"total":15,"covered":1,"skipped":0,"pct":6.66},"functions":{"total":7,"covered":0,"skipped":0,"pct":0},"statements":{"total":16,"covered":1,"skipped":0,"pct":6.25},"branches":{"total":4,"covered":0,"skipped":0,"pct":0}}
9
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/binary-tree/binary-tree.ts": {"lines":{"total":6,"covered":5,"skipped":0,"pct":83.33},"functions":{"total":3,"covered":2,"skipped":0,"pct":66.66},"statements":{"total":6,"covered":5,"skipped":0,"pct":83.33},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
10
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/binary-tree/bst.ts": {"lines":{"total":256,"covered":131,"skipped":0,"pct":51.17},"functions":{"total":31,"covered":13,"skipped":0,"pct":41.93},"statements":{"total":308,"covered":144,"skipped":0,"pct":46.75},"branches":{"total":230,"covered":88,"skipped":0,"pct":38.26}}
11
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/binary-tree/index.ts": {"lines":{"total":12,"covered":12,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":12,"covered":12,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
12
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/binary-tree/rb-tree.ts": {"lines":{"total":10,"covered":4,"skipped":0,"pct":40},"functions":{"total":5,"covered":0,"skipped":0,"pct":0},"statements":{"total":10,"covered":4,"skipped":0,"pct":40},"branches":{"total":1,"covered":0,"skipped":0,"pct":0}}
13
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/binary-tree/segment-tree.ts": {"lines":{"total":84,"covered":2,"skipped":0,"pct":2.38},"functions":{"total":27,"covered":0,"skipped":0,"pct":0},"statements":{"total":86,"covered":2,"skipped":0,"pct":2.32},"branches":{"total":39,"covered":0,"skipped":0,"pct":0}}
14
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/binary-tree/splay-tree.ts": {"lines":{"total":1,"covered":1,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":1,"covered":1,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
15
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/binary-tree/tree-multiset.ts": {"lines":{"total":299,"covered":162,"skipped":0,"pct":54.18},"functions":{"total":39,"covered":17,"skipped":0,"pct":43.58},"statements":{"total":344,"covered":172,"skipped":0,"pct":50},"branches":{"total":194,"covered":79,"skipped":0,"pct":40.72}}
16
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/binary-tree/two-three-tree.ts": {"lines":{"total":1,"covered":1,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":1,"covered":1,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
17
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/graph/abstract-graph.ts": {"lines":{"total":412,"covered":281,"skipped":0,"pct":68.2},"functions":{"total":52,"covered":34,"skipped":0,"pct":65.38},"statements":{"total":456,"covered":307,"skipped":0,"pct":67.32},"branches":{"total":190,"covered":112,"skipped":0,"pct":58.94}}
18
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/graph/directed-graph.ts": {"lines":{"total":142,"covered":113,"skipped":0,"pct":79.57},"functions":{"total":39,"covered":26,"skipped":0,"pct":66.66},"statements":{"total":150,"covered":121,"skipped":0,"pct":80.66},"branches":{"total":78,"covered":57,"skipped":0,"pct":73.07}}
19
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/graph/index.ts": {"lines":{"total":4,"covered":4,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":4,"covered":4,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
20
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/graph/map-graph.ts": {"lines":{"total":22,"covered":13,"skipped":0,"pct":59.09},"functions":{"total":13,"covered":4,"skipped":0,"pct":30.76},"statements":{"total":22,"covered":13,"skipped":0,"pct":59.09},"branches":{"total":2,"covered":0,"skipped":0,"pct":0}}
21
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/graph/undirected-graph.ts": {"lines":{"total":74,"covered":53,"skipped":0,"pct":71.62},"functions":{"total":24,"covered":16,"skipped":0,"pct":66.66},"statements":{"total":79,"covered":57,"skipped":0,"pct":72.15},"branches":{"total":52,"covered":30,"skipped":0,"pct":57.69}}
22
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/hash/coordinate-map.ts": {"lines":{"total":10,"covered":1,"skipped":0,"pct":10},"functions":{"total":7,"covered":0,"skipped":0,"pct":0},"statements":{"total":11,"covered":1,"skipped":0,"pct":9.09},"branches":{"total":1,"covered":0,"skipped":0,"pct":0}}
23
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/hash/coordinate-set.ts": {"lines":{"total":9,"covered":1,"skipped":0,"pct":11.11},"functions":{"total":6,"covered":0,"skipped":0,"pct":0},"statements":{"total":10,"covered":1,"skipped":0,"pct":10},"branches":{"total":1,"covered":0,"skipped":0,"pct":0}}
24
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/hash/hash-table.ts": {"lines":{"total":1,"covered":1,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":1,"covered":1,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
25
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/hash/index.ts": {"lines":{"total":6,"covered":6,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":6,"covered":6,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
26
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/hash/pair.ts": {"lines":{"total":1,"covered":1,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":1,"covered":1,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
27
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/hash/tree-map.ts": {"lines":{"total":1,"covered":1,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":1,"covered":1,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
28
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/hash/tree-set.ts": {"lines":{"total":1,"covered":1,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":1,"covered":1,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
29
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/heap/heap.ts": {"lines":{"total":43,"covered":29,"skipped":0,"pct":67.44},"functions":{"total":23,"covered":15,"skipped":0,"pct":65.21},"statements":{"total":47,"covered":31,"skipped":0,"pct":65.95},"branches":{"total":52,"covered":29,"skipped":0,"pct":55.76}}
30
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/heap/index.ts": {"lines":{"total":3,"covered":3,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":3,"covered":3,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
31
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/heap/max-heap.ts": {"lines":{"total":6,"covered":6,"skipped":0,"pct":100},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":6,"covered":6,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
32
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/heap/min-heap.ts": {"lines":{"total":6,"covered":6,"skipped":0,"pct":100},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":6,"covered":6,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
33
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/linked-list/doubly-linked-list.ts": {"lines":{"total":210,"covered":185,"skipped":0,"pct":88.09},"functions":{"total":37,"covered":35,"skipped":0,"pct":94.59},"statements":{"total":220,"covered":189,"skipped":0,"pct":85.9},"branches":{"total":48,"covered":36,"skipped":0,"pct":75}}
34
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/linked-list/index.ts": {"lines":{"total":3,"covered":3,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":3,"covered":3,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
35
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/linked-list/singly-linked-list.ts": {"lines":{"total":184,"covered":165,"skipped":0,"pct":89.67},"functions":{"total":33,"covered":29,"skipped":0,"pct":87.87},"statements":{"total":195,"covered":174,"skipped":0,"pct":89.23},"branches":{"total":43,"covered":34,"skipped":0,"pct":79.06}}
36
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/linked-list/skip-linked-list.ts": {"lines":{"total":1,"covered":1,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":1,"covered":1,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
37
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/matrix/index.ts": {"lines":{"total":4,"covered":4,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":4,"covered":4,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
38
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/matrix/matrix.ts": {"lines":{"total":4,"covered":1,"skipped":0,"pct":25},"functions":{"total":3,"covered":0,"skipped":0,"pct":0},"statements":{"total":5,"covered":1,"skipped":0,"pct":20},"branches":{"total":2,"covered":0,"skipped":0,"pct":0}}
39
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/matrix/matrix2d.ts": {"lines":{"total":48,"covered":3,"skipped":0,"pct":6.25},"functions":{"total":14,"covered":0,"skipped":0,"pct":0},"statements":{"total":57,"covered":3,"skipped":0,"pct":5.26},"branches":{"total":4,"covered":0,"skipped":0,"pct":0}}
40
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/matrix/navigator.ts": {"lines":{"total":45,"covered":2,"skipped":0,"pct":4.44},"functions":{"total":6,"covered":0,"skipped":0,"pct":0},"statements":{"total":48,"covered":2,"skipped":0,"pct":4.16},"branches":{"total":21,"covered":0,"skipped":0,"pct":0}}
41
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/matrix/vector2d.ts": {"lines":{"total":47,"covered":2,"skipped":0,"pct":4.25},"functions":{"total":23,"covered":0,"skipped":0,"pct":0},"statements":{"total":47,"covered":2,"skipped":0,"pct":4.25},"branches":{"total":16,"covered":0,"skipped":0,"pct":0}}
42
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/priority-queue/index.ts": {"lines":{"total":3,"covered":3,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":3,"covered":3,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
43
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/priority-queue/max-priority-queue.ts": {"lines":{"total":12,"covered":12,"skipped":0,"pct":100},"functions":{"total":4,"covered":4,"skipped":0,"pct":100},"statements":{"total":12,"covered":12,"skipped":0,"pct":100},"branches":{"total":12,"covered":11,"skipped":0,"pct":91.66}}
44
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/priority-queue/min-priority-queue.ts": {"lines":{"total":12,"covered":6,"skipped":0,"pct":50},"functions":{"total":4,"covered":2,"skipped":0,"pct":50},"statements":{"total":12,"covered":6,"skipped":0,"pct":50},"branches":{"total":12,"covered":4,"skipped":0,"pct":33.33}}
45
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/priority-queue/priority-queue.ts": {"lines":{"total":94,"covered":90,"skipped":0,"pct":95.74},"functions":{"total":31,"covered":30,"skipped":0,"pct":96.77},"statements":{"total":98,"covered":94,"skipped":0,"pct":95.91},"branches":{"total":70,"covered":62,"skipped":0,"pct":88.57}}
46
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/queue/deque.ts": {"lines":{"total":63,"covered":4,"skipped":0,"pct":6.34},"functions":{"total":32,"covered":0,"skipped":0,"pct":0},"statements":{"total":68,"covered":4,"skipped":0,"pct":5.88},"branches":{"total":31,"covered":0,"skipped":0,"pct":0}}
47
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/queue/index.ts": {"lines":{"total":2,"covered":2,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":2,"covered":2,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
48
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/queue/queue.ts": {"lines":{"total":35,"covered":22,"skipped":0,"pct":62.85},"functions":{"total":22,"covered":11,"skipped":0,"pct":50},"statements":{"total":37,"covered":23,"skipped":0,"pct":62.16},"branches":{"total":12,"covered":4,"skipped":0,"pct":33.33}}
49
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/stack/index.ts": {"lines":{"total":1,"covered":1,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":1,"covered":1,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
50
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/stack/stack.ts": {"lines":{"total":14,"covered":1,"skipped":0,"pct":7.14},"functions":{"total":10,"covered":0,"skipped":0,"pct":0},"statements":{"total":16,"covered":1,"skipped":0,"pct":6.25},"branches":{"total":6,"covered":0,"skipped":0,"pct":0}}
51
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/tree/index.ts": {"lines":{"total":1,"covered":1,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":1,"covered":1,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
52
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/tree/tree.ts": {"lines":{"total":27,"covered":1,"skipped":0,"pct":3.7},"functions":{"total":10,"covered":0,"skipped":0,"pct":0},"statements":{"total":29,"covered":1,"skipped":0,"pct":3.44},"branches":{"total":10,"covered":0,"skipped":0,"pct":0}}
53
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/trie/index.ts": {"lines":{"total":1,"covered":1,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":1,"covered":1,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
54
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/trie/trie.ts": {"lines":{"total":96,"covered":2,"skipped":0,"pct":2.08},"functions":{"total":22,"covered":0,"skipped":0,"pct":0},"statements":{"total":105,"covered":2,"skipped":0,"pct":1.9},"branches":{"total":32,"covered":0,"skipped":0,"pct":0}}
55
+ ,"/Users/revone/projects/data-structure-typed/src/interfaces/index.ts": {"lines":{"total":15,"covered":15,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":15,"covered":15,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
56
+ ,"/Users/revone/projects/data-structure-typed/src/types/index.ts": {"lines":{"total":3,"covered":3,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":3,"covered":3,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
57
+ ,"/Users/revone/projects/data-structure-typed/src/types/data-structures/abstract-binary-tree.ts": {"lines":{"total":11,"covered":11,"skipped":0,"pct":100},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":11,"covered":11,"skipped":0,"pct":100},"branches":{"total":4,"covered":4,"skipped":0,"pct":100}}
58
+ ,"/Users/revone/projects/data-structure-typed/src/types/data-structures/bst.ts": {"lines":{"total":1,"covered":1,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":4,"covered":4,"skipped":0,"pct":100},"branches":{"total":2,"covered":2,"skipped":0,"pct":100}}
59
+ ,"/Users/revone/projects/data-structure-typed/src/types/data-structures/directed-graph.ts": {"lines":{"total":4,"covered":4,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":4,"covered":4,"skipped":0,"pct":100},"branches":{"total":2,"covered":2,"skipped":0,"pct":100}}
60
+ ,"/Users/revone/projects/data-structure-typed/src/types/data-structures/index.ts": {"lines":{"total":15,"covered":15,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":15,"covered":15,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
61
+ ,"/Users/revone/projects/data-structure-typed/src/types/data-structures/rb-tree.ts": {"lines":{"total":1,"covered":1,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":3,"covered":3,"skipped":0,"pct":100},"branches":{"total":2,"covered":2,"skipped":0,"pct":100}}
62
+ ,"/Users/revone/projects/data-structure-typed/src/types/utils/index.ts": {"lines":{"total":2,"covered":2,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":2,"covered":2,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
63
+ ,"/Users/revone/projects/data-structure-typed/src/utils/index.ts": {"lines":{"total":1,"covered":1,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":1,"covered":1,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
64
+ ,"/Users/revone/projects/data-structure-typed/src/utils/utils.ts": {"lines":{"total":38,"covered":31,"skipped":0,"pct":81.57},"functions":{"total":15,"covered":10,"skipped":0,"pct":66.66},"statements":{"total":49,"covered":40,"skipped":0,"pct":81.63},"branches":{"total":11,"covered":7,"skipped":0,"pct":63.63}}
65
+ ,"/Users/revone/projects/data-structure-typed/test/utils/index.ts": {"lines":{"total":2,"covered":2,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":2,"covered":2,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
66
+ ,"/Users/revone/projects/data-structure-typed/test/utils/magnitude.ts": {"lines":{"total":3,"covered":3,"skipped":0,"pct":100},"functions":{"total":0,"covered":0,"skipped":0,"pct":100},"statements":{"total":3,"covered":3,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
67
+ ,"/Users/revone/projects/data-structure-typed/test/utils/number.ts": {"lines":{"total":2,"covered":2,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":2,"covered":2,"skipped":0,"pct":100},"branches":{"total":0,"covered":0,"skipped":0,"pct":100}}
68
+ }
@@ -371,7 +371,7 @@
371
371
  <div class='footer quiet pad2 space-top1 center small'>
372
372
  Code coverage generated by
373
373
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
374
- at 2023-09-21T16:58:55.114Z
374
+ at 2023-09-22T03:26:43.997Z
375
375
  </div>
376
376
  <script src="prettify.js"></script>
377
377
  <script>
@@ -73,7 +73,7 @@
73
73
  <div class='footer quiet pad2 space-top1 center small'>
74
74
  Code coverage generated by
75
75
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
76
- at 2023-09-21T16:58:55.114Z
76
+ at 2023-09-22T03:26:43.997Z
77
77
  </div>
78
78
  <script src="../../../prettify.js"></script>
79
79
  <script>
@@ -1690,7 +1690,11 @@
1690
1690
  <a name='L1625'></a><a href='#L1625'>1625</a>
1691
1691
  <a name='L1626'></a><a href='#L1626'>1626</a>
1692
1692
  <a name='L1627'></a><a href='#L1627'>1627</a>
1693
- <a name='L1628'></a><a href='#L1628'>1628</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
1693
+ <a name='L1628'></a><a href='#L1628'>1628</a>
1694
+ <a name='L1629'></a><a href='#L1629'>1629</a>
1695
+ <a name='L1630'></a><a href='#L1630'>1630</a>
1696
+ <a name='L1631'></a><a href='#L1631'>1631</a>
1697
+ <a name='L1632'></a><a href='#L1632'>1632</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
1694
1698
  <span class="cline-any cline-neutral">&nbsp;</span>
1695
1699
  <span class="cline-any cline-neutral">&nbsp;</span>
1696
1700
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1722,6 +1726,9 @@
1722
1726
  <span class="cline-any cline-neutral">&nbsp;</span>
1723
1727
  <span class="cline-any cline-neutral">&nbsp;</span>
1724
1728
  <span class="cline-any cline-neutral">&nbsp;</span>
1729
+ <span class="cline-any cline-neutral">&nbsp;</span>
1730
+ <span class="cline-any cline-neutral">&nbsp;</span>
1731
+ <span class="cline-any cline-neutral">&nbsp;</span>
1725
1732
  <span class="cline-any cline-yes">218x</span>
1726
1733
  <span class="cline-any cline-yes">218x</span>
1727
1734
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1832,6 +1839,7 @@
1832
1839
  <span class="cline-any cline-neutral">&nbsp;</span>
1833
1840
  <span class="cline-any cline-neutral">&nbsp;</span>
1834
1841
  <span class="cline-any cline-neutral">&nbsp;</span>
1842
+ <span class="cline-any cline-neutral">&nbsp;</span>
1835
1843
  <span class="cline-any cline-yes">8x</span>
1836
1844
  <span class="cline-any cline-yes">2x</span>
1837
1845
  <span class="cline-any cline-yes">2x</span>
@@ -3339,8 +3347,11 @@ import type {
3339
3347
  import {AbstractBinaryTreeOptions, FamilyPosition, LoopType} from '../../types';
3340
3348
  import {IAbstractBinaryTree, IAbstractBinaryTreeNode} from '../../interfaces';
3341
3349
  &nbsp;
3342
- export abstract class AbstractBinaryTreeNode&lt;T = any,
3343
- NEIGHBOR extends AbstractBinaryTreeNode&lt;T, NEIGHBOR&gt; = AbstractBinaryTreeNodeNested&lt;T&gt;&gt; implements IAbstractBinaryTreeNode&lt;T, NEIGHBOR&gt; {
3350
+ export abstract class AbstractBinaryTreeNode&lt;
3351
+ T = any,
3352
+ NEIGHBOR extends AbstractBinaryTreeNode&lt;T, NEIGHBOR&gt; = AbstractBinaryTreeNodeNested&lt;T&gt;
3353
+ &gt; implements IAbstractBinaryTreeNode&lt;T, NEIGHBOR&gt;
3354
+ {
3344
3355
  /**
3345
3356
  * The constructor function initializes a BinaryTreeNode object with an id and an optional value.
3346
3357
  * @param {BinaryTreeNodeId} id - The `id` parameter is of type `BinaryTreeNodeId` and represents the unique identifier
@@ -3452,7 +3463,8 @@ export abstract class AbstractBinaryTreeNode&lt;T = any,
3452
3463
  }
3453
3464
  &nbsp;
3454
3465
  export abstract class AbstractBinaryTree&lt;N extends AbstractBinaryTreeNode&lt;N['val'], N&gt; = AbstractBinaryTreeNode&gt;
3455
- implements IAbstractBinaryTree&lt;N&gt; {
3466
+ implements IAbstractBinaryTree&lt;N&gt;
3467
+ {
3456
3468
  /**
3457
3469
  * The protected constructor initializes the options for an abstract binary tree.
3458
3470
  * @param {AbstractBinaryTreeOptions} [options] - An optional object that contains configuration options for the binary
@@ -3762,7 +3774,7 @@ export abstract class AbstractBinaryTree&lt;N extends AbstractBinaryTreeNode&lt;
3762
3774
  <span class="cstat-no" title="statement not covered" > return -1;</span>
3763
3775
  }
3764
3776
  &nbsp;
3765
- const stack: { node: N; depth: number }[] = [{node: beginRoot, depth: 0}];
3777
+ const stack: {node: N; depth: number}[] = [{node: beginRoot, depth: 0}];
3766
3778
  let maxHeight = 0;
3767
3779
  &nbsp;
3768
3780
  while (stack.length &gt; 0) {
@@ -4401,7 +4413,7 @@ export abstract class AbstractBinaryTree&lt;N extends AbstractBinaryTreeNode&lt;
4401
4413
  <span class="cstat-no" title="statement not covered" > this._clearResults();</span>
4402
4414
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!this.root) <span class="cstat-no" title="statement not covered" >return this._getResultByPropertyName(nodeOrPropertyName);</span></span>
4403
4415
  // 0: visit, 1: print
4404
- const stack: { opt: 0 | 1; node: N | null | undefined }[] = <span class="cstat-no" title="statement not covered" >[{opt: 0, node: this.root}];</span>
4416
+ const stack: {opt: 0 | 1; node: N | null | undefined}[] = <span class="cstat-no" title="statement not covered" >[{opt: 0, node: this.root}];</span>
4405
4417
  &nbsp;
4406
4418
  <span class="cstat-no" title="statement not covered" > while (stack.length &gt; 0) {</span>
4407
4419
  const cur = <span class="cstat-no" title="statement not covered" >stack.pop();</span>
@@ -4951,7 +4963,7 @@ export abstract class AbstractBinaryTree&lt;N extends AbstractBinaryTreeNode&lt;
4951
4963
  <div class='footer quiet pad2 space-top1 center small'>
4952
4964
  Code coverage generated by
4953
4965
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
4954
- at 2023-09-21T16:58:55.114Z
4966
+ at 2023-09-22T03:26:43.997Z
4955
4967
  </div>
4956
4968
  <script src="../../../prettify.js"></script>
4957
4969
  <script>
@@ -690,9 +690,9 @@
690
690
  * @copyright Copyright (c) 2022 Tyler Zeng &lt;zrwusa@gmail.com&gt;
691
691
  * @license MIT License
692
692
  */
693
- import { BST, BSTNode } from './bst';
694
- import type { AVLTreeNodeNested, AVLTreeOptions, BinaryTreeDeletedResult, BinaryTreeNodeId } from '../../types';
695
- import { IAVLTree, IAVLTreeNode } from '../../interfaces';
693
+ import {BST, BSTNode} from './bst';
694
+ import type {AVLTreeNodeNested, AVLTreeOptions, BinaryTreeDeletedResult, BinaryTreeNodeId} from '../../types';
695
+ import {IAVLTree, IAVLTreeNode} from '../../interfaces';
696
696
  &nbsp;
697
697
  export class AVLTreeNode&lt;T = any, NEIGHBOR extends AVLTreeNode&lt;T, NEIGHBOR&gt; = AVLTreeNodeNested&lt;T&gt;&gt;
698
698
  extends BSTNode&lt;T, NEIGHBOR&gt;
@@ -752,7 +752,7 @@ export class AVLTree&lt;N extends AVLTreeNode&lt;N['val'], N&gt; = AVLTreeNode&g
752
752
  */
753
753
  override remove(id: BinaryTreeNodeId, isUpdateAllLeftSum?: boolean): BinaryTreeDeletedResult&lt;N&gt;[] {
754
754
  const deletedResults = super.remove(id, isUpdateAllLeftSum);
755
- for (const { needBalanced } of deletedResults) {
755
+ for (const {needBalanced} of deletedResults) {
756
756
  if (needBalanced) {
757
757
  this._balancePath(needBalanced);
758
758
  }
@@ -1000,7 +1000,7 @@ export class AVLTree&lt;N extends AVLTreeNode&lt;N['val'], N&gt; = AVLTreeNode&g
1000
1000
  <div class='footer quiet pad2 space-top1 center small'>
1001
1001
  Code coverage generated by
1002
1002
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1003
- at 2023-09-21T16:58:55.114Z
1003
+ at 2023-09-22T03:26:43.997Z
1004
1004
  </div>
1005
1005
  <script src="../../../prettify.js"></script>
1006
1006
  <script>
@@ -73,7 +73,7 @@
73
73
  <div class='footer quiet pad2 space-top1 center small'>
74
74
  Code coverage generated by
75
75
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
76
- at 2023-09-21T16:58:55.114Z
76
+ at 2023-09-22T03:26:43.997Z
77
77
  </div>
78
78
  <script src="../../../prettify.js"></script>
79
79
  <script>
@@ -298,7 +298,7 @@ export class BinaryIndexedTree {
298
298
  <div class='footer quiet pad2 space-top1 center small'>
299
299
  Code coverage generated by
300
300
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
301
- at 2023-09-21T16:58:55.114Z
301
+ at 2023-09-22T03:26:43.997Z
302
302
  </div>
303
303
  <script src="../../../prettify.js"></script>
304
304
  <script>
@@ -165,9 +165,9 @@
165
165
  * @license MIT License
166
166
  */
167
167
  &nbsp;
168
- import type { BinaryTreeNodeId, BinaryTreeNodeNested, BinaryTreeOptions } from '../../types';
169
- import { AbstractBinaryTree, AbstractBinaryTreeNode } from './abstract-binary-tree';
170
- import { IBinaryTree, IBinaryTreeNode } from '../../interfaces';
168
+ import type {BinaryTreeNodeId, BinaryTreeNodeNested, BinaryTreeOptions} from '../../types';
169
+ import {AbstractBinaryTree, AbstractBinaryTreeNode} from './abstract-binary-tree';
170
+ import {IBinaryTree, IBinaryTreeNode} from '../../interfaces';
171
171
  &nbsp;
172
172
  export class BinaryTreeNode&lt;T = any, NEIGHBOR extends BinaryTreeNode&lt;T, NEIGHBOR&gt; = BinaryTreeNodeNested&lt;T&gt;&gt;
173
173
  extends AbstractBinaryTreeNode&lt;T, NEIGHBOR&gt;
@@ -211,7 +211,7 @@ export class BinaryTree&lt;N extends BinaryTreeNode&lt;N['val'], N&gt; = BinaryT
211
211
  <div class='footer quiet pad2 space-top1 center small'>
212
212
  Code coverage generated by
213
213
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
214
- at 2023-09-21T16:58:55.114Z
214
+ at 2023-09-22T03:26:43.997Z
215
215
  </div>
216
216
  <script src="../../../prettify.js"></script>
217
217
  <script>
@@ -600,19 +600,7 @@
600
600
  <a name='L535'></a><a href='#L535'>535</a>
601
601
  <a name='L536'></a><a href='#L536'>536</a>
602
602
  <a name='L537'></a><a href='#L537'>537</a>
603
- <a name='L538'></a><a href='#L538'>538</a>
604
- <a name='L539'></a><a href='#L539'>539</a>
605
- <a name='L540'></a><a href='#L540'>540</a>
606
- <a name='L541'></a><a href='#L541'>541</a>
607
- <a name='L542'></a><a href='#L542'>542</a>
608
- <a name='L543'></a><a href='#L543'>543</a>
609
- <a name='L544'></a><a href='#L544'>544</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
610
- <span class="cline-any cline-neutral">&nbsp;</span>
611
- <span class="cline-any cline-neutral">&nbsp;</span>
612
- <span class="cline-any cline-neutral">&nbsp;</span>
613
- <span class="cline-any cline-neutral">&nbsp;</span>
614
- <span class="cline-any cline-neutral">&nbsp;</span>
615
- <span class="cline-any cline-neutral">&nbsp;</span>
603
+ <a name='L538'></a><a href='#L538'>538</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
616
604
  <span class="cline-any cline-neutral">&nbsp;</span>
617
605
  <span class="cline-any cline-neutral">&nbsp;</span>
618
606
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1156,16 +1144,10 @@
1156
1144
  * @copyright Copyright (c) 2022 Tyler Zeng &lt;zrwusa@gmail.com&gt;
1157
1145
  * @license MIT License
1158
1146
  */
1159
- import type {
1160
- BinaryTreeNodeId,
1161
- BinaryTreeNodePropertyName,
1162
- BSTComparator,
1163
- BSTNodeNested,
1164
- BSTOptions
1165
- } from '../../types';
1166
- import { CP, LoopType } from '../../types';
1167
- import { BinaryTree, BinaryTreeNode } from './binary-tree';
1168
- import { IBST, IBSTNode } from '../../interfaces';
1147
+ import type {BinaryTreeNodeId, BinaryTreeNodePropertyName, BSTComparator, BSTNodeNested, BSTOptions} from '../../types';
1148
+ import {CP, LoopType} from '../../types';
1149
+ import {BinaryTree, BinaryTreeNode} from './binary-tree';
1150
+ import {IBST, IBSTNode} from '../../interfaces';
1169
1151
  &nbsp;
1170
1152
  export class BSTNode&lt;T = any, NEIGHBOR extends BSTNode&lt;T, NEIGHBOR&gt; = BSTNodeNested&lt;T&gt;&gt;
1171
1153
  extends BinaryTreeNode&lt;T, NEIGHBOR&gt;
@@ -1184,7 +1166,7 @@ export class BST&lt;N extends BSTNode&lt;N['val'], N&gt; = BSTNode&gt; extends B
1184
1166
  constructor(options?: BSTOptions) {
1185
1167
  super(options);
1186
1168
  if (options !== undefined) {
1187
- const { comparator } = options;
1169
+ const {comparator} = options;
1188
1170
  <span class="missing-if-branch" title="if path not taken" >I</span>if (comparator !== undefined) {
1189
1171
  <span class="cstat-no" title="statement not covered" > this._comparator = comparator;</span>
1190
1172
  }
@@ -1699,7 +1681,7 @@ export class BST&lt;N extends BSTNode&lt;N['val'], N&gt; = BSTNode&gt; extends B
1699
1681
  <div class='footer quiet pad2 space-top1 center small'>
1700
1682
  Code coverage generated by
1701
1683
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1702
- at 2023-09-21T16:58:55.114Z
1684
+ at 2023-09-22T03:26:43.997Z
1703
1685
  </div>
1704
1686
  <script src="../../../prettify.js"></script>
1705
1687
  <script>
@@ -281,7 +281,7 @@
281
281
  <div class='footer quiet pad2 space-top1 center small'>
282
282
  Code coverage generated by
283
283
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
284
- at 2023-09-21T16:58:55.114Z
284
+ at 2023-09-22T03:26:43.997Z
285
285
  </div>
286
286
  <script src="../../../prettify.js"></script>
287
287
  <script>
@@ -106,7 +106,7 @@ export * from './two-three-tree';
106
106
  <div class='footer quiet pad2 space-top1 center small'>
107
107
  Code coverage generated by
108
108
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
109
- at 2023-09-21T16:58:55.114Z
109
+ at 2023-09-22T03:26:43.997Z
110
110
  </div>
111
111
  <script src="../../../prettify.js"></script>
112
112
  <script>
@@ -265,9 +265,9 @@
265
265
  <span class="cline-any cline-neutral">&nbsp;</span>
266
266
  <span class="cline-any cline-neutral">&nbsp;</span>
267
267
  <span class="cline-any cline-neutral">&nbsp;</span>
268
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { BinaryTreeNodeId, RBColor, RBTreeNodeNested, RBTreeOptions } from '../../types';
269
- import { IRBTree, IRBTreeNode } from '../../interfaces/rb-tree';
270
- import { BST, BSTNode } from './bst';
268
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import {BinaryTreeNodeId, RBColor, RBTreeNodeNested, RBTreeOptions} from '../../types';
269
+ import {IRBTree, IRBTreeNode} from '../../interfaces/rb-tree';
270
+ import {BST, BSTNode} from './bst';
271
271
  &nbsp;
272
272
  export class RBTreeNode&lt;T = any, NEIGHBOR extends RBTreeNode&lt;T, NEIGHBOR&gt; = RBTreeNodeNested&lt;T&gt;&gt;
273
273
  extends BSTNode&lt;T, NEIGHBOR&gt;
@@ -373,7 +373,7 @@ export class RBTree&lt;N extends RBTreeNode&lt;N['val'], N&gt; = RBTreeNode&gt;
373
373
  <div class='footer quiet pad2 space-top1 center small'>
374
374
  Code coverage generated by
375
375
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
376
- at 2023-09-21T16:58:55.114Z
376
+ at 2023-09-22T03:26:43.997Z
377
377
  </div>
378
378
  <script src="../../../prettify.js"></script>
379
379
  <script>
@@ -555,7 +555,7 @@
555
555
  * @license MIT License
556
556
  */
557
557
  &nbsp;
558
- import type { SegmentTreeNodeVal } from '../../types';
558
+ import type {SegmentTreeNodeVal} from '../../types';
559
559
  &nbsp;
560
560
  export class SegmentTreeNode {
561
561
  <span class="fstat-no" title="function not covered" > constructor(s</span>tart: number, end: number, sum: number, val?: SegmentTreeNodeVal | null) {
@@ -796,7 +796,7 @@ export class SegmentTree {
796
796
  <div class='footer quiet pad2 space-top1 center small'>
797
797
  Code coverage generated by
798
798
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
799
- at 2023-09-21T16:58:55.114Z
799
+ at 2023-09-22T03:26:43.997Z
800
800
  </div>
801
801
  <script src="../../../prettify.js"></script>
802
802
  <script>
@@ -73,7 +73,7 @@
73
73
  <div class='footer quiet pad2 space-top1 center small'>
74
74
  Code coverage generated by
75
75
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
76
- at 2023-09-21T16:58:55.114Z
76
+ at 2023-09-22T03:26:43.997Z
77
77
  </div>
78
78
  <script src="../../../prettify.js"></script>
79
79
  <script>
@@ -1470,10 +1470,10 @@
1470
1470
  * @copyright Copyright (c) 2022 Tyler Zeng &lt;zrwusa@gmail.com&gt;
1471
1471
  * @license MIT License
1472
1472
  */
1473
- import type { BinaryTreeNodeId, TreeMultisetNodeNested, TreeMultisetOptions } from '../../types';
1474
- import { BinaryTreeDeletedResult, CP, DFSOrderPattern, FamilyPosition, LoopType } from '../../types';
1475
- import { ITreeMultiset, ITreeMultisetNode } from '../../interfaces';
1476
- import { AVLTree, AVLTreeNode } from './avl-tree';
1473
+ import type {BinaryTreeNodeId, TreeMultisetNodeNested, TreeMultisetOptions} from '../../types';
1474
+ import {BinaryTreeDeletedResult, CP, DFSOrderPattern, FamilyPosition, LoopType} from '../../types';
1475
+ import {ITreeMultiset, ITreeMultisetNode} from '../../interfaces';
1476
+ import {AVLTree, AVLTreeNode} from './avl-tree';
1477
1477
  &nbsp;
1478
1478
  export class TreeMultisetNode&lt;T = any, NEIGHBOR extends TreeMultisetNode&lt;T, NEIGHBOR&gt; = TreeMultisetNodeNested&lt;T&gt;&gt;
1479
1479
  extends AVLTreeNode&lt;T, NEIGHBOR&gt;
@@ -1519,7 +1519,7 @@ export class TreeMultiset&lt;N extends TreeMultisetNode&lt;N['val'], N&gt; = Tre
1519
1519
  * TreeMultiset.
1520
1520
  */
1521
1521
  constructor(options?: TreeMultisetOptions) {
1522
- super({ ...options });
1522
+ super({...options});
1523
1523
  }
1524
1524
  &nbsp;
1525
1525
  private _count = 0;
@@ -1549,7 +1549,7 @@ export class TreeMultiset&lt;N extends TreeMultisetNode&lt;N['val'], N&gt; = Tre
1549
1549
  * @returns the `destNode` after swapping its values with the `srcNode`.
1550
1550
  */
1551
1551
  override swapLocation(srcNode: N, destNode: N): N {
1552
- const { id, val, count, height } = destNode;
1552
+ const {id, val, count, height} = destNode;
1553
1553
  const tempNode = this.createNode(id, val, count);
1554
1554
  if (tempNode) {
1555
1555
  tempNode.height = height;
@@ -1786,7 +1786,7 @@ export class TreeMultiset&lt;N extends TreeMultisetNode&lt;N['val'], N&gt; = Tre
1786
1786
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!parent) {
1787
1787
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (curr.right !== undefined) <span class="cstat-no" title="statement not covered" >this._setRoot(curr.right);</span></span>
1788
1788
  } else {
1789
- const { familyPosition: fp } = curr;
1789
+ const {familyPosition: fp} = curr;
1790
1790
  if (fp === FamilyPosition.LEFT || fp === FamilyPosition.ROOT_LEFT) {
1791
1791
  parent.left = curr.right;
1792
1792
  } else if (fp === FamilyPosition.RIGHT || fp === FamilyPosition.ROOT_RIGHT) {
@@ -1814,7 +1814,7 @@ export class TreeMultiset&lt;N extends TreeMultisetNode&lt;N['val'], N&gt; = Tre
1814
1814
  this._setCount(this.count - orgCurrent.count);
1815
1815
  }
1816
1816
  &nbsp;
1817
- bstDeletedResult.push({ deleted: orgCurrent, needBalanced });
1817
+ bstDeletedResult.push({deleted: orgCurrent, needBalanced});
1818
1818
  &nbsp;
1819
1819
  if (needBalanced) {
1820
1820
  this._balancePath(needBalanced);
@@ -2170,7 +2170,7 @@ export class TreeMultiset&lt;N extends TreeMultisetNode&lt;N['val'], N&gt; = Tre
2170
2170
  <div class='footer quiet pad2 space-top1 center small'>
2171
2171
  Code coverage generated by
2172
2172
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
2173
- at 2023-09-21T16:58:55.114Z
2173
+ at 2023-09-22T03:26:43.997Z
2174
2174
  </div>
2175
2175
  <script src="../../../prettify.js"></script>
2176
2176
  <script>
@@ -73,7 +73,7 @@
73
73
  <div class='footer quiet pad2 space-top1 center small'>
74
74
  Code coverage generated by
75
75
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
76
- at 2023-09-21T16:58:55.114Z
76
+ at 2023-09-22T03:26:43.997Z
77
77
  </div>
78
78
  <script src="../../../prettify.js"></script>
79
79
  <script>