data-structure-typed 1.32.0 → 1.32.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (348) 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 +20 -3
  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 +11 -12
  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/src/data-structures/binary-tree/aa-tree.ts +1 -0
  257. package/src/data-structures/binary-tree/abstract-binary-tree.ts +1631 -0
  258. package/src/data-structures/binary-tree/avl-tree.ts +310 -0
  259. package/src/data-structures/binary-tree/b-tree.ts +1 -0
  260. package/src/data-structures/binary-tree/binary-indexed-tree.ts +76 -0
  261. package/src/data-structures/binary-tree/binary-tree.ts +47 -0
  262. package/src/data-structures/binary-tree/bst.ts +537 -0
  263. package/src/data-structures/binary-tree/index.ts +12 -0
  264. package/src/data-structures/binary-tree/rb-tree.ts +101 -0
  265. package/src/data-structures/binary-tree/segment-tree.ts +242 -0
  266. package/src/data-structures/binary-tree/splay-tree.ts +1 -0
  267. package/src/data-structures/binary-tree/tree-multiset.ts +700 -0
  268. package/src/data-structures/binary-tree/two-three-tree.ts +1 -0
  269. package/src/data-structures/diagrams/README.md +5 -0
  270. package/src/data-structures/graph/abstract-graph.ts +1040 -0
  271. package/src/data-structures/graph/directed-graph.ts +470 -0
  272. package/src/data-structures/graph/index.ts +4 -0
  273. package/src/data-structures/graph/map-graph.ts +129 -0
  274. package/src/data-structures/graph/undirected-graph.ts +274 -0
  275. package/src/data-structures/hash/coordinate-map.ts +67 -0
  276. package/src/data-structures/hash/coordinate-set.ts +56 -0
  277. package/src/data-structures/hash/hash-table.ts +1 -0
  278. package/src/data-structures/hash/index.ts +6 -0
  279. package/src/data-structures/hash/pair.ts +1 -0
  280. package/src/data-structures/hash/tree-map.ts +1 -0
  281. package/src/data-structures/hash/tree-set.ts +1 -0
  282. package/src/data-structures/heap/heap.ts +212 -0
  283. package/src/data-structures/heap/index.ts +3 -0
  284. package/src/data-structures/heap/max-heap.ts +31 -0
  285. package/src/data-structures/heap/min-heap.ts +32 -0
  286. package/src/data-structures/index.ts +11 -0
  287. package/src/data-structures/linked-list/doubly-linked-list.ts +573 -0
  288. package/src/data-structures/linked-list/index.ts +3 -0
  289. package/src/data-structures/linked-list/singly-linked-list.ts +501 -0
  290. package/src/data-structures/linked-list/skip-linked-list.ts +1 -0
  291. package/src/data-structures/matrix/index.ts +4 -0
  292. package/src/data-structures/matrix/matrix.ts +27 -0
  293. package/src/data-structures/matrix/matrix2d.ts +212 -0
  294. package/src/data-structures/matrix/navigator.ts +121 -0
  295. package/src/data-structures/matrix/vector2d.ts +316 -0
  296. package/src/data-structures/priority-queue/index.ts +3 -0
  297. package/src/data-structures/priority-queue/max-priority-queue.ts +56 -0
  298. package/src/data-structures/priority-queue/min-priority-queue.ts +57 -0
  299. package/src/data-structures/priority-queue/priority-queue.ts +359 -0
  300. package/src/data-structures/queue/deque.ts +297 -0
  301. package/src/data-structures/queue/index.ts +2 -0
  302. package/src/data-structures/queue/queue.ts +191 -0
  303. package/src/data-structures/stack/index.ts +1 -0
  304. package/src/data-structures/stack/stack.ts +98 -0
  305. package/src/data-structures/tree/index.ts +1 -0
  306. package/src/data-structures/tree/tree.ts +69 -0
  307. package/src/data-structures/trie/index.ts +1 -0
  308. package/src/data-structures/trie/trie.ts +225 -0
  309. package/src/index.ts +4 -0
  310. package/src/interfaces/abstract-binary-tree.ts +191 -0
  311. package/src/interfaces/abstract-graph.ts +31 -0
  312. package/src/interfaces/avl-tree.ts +25 -0
  313. package/src/interfaces/binary-tree.ts +6 -0
  314. package/src/interfaces/bst.ts +31 -0
  315. package/src/interfaces/directed-graph.ts +20 -0
  316. package/src/interfaces/doubly-linked-list.ts +1 -0
  317. package/src/interfaces/heap.ts +1 -0
  318. package/src/interfaces/index.ts +15 -0
  319. package/src/interfaces/navigator.ts +1 -0
  320. package/src/interfaces/priority-queue.ts +1 -0
  321. package/src/interfaces/rb-tree.ts +9 -0
  322. package/src/interfaces/segment-tree.ts +1 -0
  323. package/src/interfaces/singly-linked-list.ts +1 -0
  324. package/src/interfaces/tree-multiset.ts +7 -0
  325. package/src/interfaces/undirected-graph.ts +6 -0
  326. package/src/types/data-structures/abstract-binary-tree.ts +50 -0
  327. package/src/types/data-structures/abstract-graph.ts +11 -0
  328. package/src/types/data-structures/avl-tree.ts +5 -0
  329. package/src/types/data-structures/binary-tree.ts +5 -0
  330. package/src/types/data-structures/bst.ts +13 -0
  331. package/src/types/data-structures/directed-graph.ts +8 -0
  332. package/src/types/data-structures/doubly-linked-list.ts +1 -0
  333. package/src/types/data-structures/heap.ts +5 -0
  334. package/src/types/data-structures/index.ts +15 -0
  335. package/src/types/data-structures/map-graph.ts +1 -0
  336. package/src/types/data-structures/navigator.ts +13 -0
  337. package/src/types/data-structures/priority-queue.ts +9 -0
  338. package/src/types/data-structures/rb-tree.ts +8 -0
  339. package/src/types/data-structures/segment-tree.ts +1 -0
  340. package/src/types/data-structures/singly-linked-list.ts +1 -0
  341. package/src/types/data-structures/tree-multiset.ts +6 -0
  342. package/src/types/helpers.ts +1 -0
  343. package/src/types/index.ts +3 -0
  344. package/src/types/utils/index.ts +2 -0
  345. package/src/types/utils/utils.ts +6 -0
  346. package/src/types/utils/validate-type.ts +35 -0
  347. package/src/utils/index.ts +1 -0
  348. package/src/utils/utils.ts +79 -0
@@ -2150,10 +2150,10 @@
2150
2150
  * @copyright Copyright (c) 2022 Tyler Zeng <zrwusa@gmail.com>
2151
2151
  * @license MIT License
2152
2152
  */
2153
- import { arrayRemove, uuidV4 } from '../../utils';
2154
- import { PriorityQueue } from '../priority-queue';
2155
- import type { DijkstraResult, VertexId } from '../../types';
2156
- import { IAbstractGraph } from '../../interfaces';
2153
+ import {arrayRemove, uuidV4} from '../../utils';
2154
+ import {PriorityQueue} from '../priority-queue';
2155
+ import type {DijkstraResult, VertexId} from '../../types';
2156
+ import {IAbstractGraph} from '../../interfaces';
2157
2157
   
2158
2158
  export abstract class AbstractVertex<T = any> {
2159
2159
  /**
@@ -2675,7 +2675,7 @@ export abstract class AbstractGraph<
2675
2675
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (genPaths) {</span>
2676
2676
  <span class="cstat-no" title="statement not covered" > getPaths(destVertex);</span>
2677
2677
  }
2678
- <span class="cstat-no" title="statement not covered" > return { distMap, preMap, seen, paths, minDist, minPath };</span>
2678
+ <span class="cstat-no" title="statement not covered" > return {distMap, preMap, seen, paths, minDist, minPath};</span>
2679
2679
  }
2680
2680
  const neighbors = this.getNeighbors(cur);
2681
2681
  for (const neighbor of neighbors) {
@@ -2709,7 +2709,7 @@ export abstract class AbstractGraph&lt;
2709
2709
  &nbsp;
2710
2710
  genPaths &amp;&amp; getPaths(minDest);
2711
2711
  &nbsp;
2712
- return { distMap, preMap, seen, paths, minDist, minPath };
2712
+ return {distMap, preMap, seen, paths, minDist, minPath};
2713
2713
  }
2714
2714
  &nbsp;
2715
2715
  /**
@@ -2762,10 +2762,10 @@ export abstract class AbstractGraph&lt;
2762
2762
  if (vertexOrId instanceof AbstractVertex) distMap.set(vertexOrId, Infinity);
2763
2763
  }
2764
2764
  &nbsp;
2765
- const heap = new PriorityQueue&lt;{ id: number; val: V }&gt;({
2765
+ const heap = new PriorityQueue&lt;{id: number; val: V}&gt;({
2766
2766
  comparator: (a, b) =&gt; a.id - b.id
2767
2767
  });
2768
- heap.add({ id: 0, val: srcVertex });
2768
+ heap.add({id: 0, val: srcVertex});
2769
2769
  &nbsp;
2770
2770
  distMap.set(srcVertex, 0);
2771
2771
  preMap.set(srcVertex, null);
@@ -2806,7 +2806,7 @@ export abstract class AbstractGraph&lt;
2806
2806
  if (genPaths) {
2807
2807
  getPaths(destVertex);
2808
2808
  }
2809
- return { distMap, preMap, seen, paths, minDist, minPath };
2809
+ return {distMap, preMap, seen, paths, minDist, minPath};
2810
2810
  }
2811
2811
  const neighbors = this.getNeighbors(cur);
2812
2812
  for (const neighbor of neighbors) {
@@ -2816,7 +2816,7 @@ export abstract class AbstractGraph&lt;
2816
2816
  const distSrcToNeighbor = distMap.get(neighbor);
2817
2817
  if (distSrcToNeighbor) {
2818
2818
  if (dist + weight &lt; distSrcToNeighbor) {
2819
- heap.add({ id: dist + weight, val: neighbor });
2819
+ heap.add({id: dist + weight, val: neighbor});
2820
2820
  preMap.set(neighbor, cur);
2821
2821
  distMap.set(neighbor, dist + weight);
2822
2822
  }
@@ -2843,7 +2843,7 @@ export abstract class AbstractGraph&lt;
2843
2843
  getPaths(minDest);
2844
2844
  }
2845
2845
  &nbsp;
2846
- return { distMap, preMap, seen, paths, minDist, minPath };
2846
+ return {distMap, preMap, seen, paths, minDist, minPath};
2847
2847
  }
2848
2848
  &nbsp;
2849
2849
  /**
@@ -2880,7 +2880,7 @@ export abstract class AbstractGraph&lt;
2880
2880
  // TODO
2881
2881
  let hasNegativeCycle: boolean | undefined;
2882
2882
  <span class="missing-if-branch" title="if path not taken" >I</span>if (scanNegativeCycle) <span class="cstat-no" title="statement not covered" >hasNegativeCycle = false;</span>
2883
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!srcVertex) <span class="cstat-no" title="statement not covered" >return { hasNegativeCycle, distMap, preMap, paths, min, minPath };</span>
2883
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!srcVertex) <span class="cstat-no" title="statement not covered" >return {hasNegativeCycle, distMap, preMap, paths, min, minPath};</span>
2884
2884
  &nbsp;
2885
2885
  const vertices = this._vertices;
2886
2886
  const numOfVertices = vertices.size;
@@ -2952,7 +2952,7 @@ export abstract class AbstractGraph&lt;
2952
2952
  }
2953
2953
  }
2954
2954
  &nbsp;
2955
- return { hasNegativeCycle, distMap, preMap, paths, min, minPath };
2955
+ return {hasNegativeCycle, distMap, preMap, paths, min, minPath};
2956
2956
  }
2957
2957
  &nbsp;
2958
2958
  /**
@@ -2993,7 +2993,7 @@ export abstract class AbstractGraph&lt;
2993
2993
  * `predecessor` property is a 2D array of vertices (or `null`) representing the predecessor vertices in the shortest
2994
2994
  * path between vertices in the
2995
2995
  */
2996
- floyd(): { costs: number[][]; predecessor: (V | null)[][] } {
2996
+ floyd(): {costs: number[][]; predecessor: (V | null)[][]} {
2997
2997
  const idAndVertices = [...this._vertices];
2998
2998
  const n = idAndVertices.length;
2999
2999
  &nbsp;
@@ -3025,7 +3025,7 @@ export abstract class AbstractGraph&lt;
3025
3025
  }
3026
3026
  }
3027
3027
  }
3028
- return { costs, predecessor };
3028
+ return {costs, predecessor};
3029
3029
  }
3030
3030
  &nbsp;
3031
3031
  /**
@@ -3156,7 +3156,7 @@ export abstract class AbstractGraph&lt;
3156
3156
  });
3157
3157
  }
3158
3158
  &nbsp;
3159
- <span class="cstat-no" title="statement not covered" > return { dfnMap, lowMap, bridges, articulationPoints, SCCs, cycles };</span>
3159
+ <span class="cstat-no" title="statement not covered" > return {dfnMap, lowMap, bridges, articulationPoints, SCCs, cycles};</span>
3160
3160
  }
3161
3161
  &nbsp;
3162
3162
  protected abstract _addEdgeOnly(edge: E): boolean;
@@ -3190,7 +3190,7 @@ export abstract class AbstractGraph&lt;
3190
3190
  <div class='footer quiet pad2 space-top1 center small'>
3191
3191
  Code coverage generated by
3192
3192
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
3193
- at 2023-09-21T16:58:55.114Z
3193
+ at 2023-09-22T02:56:27.987Z
3194
3194
  </div>
3195
3195
  <script src="../../../prettify.js"></script>
3196
3196
  <script>
@@ -1010,10 +1010,10 @@
1010
1010
  * @copyright Copyright (c) 2022 Tyler Zeng &lt;zrwusa@gmail.com&gt;
1011
1011
  * @license MIT License
1012
1012
  */
1013
- import { arrayRemove } from '../../utils';
1014
- import { AbstractEdge, AbstractGraph, AbstractVertex } from './abstract-graph';
1015
- import type { TopologicalStatus, VertexId } from '../../types';
1016
- import { IDirectedGraph } from '../../interfaces';
1013
+ import {arrayRemove} from '../../utils';
1014
+ import {AbstractEdge, AbstractGraph, AbstractVertex} from './abstract-graph';
1015
+ import type {TopologicalStatus, VertexId} from '../../types';
1016
+ import {IDirectedGraph} from '../../interfaces';
1017
1017
  &nbsp;
1018
1018
  export class DirectedVertex&lt;T = number&gt; extends AbstractVertex&lt;T&gt; {
1019
1019
  /**
@@ -1480,7 +1480,7 @@ export class DirectedGraph&lt;V extends DirectedVertex&lt;any&gt; = DirectedVert
1480
1480
  <div class='footer quiet pad2 space-top1 center small'>
1481
1481
  Code coverage generated by
1482
1482
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1483
- at 2023-09-21T16:58:55.114Z
1483
+ at 2023-09-22T02:56:27.987Z
1484
1484
  </div>
1485
1485
  <script src="../../../prettify.js"></script>
1486
1486
  <script>
@@ -161,7 +161,7 @@
161
161
  <div class='footer quiet pad2 space-top1 center small'>
162
162
  Code coverage generated by
163
163
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
164
- at 2023-09-21T16:58:55.114Z
164
+ at 2023-09-22T02:56:27.987Z
165
165
  </div>
166
166
  <script src="../../../prettify.js"></script>
167
167
  <script>
@@ -82,7 +82,7 @@ export * from './map-graph';
82
82
  <div class='footer quiet pad2 space-top1 center small'>
83
83
  Code coverage generated by
84
84
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
85
- at 2023-09-21T16:58:55.114Z
85
+ at 2023-09-22T02:56:27.987Z
86
86
  </div>
87
87
  <script src="../../../prettify.js"></script>
88
88
  <script>
@@ -321,8 +321,8 @@
321
321
  <span class="cline-any cline-yes">13x</span>
322
322
  <span class="cline-any cline-neutral">&nbsp;</span>
323
323
  <span class="cline-any cline-neutral">&nbsp;</span>
324
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { MapGraphCoordinate, VertexId } from '../../types';
325
- import { DirectedEdge, DirectedGraph, DirectedVertex } from './directed-graph';
324
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import {MapGraphCoordinate, VertexId} from '../../types';
325
+ import {DirectedEdge, DirectedGraph, DirectedVertex} from './directed-graph';
326
326
  &nbsp;
327
327
  export class MapVertex&lt;T = any&gt; extends DirectedVertex&lt;T&gt; {
328
328
  /**
@@ -457,7 +457,7 @@ export class MapGraph&lt;V extends MapVertex&lt;V['val']&gt; = MapVertex, E exte
457
457
  <div class='footer quiet pad2 space-top1 center small'>
458
458
  Code coverage generated by
459
459
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
460
- at 2023-09-21T16:58:55.114Z
460
+ at 2023-09-22T02:56:27.987Z
461
461
  </div>
462
462
  <script src="../../../prettify.js"></script>
463
463
  <script>
@@ -618,10 +618,10 @@
618
618
  * @copyright Copyright (c) 2022 Tyler Zeng &lt;zrwusa@gmail.com&gt;
619
619
  * @license MIT License
620
620
  */
621
- import { arrayRemove } from '../../utils';
622
- import { AbstractEdge, AbstractGraph, AbstractVertex } from './abstract-graph';
623
- import type { VertexId } from '../../types';
624
- import { IUNDirectedGraph } from '../../interfaces';
621
+ import {arrayRemove} from '../../utils';
622
+ import {AbstractEdge, AbstractGraph, AbstractVertex} from './abstract-graph';
623
+ import type {VertexId} from '../../types';
624
+ import {IUNDirectedGraph} from '../../interfaces';
625
625
  &nbsp;
626
626
  export class UndirectedVertex&lt;T = number&gt; extends AbstractVertex&lt;T&gt; {
627
627
  /**
@@ -892,7 +892,7 @@ export class UndirectedGraph&lt;
892
892
  <div class='footer quiet pad2 space-top1 center small'>
893
893
  Code coverage generated by
894
894
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
895
- at 2023-09-21T16:58:55.114Z
895
+ at 2023-09-22T02:56:27.987Z
896
896
  </div>
897
897
  <script src="../../../prettify.js"></script>
898
898
  <script>
@@ -271,7 +271,7 @@ export class CoordinateMap&lt;V&gt; extends Map&lt;any, V&gt; {
271
271
  <div class='footer quiet pad2 space-top1 center small'>
272
272
  Code coverage generated by
273
273
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
274
- at 2023-09-21T16:58:55.114Z
274
+ at 2023-09-22T02:56:27.987Z
275
275
  </div>
276
276
  <script src="../../../prettify.js"></script>
277
277
  <script>
@@ -238,7 +238,7 @@ export class CoordinateSet extends Set&lt;any&gt; {
238
238
  <div class='footer quiet pad2 space-top1 center small'>
239
239
  Code coverage generated by
240
240
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
241
- at 2023-09-21T16:58:55.114Z
241
+ at 2023-09-22T02:56:27.987Z
242
242
  </div>
243
243
  <script src="../../../prettify.js"></script>
244
244
  <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-22T02:56:27.987Z
77
77
  </div>
78
78
  <script src="../../../prettify.js"></script>
79
79
  <script>
@@ -191,7 +191,7 @@
191
191
  <div class='footer quiet pad2 space-top1 center small'>
192
192
  Code coverage generated by
193
193
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
194
- at 2023-09-21T16:58:55.114Z
194
+ at 2023-09-22T02:56:27.987Z
195
195
  </div>
196
196
  <script src="../../../prettify.js"></script>
197
197
  <script>
@@ -88,7 +88,7 @@ export * from './tree-set';
88
88
  <div class='footer quiet pad2 space-top1 center small'>
89
89
  Code coverage generated by
90
90
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
91
- at 2023-09-21T16:58:55.114Z
91
+ at 2023-09-22T02:56:27.987Z
92
92
  </div>
93
93
  <script src="../../../prettify.js"></script>
94
94
  <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-22T02:56:27.987Z
77
77
  </div>
78
78
  <script src="../../../prettify.js"></script>
79
79
  <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-22T02:56:27.987Z
77
77
  </div>
78
78
  <script src="../../../prettify.js"></script>
79
79
  <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-22T02:56:27.987Z
77
77
  </div>
78
78
  <script src="../../../prettify.js"></script>
79
79
  <script>
@@ -494,8 +494,8 @@
494
494
  * @copyright Copyright (c) 2022 Tyler Zeng &lt;zrwusa@gmail.com&gt;
495
495
  * @license MIT License
496
496
  */
497
- import { PriorityQueue } from '../priority-queue';
498
- import type { HeapOptions } from '../../types';
497
+ import {PriorityQueue} from '../priority-queue';
498
+ import type {HeapOptions} from '../../types';
499
499
  &nbsp;
500
500
  export class HeapItem&lt;T = number&gt; {
501
501
  /**
@@ -539,7 +539,7 @@ export abstract class Heap&lt;T = number&gt; {
539
539
  */
540
540
  protected constructor(options?: HeapOptions&lt;T&gt;) {
541
541
  <span class="missing-if-branch" title="if path not taken" >I</span>if (options) {
542
- const { priorityExtractor } = <span class="cstat-no" title="statement not covered" >options;</span>
542
+ const {priorityExtractor} = <span class="cstat-no" title="statement not covered" >options;</span>
543
543
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (priorityExtractor !== undefined &amp;&amp; typeof priorityExtractor !== 'function') {</span>
544
544
  <span class="cstat-no" title="statement not covered" > throw new Error('.constructor expects a valid priority function');</span>
545
545
  }
@@ -706,7 +706,7 @@ export abstract class Heap&lt;T = number&gt; {
706
706
  <div class='footer quiet pad2 space-top1 center small'>
707
707
  Code coverage generated by
708
708
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
709
- at 2023-09-21T16:58:55.114Z
709
+ at 2023-09-22T02:56:27.987Z
710
710
  </div>
711
711
  <script src="../../../prettify.js"></script>
712
712
  <script>
@@ -146,7 +146,7 @@
146
146
  <div class='footer quiet pad2 space-top1 center small'>
147
147
  Code coverage generated by
148
148
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
149
- at 2023-09-21T16:58:55.114Z
149
+ at 2023-09-22T02:56:27.987Z
150
150
  </div>
151
151
  <script src="../../../prettify.js"></script>
152
152
  <script>
@@ -79,7 +79,7 @@ export * from './heap';
79
79
  <div class='footer quiet pad2 space-top1 center small'>
80
80
  Code coverage generated by
81
81
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
82
- at 2023-09-21T16:58:55.114Z
82
+ at 2023-09-22T02:56:27.987Z
83
83
  </div>
84
84
  <script src="../../../prettify.js"></script>
85
85
  <script>
@@ -133,9 +133,9 @@
133
133
  * @license MIT License
134
134
  */
135
135
  &nbsp;
136
- import { Heap, HeapItem } from './heap';
137
- import { PriorityQueue } from '../priority-queue';
138
- import type { HeapOptions } from '../../types';
136
+ import {Heap, HeapItem} from './heap';
137
+ import {PriorityQueue} from '../priority-queue';
138
+ import type {HeapOptions} from '../../types';
139
139
  &nbsp;
140
140
  /**
141
141
  * @class MaxHeap
@@ -163,7 +163,7 @@ export class MaxHeap&lt;T = number&gt; extends Heap&lt;T&gt; {
163
163
  <div class='footer quiet pad2 space-top1 center small'>
164
164
  Code coverage generated by
165
165
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
166
- at 2023-09-21T16:58:55.114Z
166
+ at 2023-09-22T02:56:27.987Z
167
167
  </div>
168
168
  <script src="../../../prettify.js"></script>
169
169
  <script>
@@ -135,9 +135,9 @@
135
135
  * @license MIT License
136
136
  */
137
137
  &nbsp;
138
- import { Heap, HeapItem } from './heap';
139
- import { PriorityQueue } from '../priority-queue';
140
- import type { HeapOptions } from '../../types';
138
+ import {Heap, HeapItem} from './heap';
139
+ import {PriorityQueue} from '../priority-queue';
140
+ import type {HeapOptions} from '../../types';
141
141
  &nbsp;
142
142
  /**
143
143
  * @class MinHeap
@@ -166,7 +166,7 @@ export class MinHeap&lt;T = number&gt; extends Heap&lt;T&gt; {
166
166
  <div class='footer quiet pad2 space-top1 center small'>
167
167
  Code coverage generated by
168
168
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
169
- at 2023-09-21T16:58:55.114Z
169
+ at 2023-09-22T02:56:27.987Z
170
170
  </div>
171
171
  <script src="../../../prettify.js"></script>
172
172
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2023-09-21T16:58:55.114Z
104
+ at 2023-09-22T02:56:27.987Z
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
107
107
  <script>
@@ -103,7 +103,7 @@ export * from './trie';
103
103
  <div class='footer quiet pad2 space-top1 center small'>
104
104
  Code coverage generated by
105
105
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
106
- at 2023-09-21T16:58:55.114Z
106
+ at 2023-09-22T02:56:27.987Z
107
107
  </div>
108
108
  <script src="../../prettify.js"></script>
109
109
  <script>
@@ -1789,7 +1789,7 @@ export class DoublyLinkedList&lt;T = any&gt; {
1789
1789
  <div class='footer quiet pad2 space-top1 center small'>
1790
1790
  Code coverage generated by
1791
1791
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1792
- at 2023-09-21T16:58:55.114Z
1792
+ at 2023-09-22T02:56:27.987Z
1793
1793
  </div>
1794
1794
  <script src="../../../prettify.js"></script>
1795
1795
  <script>
@@ -146,7 +146,7 @@
146
146
  <div class='footer quiet pad2 space-top1 center small'>
147
147
  Code coverage generated by
148
148
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
149
- at 2023-09-21T16:58:55.114Z
149
+ at 2023-09-22T02:56:27.987Z
150
150
  </div>
151
151
  <script src="../../../prettify.js"></script>
152
152
  <script>
@@ -79,7 +79,7 @@ export * from './skip-linked-list';
79
79
  <div class='footer quiet pad2 space-top1 center small'>
80
80
  Code coverage generated by
81
81
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
82
- at 2023-09-21T16:58:55.114Z
82
+ at 2023-09-22T02:56:27.987Z
83
83
  </div>
84
84
  <script src="../../../prettify.js"></script>
85
85
  <script>
@@ -1573,7 +1573,7 @@ export class SinglyLinkedList&lt;T = any&gt; {
1573
1573
  <div class='footer quiet pad2 space-top1 center small'>
1574
1574
  Code coverage generated by
1575
1575
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1576
- at 2023-09-21T16:58:55.114Z
1576
+ at 2023-09-22T02:56:27.987Z
1577
1577
  </div>
1578
1578
  <script src="../../../prettify.js"></script>
1579
1579
  <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-22T02:56:27.987Z
77
77
  </div>
78
78
  <script src="../../../prettify.js"></script>
79
79
  <script>
@@ -161,7 +161,7 @@
161
161
  <div class='footer quiet pad2 space-top1 center small'>
162
162
  Code coverage generated by
163
163
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
164
- at 2023-09-21T16:58:55.114Z
164
+ at 2023-09-22T02:56:27.987Z
165
165
  </div>
166
166
  <script src="../../../prettify.js"></script>
167
167
  <script>
@@ -82,7 +82,7 @@ export * from './navigator';
82
82
  <div class='footer quiet pad2 space-top1 center small'>
83
83
  Code coverage generated by
84
84
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
85
- at 2023-09-21T16:58:55.114Z
85
+ at 2023-09-22T02:56:27.987Z
86
86
  </div>
87
87
  <script src="../../../prettify.js"></script>
88
88
  <script>
@@ -133,8 +133,8 @@ export class MatrixNTI2D&lt;T = number&gt; {
133
133
  * given initial value or 0 if not provided.
134
134
  * @param options - An object containing the following properties:
135
135
  */
136
- <span class="fstat-no" title="function not covered" > constructor(o</span>ptions: { row: number; col: number; initialVal?: T }) {
137
- const { row, col, initialVal } = <span class="cstat-no" title="statement not covered" >options;</span>
136
+ <span class="fstat-no" title="function not covered" > constructor(o</span>ptions: {row: number; col: number; initialVal?: T}) {
137
+ const {row, col, initialVal} = <span class="cstat-no" title="statement not covered" >options;</span>
138
138
  <span class="cstat-no" title="statement not covered" > this._matrix = new Array(row).fill(undefined).map(<span class="fstat-no" title="function not covered" >() =</span>&gt; <span class="cstat-no" title="statement not covered" >new Array(col).fill(initialVal || 0))</span>;</span>
139
139
  }
140
140
  &nbsp;
@@ -151,7 +151,7 @@ export class MatrixNTI2D&lt;T = number&gt; {
151
151
  <div class='footer quiet pad2 space-top1 center small'>
152
152
  Code coverage generated by
153
153
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
154
- at 2023-09-21T16:58:55.114Z
154
+ at 2023-09-22T02:56:27.987Z
155
155
  </div>
156
156
  <script src="../../../prettify.js"></script>
157
157
  <script>
@@ -706,7 +706,7 @@ export default Matrix2D;
706
706
  <div class='footer quiet pad2 space-top1 center small'>
707
707
  Code coverage generated by
708
708
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
709
- at 2023-09-21T16:58:55.114Z
709
+ at 2023-09-22T02:56:27.987Z
710
710
  </div>
711
711
  <script src="../../../prettify.js"></script>
712
712
  <script>
@@ -312,7 +312,7 @@
312
312
  * @copyright Copyright (c) 2022 Tyler Zeng &lt;zrwusa@gmail.com&gt;
313
313
  * @license MIT License
314
314
  */
315
- import type { Direction, NavigatorParams, Turning } from '../../types';
315
+ import type {Direction, NavigatorParams, Turning} from '../../types';
316
316
  &nbsp;
317
317
  export class Character {
318
318
  direction: Direction;
@@ -344,7 +344,7 @@ export class Navigator&lt;T = number&gt; {
344
344
  * in the matrix.
345
345
  * @param - - `matrix`: a 2D array representing the grid or map
346
346
  */
347
- <span class="fstat-no" title="function not covered" > constructor({</span> matrix, turning, onMove, init: { cur, charDir, VISITED } }: NavigatorParams&lt;T&gt;) {
347
+ <span class="fstat-no" title="function not covered" > constructor({</span>matrix, turning, onMove, init: {cur, charDir, VISITED}}: NavigatorParams&lt;T&gt;) {
348
348
  <span class="cstat-no" title="statement not covered" > this._matrix = matrix;</span>
349
349
  <span class="cstat-no" title="statement not covered" > this._cur = cur;</span>
350
350
  <span class="cstat-no" title="statement not covered" > this._character = new Character(charDir, turning);</span>
@@ -360,7 +360,7 @@ export class Navigator&lt;T = number&gt; {
360
360
  */
361
361
  <span class="fstat-no" title="function not covered" > start(</span>) {
362
362
  <span class="cstat-no" title="statement not covered" > while (this.check(this._character.direction) || this.check(this._character.turn().direction)) {</span>
363
- const { direction } = <span class="cstat-no" title="statement not covered" >this._character;</span>
363
+ const {direction} = <span class="cstat-no" title="statement not covered" >this._character;</span>
364
364
  <span class="cstat-no" title="statement not covered" > if (this.check(direction)) {</span>
365
365
  <span class="cstat-no" title="statement not covered" > this.move(direction);</span>
366
366
  } else <span class="cstat-no" title="statement not covered" ><span class="missing-if-branch" title="if path not taken" >I</span>if (this.check(this._character.turn().direction)) {</span>
@@ -433,7 +433,7 @@ export class Navigator&lt;T = number&gt; {
433
433
  <div class='footer quiet pad2 space-top1 center small'>
434
434
  Code coverage generated by
435
435
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
436
- at 2023-09-21T16:58:55.114Z
436
+ at 2023-09-22T02:56:27.987Z
437
437
  </div>
438
438
  <script src="../../../prettify.js"></script>
439
439
  <script>
@@ -1018,7 +1018,7 @@ export default Vector2D;
1018
1018
  <div class='footer quiet pad2 space-top1 center small'>
1019
1019
  Code coverage generated by
1020
1020
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1021
- at 2023-09-21T16:58:55.114Z
1021
+ at 2023-09-22T02:56:27.987Z
1022
1022
  </div>
1023
1023
  <script src="../../../prettify.js"></script>
1024
1024
  <script>
@@ -146,7 +146,7 @@
146
146
  <div class='footer quiet pad2 space-top1 center small'>
147
147
  Code coverage generated by
148
148
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
149
- at 2023-09-21T16:58:55.114Z
149
+ at 2023-09-22T02:56:27.987Z
150
150
  </div>
151
151
  <script src="../../../prettify.js"></script>
152
152
  <script>
@@ -79,7 +79,7 @@ export * from './max-priority-queue';
79
79
  <div class='footer quiet pad2 space-top1 center small'>
80
80
  Code coverage generated by
81
81
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
82
- at 2023-09-21T16:58:55.114Z
82
+ at 2023-09-22T02:56:27.987Z
83
83
  </div>
84
84
  <script src="../../../prettify.js"></script>
85
85
  <script>