data-structure-typed 1.33.2 → 1.33.6

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 (148) hide show
  1. package/{.eslintrc.json → .eslintrc.js} +2 -1
  2. package/.github/workflows/ci.yml +15 -3
  3. package/.github/workflows/release-package.yml +32 -0
  4. package/{.prettierrc → .prettierrc.js} +1 -1
  5. package/CHANGELOG.md +5 -1
  6. package/README.md +2 -3
  7. package/coverage/coverage-final.json +64 -64
  8. package/coverage/coverage-summary.json +2 -2
  9. package/dist/data-structures/graph/abstract-graph.js +12 -12
  10. package/dist/data-structures/graph/abstract-graph.js.map +1 -1
  11. package/dist/data-structures/priority-queue/priority-queue.js +6 -6
  12. package/dist/data-structures/priority-queue/priority-queue.js.map +1 -1
  13. package/docs/index.html +2 -3
  14. package/package.json +68 -60
  15. package/src/data-structures/binary-tree/aa-tree.ts +1 -0
  16. package/src/data-structures/binary-tree/abstract-binary-tree.ts +1608 -0
  17. package/src/data-structures/binary-tree/avl-tree.ts +307 -0
  18. package/src/data-structures/binary-tree/b-tree.ts +1 -0
  19. package/src/data-structures/binary-tree/binary-indexed-tree.ts +76 -0
  20. package/src/data-structures/binary-tree/binary-tree.ts +47 -0
  21. package/src/data-structures/binary-tree/bst.ts +537 -0
  22. package/src/data-structures/binary-tree/index.ts +12 -0
  23. package/src/data-structures/binary-tree/rb-tree.ts +366 -0
  24. package/src/data-structures/binary-tree/segment-tree.ts +242 -0
  25. package/src/data-structures/binary-tree/splay-tree.ts +1 -0
  26. package/src/data-structures/binary-tree/tree-multiset.ts +700 -0
  27. package/src/data-structures/binary-tree/two-three-tree.ts +1 -0
  28. package/src/data-structures/graph/abstract-graph.ts +1040 -0
  29. package/src/data-structures/graph/directed-graph.ts +470 -0
  30. package/src/data-structures/graph/index.ts +4 -0
  31. package/src/data-structures/graph/map-graph.ts +129 -0
  32. package/src/data-structures/graph/undirected-graph.ts +274 -0
  33. package/src/data-structures/hash/coordinate-map.ts +67 -0
  34. package/src/data-structures/hash/coordinate-set.ts +56 -0
  35. package/src/data-structures/hash/hash-table.ts +157 -0
  36. package/src/data-structures/hash/index.ts +6 -0
  37. package/src/data-structures/hash/pair.ts +1 -0
  38. package/src/data-structures/hash/tree-map.ts +1 -0
  39. package/src/data-structures/hash/tree-set.ts +1 -0
  40. package/src/data-structures/heap/heap.ts +212 -0
  41. package/src/data-structures/heap/index.ts +3 -0
  42. package/src/data-structures/heap/max-heap.ts +31 -0
  43. package/src/data-structures/heap/min-heap.ts +32 -0
  44. package/src/data-structures/index.ts +11 -0
  45. package/src/data-structures/linked-list/doubly-linked-list.ts +636 -0
  46. package/src/data-structures/linked-list/index.ts +3 -0
  47. package/src/data-structures/linked-list/singly-linked-list.ts +501 -0
  48. package/src/data-structures/linked-list/skip-linked-list.ts +1 -0
  49. package/src/data-structures/matrix/index.ts +4 -0
  50. package/src/data-structures/matrix/matrix.ts +27 -0
  51. package/src/data-structures/matrix/matrix2d.ts +213 -0
  52. package/src/data-structures/matrix/navigator.ts +121 -0
  53. package/src/data-structures/matrix/vector2d.ts +316 -0
  54. package/src/data-structures/priority-queue/index.ts +3 -0
  55. package/src/data-structures/priority-queue/max-priority-queue.ts +56 -0
  56. package/src/data-structures/priority-queue/min-priority-queue.ts +57 -0
  57. package/src/data-structures/priority-queue/priority-queue.ts +359 -0
  58. package/src/data-structures/queue/deque.ts +297 -0
  59. package/src/data-structures/queue/index.ts +2 -0
  60. package/src/data-structures/queue/queue.ts +191 -0
  61. package/src/data-structures/stack/index.ts +1 -0
  62. package/src/data-structures/stack/stack.ts +98 -0
  63. package/src/data-structures/tree/index.ts +1 -0
  64. package/src/data-structures/tree/tree.ts +69 -0
  65. package/src/data-structures/trie/index.ts +1 -0
  66. package/src/data-structures/trie/trie.ts +225 -0
  67. package/src/index.ts +4 -0
  68. package/src/interfaces/abstract-binary-tree.ts +189 -0
  69. package/src/interfaces/abstract-graph.ts +31 -0
  70. package/src/interfaces/avl-tree.ts +25 -0
  71. package/src/interfaces/binary-tree.ts +6 -0
  72. package/src/interfaces/bst.ts +31 -0
  73. package/src/interfaces/directed-graph.ts +20 -0
  74. package/src/interfaces/doubly-linked-list.ts +1 -0
  75. package/src/interfaces/heap.ts +1 -0
  76. package/src/interfaces/index.ts +15 -0
  77. package/src/interfaces/navigator.ts +1 -0
  78. package/src/interfaces/priority-queue.ts +1 -0
  79. package/src/interfaces/rb-tree.ts +9 -0
  80. package/src/interfaces/segment-tree.ts +1 -0
  81. package/src/interfaces/singly-linked-list.ts +1 -0
  82. package/src/interfaces/tree-multiset.ts +7 -0
  83. package/src/interfaces/undirected-graph.ts +6 -0
  84. package/src/types/data-structures/abstract-binary-tree.ts +50 -0
  85. package/src/types/data-structures/abstract-graph.ts +11 -0
  86. package/src/types/data-structures/avl-tree.ts +5 -0
  87. package/src/types/data-structures/binary-tree.ts +5 -0
  88. package/src/types/data-structures/bst.ts +13 -0
  89. package/src/types/data-structures/directed-graph.ts +8 -0
  90. package/src/types/data-structures/doubly-linked-list.ts +1 -0
  91. package/src/types/data-structures/heap.ts +5 -0
  92. package/src/types/data-structures/index.ts +15 -0
  93. package/src/types/data-structures/map-graph.ts +1 -0
  94. package/src/types/data-structures/navigator.ts +13 -0
  95. package/src/types/data-structures/priority-queue.ts +9 -0
  96. package/src/types/data-structures/rb-tree.ts +8 -0
  97. package/src/types/data-structures/segment-tree.ts +1 -0
  98. package/src/types/data-structures/singly-linked-list.ts +1 -0
  99. package/src/types/data-structures/tree-multiset.ts +6 -0
  100. package/src/types/helpers.ts +1 -0
  101. package/src/types/index.ts +3 -0
  102. package/src/types/utils/index.ts +2 -0
  103. package/src/types/utils/utils.ts +6 -0
  104. package/src/types/utils/validate-type.ts +35 -0
  105. package/src/utils/index.ts +1 -0
  106. package/src/utils/utils.ts +79 -0
  107. package/test/integration/avl-tree.test.ts +14 -17
  108. package/test/integration/bst.test.ts +50 -41
  109. package/test/integration/heap.test.js +0 -3
  110. package/test/unit/data-structures/binary-tree/avl-tree.test.ts +14 -17
  111. package/test/unit/data-structures/binary-tree/binary-tree.test.ts +0 -4
  112. package/test/unit/data-structures/binary-tree/bst.test.ts +50 -41
  113. package/test/unit/data-structures/binary-tree/overall.test.ts +36 -28
  114. package/test/unit/data-structures/binary-tree/rb-tree.test.ts +0 -1
  115. package/test/unit/data-structures/binary-tree/tree-multiset.test.ts +23 -12
  116. package/test/unit/data-structures/graph/directed-graph.test.ts +27 -25
  117. package/test/unit/data-structures/graph/map-graph.test.ts +4 -5
  118. package/test/unit/data-structures/graph/overall.test.ts +10 -11
  119. package/test/unit/data-structures/graph/undirected-graph.test.ts +0 -1
  120. package/test/unit/data-structures/heap/heap.test.ts +7 -8
  121. package/test/unit/data-structures/heap/max-heap.test.ts +7 -5
  122. package/test/unit/data-structures/heap/min-heap.test.ts +6 -5
  123. package/test/unit/data-structures/linked-list/doubly-linked-list.test.ts +9 -10
  124. package/test/unit/data-structures/linked-list/linked-list.test.ts +1 -1
  125. package/test/unit/data-structures/linked-list/singly-linked-list.test.ts +4 -7
  126. package/test/unit/data-structures/linked-list/skip-linked-list.test.ts +3 -3
  127. package/test/unit/data-structures/matrix/matrix.test.ts +4 -4
  128. package/test/unit/data-structures/matrix/navigator.test.ts +4 -5
  129. package/test/unit/data-structures/priority-queue/max-priority-queue.test.ts +5 -7
  130. package/test/unit/data-structures/priority-queue/min-priority-queue.test.ts +13 -13
  131. package/test/unit/data-structures/priority-queue/priority-queue.test.ts +8 -8
  132. package/test/unit/data-structures/queue/deque.test.ts +0 -1
  133. package/test/unit/data-structures/queue/queue.test.ts +1 -5
  134. package/test/unit/data-structures/trie/trie.test.ts +2 -2
  135. package/test/utils/magnitude.ts +3 -3
  136. package/tsconfig.json +3 -12
  137. package/tsconfig.prod.json +25 -0
  138. package/.auto-changelog +0 -9
  139. package/.gitattributes +0 -112
  140. package/.idea/codeStyles/Project.xml +0 -61
  141. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  142. package/.idea/data-structure-typed.iml +0 -19
  143. package/.idea/inspectionProfiles/Project_Default.xml +0 -6
  144. package/.idea/misc.xml +0 -6
  145. package/.idea/modules.xml +0 -8
  146. package/.idea/vcs.xml +0 -6
  147. package/.prettierignore +0 -6
  148. package/webpack.config.js +0 -28
@@ -1,4 +1,4 @@
1
- {"total": {"lines":{"total":3186,"covered":2078,"skipped":0,"pct":65.22},"statements":{"total":3497,"covered":2229,"skipped":0,"pct":63.74},"functions":{"total":664,"covered":419,"skipped":0,"pct":63.1},"branches":{"total":1672,"covered":876,"skipped":0,"pct":52.39},"branchesTrue":{"total":0,"covered":0,"skipped":0,"pct":100}}
1
+ {"total": {"lines":{"total":3186,"covered":2078,"skipped":0,"pct":65.22},"statements":{"total":3497,"covered":2228,"skipped":0,"pct":63.71},"functions":{"total":664,"covered":419,"skipped":0,"pct":63.1},"branches":{"total":1672,"covered":875,"skipped":0,"pct":52.33},"branchesTrue":{"total":0,"covered":0,"skipped":0,"pct":100}}
2
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
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
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}}
@@ -30,7 +30,7 @@
30
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
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
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":218,"covered":195,"skipped":0,"pct":89.44},"functions":{"total":45,"covered":43,"skipped":0,"pct":95.55},"statements":{"total":228,"covered":200,"skipped":0,"pct":87.71},"branches":{"total":56,"covered":44,"skipped":0,"pct":78.57}}
33
+ ,"/Users/revone/projects/data-structure-typed/src/data-structures/linked-list/doubly-linked-list.ts": {"lines":{"total":218,"covered":195,"skipped":0,"pct":89.44},"functions":{"total":45,"covered":43,"skipped":0,"pct":95.55},"statements":{"total":228,"covered":199,"skipped":0,"pct":87.28},"branches":{"total":56,"covered":43,"skipped":0,"pct":76.78}}
34
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
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
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}}
@@ -440,10 +440,10 @@ var AbstractGraph = (function () {
440
440
  var vertexOrId = vertex[1];
441
441
  if (vertexOrId instanceof AbstractVertex) {
442
442
  var path = [vertexOrId];
443
- var parent_1 = preMap.get(vertexOrId);
444
- while (parent_1) {
445
- path.push(parent_1);
446
- parent_1 = preMap.get(parent_1);
443
+ var parent = preMap.get(vertexOrId);
444
+ while (parent) {
445
+ path.push(parent);
446
+ parent = preMap.get(parent);
447
447
  }
448
448
  var reversed = path.reverse();
449
449
  if (vertex[1] === minV)
@@ -564,10 +564,10 @@ var AbstractGraph = (function () {
564
564
  var vertexOrId = vertex[1];
565
565
  if (vertexOrId instanceof AbstractVertex) {
566
566
  var path = [vertexOrId];
567
- var parent_2 = preMap.get(vertexOrId);
568
- while (parent_2) {
569
- path.push(parent_2);
570
- parent_2 = preMap.get(parent_2);
567
+ var parent = preMap.get(vertexOrId);
568
+ while (parent) {
569
+ path.push(parent);
570
+ parent = preMap.get(parent);
571
571
  }
572
572
  var reversed = path.reverse();
573
573
  if (vertex[1] === minV)
@@ -706,10 +706,10 @@ var AbstractGraph = (function () {
706
706
  var vertexOrId = vertex[1];
707
707
  if (vertexOrId instanceof AbstractVertex) {
708
708
  var path = [vertexOrId];
709
- var parent_3 = preMap.get(vertexOrId);
710
- while (parent_3 !== undefined) {
711
- path.push(parent_3);
712
- parent_3 = preMap.get(parent_3);
709
+ var parent = preMap.get(vertexOrId);
710
+ while (parent !== undefined) {
711
+ path.push(parent);
712
+ parent = preMap.get(parent);
713
713
  }
714
714
  var reversed = path.reverse();
715
715
  if (vertex[1] === minDest)
@@ -1 +1 @@
1
- {"version":3,"file":"abstract-graph.js","sourceRoot":"","sources":["../../../src/data-structures/graph/abstract-graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abstract-graph.js","sourceRoot":"","sources":["../../../src/data-structures/graph/abstract-graph.ts"],"names":[],"mappings":"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"}
@@ -134,9 +134,9 @@ var PriorityQueue = (function () {
134
134
  PriorityQueue.prototype.sort = function () {
135
135
  var visitedNode = [];
136
136
  while (this.size !== 0) {
137
- var top_1 = this.poll();
138
- if (top_1)
139
- visitedNode.push(top_1);
137
+ var top = this.poll();
138
+ if (top)
139
+ visitedNode.push(top);
140
140
  }
141
141
  return visitedNode;
142
142
  };
@@ -204,9 +204,9 @@ var PriorityQueue = (function () {
204
204
  };
205
205
  PriorityQueue.prototype._heapifyUp = function (start) {
206
206
  while (start > 0 && this._compare(this._getParent(start), start)) {
207
- var parent_1 = this._getParent(start);
208
- this._swap(start, parent_1);
209
- start = parent_1;
207
+ var parent = this._getParent(start);
208
+ this._swap(start, parent);
209
+ start = parent;
210
210
  }
211
211
  };
212
212
  PriorityQueue.prototype._heapifyDown = function (start) {
@@ -1 +1 @@
1
- {"version":3,"file":"priority-queue.js","sourceRoot":"","sources":["../../../src/data-structures/priority-queue/priority-queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"priority-queue.js","sourceRoot":"","sources":["../../../src/data-structures/priority-queue/priority-queue.ts"],"names":[],"mappings":"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"}
package/docs/index.html CHANGED
@@ -13,9 +13,8 @@
13
13
  <div class="tsd-page-title">
14
14
  <h2>data-structure-typed</h2></div>
15
15
  <div class="tsd-panel tsd-typography"><a id="md:data-structure-typed" class="tsd-anchor"></a><h1><a href="#md:data-structure-typed">Data Structure Typed</a></h1><p>Data Structures of Javascript &amp; TypeScript.</p>
16
- <p>A library that provides a variety of JavaScript and TypeScript data structures, as well as implementations of some
17
- classic algorithms.</p>
18
- <p>Do you envy languages like C++ with <em>std</em>, Python with <em>collections</em>, and Java with <em>java.util</em>? Well, no need to envy anymore! JavaScript and TypeScript now have <em>data-structure-typed</em></p>
16
+ <p>Do you envy languages like C++ with <a href="">std</a>, Python with <a href="">collections</a>, and Java with <a href="">java.util</a> ? Well, no need to envy anymore! JavaScript and TypeScript now have <a href="">data-structure-typed</a>.</p>
17
+ <p>Now you can use this library in Node.js and browser environments in CommonJS(require export.modules = ), ESModule(import export), Typescript(import export), UMD(var Queue = dataStructureTyped.Queue)</p>
19
18
  <p><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License">
20
19
  <img src="https://img.shields.io/github/languages/top/zrwusa/data-structure-typed" alt="Language">
21
20
  <img src="https://img.shields.io/github/v/release/zrwusa/data-structure-typed" alt="GitHub release (latest by date)">
package/package.json CHANGED
@@ -1,33 +1,91 @@
1
1
  {
2
2
  "name": "data-structure-typed",
3
- "version": "1.33.2",
3
+ "version": "1.33.6",
4
4
  "description": "Data Structures of Javascript & TypeScript. Binary Tree, BST, Graph, Heap, Priority Queue, Linked List, Queue, Deque, Stack, AVL Tree, Tree Multiset, Trie, Directed Graph, Undirected Graph, Singly Linked List, Doubly Linked List, Max Heap, Max Priority Queue, Min Heap, Min Priority Queue.",
5
5
  "main": "dist/index.js",
6
6
  "module": "lib/index.js",
7
7
  "types": "lib/index.d.ts",
8
- "umd:main": "umd/bundle.min.js",
9
8
  "source": "src/index.ts",
9
+ "umd:main": "umd/bundle.min.js",
10
10
  "scripts": {
11
- "build": "npm run build:es6 && npm run build:commonjs && npm run build:umd",
11
+ "build": "npm run build:es6 && npm run build:commonjs && npm run build:umd && npm run build:docs",
12
12
  "build:es6": "rm -rf lib && tsc",
13
- "build:commonjs": "rm -rf dist && tsc --project tsconfig.build.json",
13
+ "build:commonjs": "rm -rf dist && tsc --project tsconfig.prod.json",
14
14
  "build:umd": "webpack",
15
15
  "build:docs": "typedoc --out docs ./src",
16
- "lint": "eslint --fix 'src/**/*.{js,ts}'",
17
- "format": "prettier --write 'src/**/*.{js,ts}'",
18
- "fix": "npm run lint && npm run format",
16
+ "lint:src": "eslint --fix 'src/**/*.{js,ts}'",
17
+ "lint:test": "eslint --fix 'test/**/*.{js,ts}'",
18
+ "lint": "npm run lint:src && npm run lint:test",
19
+ "format:src": "prettier --write 'src/**/*.{js,ts}'",
20
+ "format:test": "prettier --write 'test/**/*.{js,ts}'",
21
+ "format": "npm run format:src && npm run format:test",
22
+ "fix:src": "npm run lint:src && npm run format:src",
23
+ "fix:test": "npm run lint:test && npm run format:test",
24
+ "fix": "npm run fix:src && npm run fix:test",
19
25
  "update:test-deps": "npm i avl-tree-typed binary-tree-typed bst-typed deque-typed directed-graph-typed doubly-linked-list-typed graph-typed heap-typed linked-list-typed max-heap-typed max-priority-queue-typed min-heap-typed min-priority-queue-typed priority-queue-typed singly-linked-list-typed stack-typed tree-multiset-typed trie-typed undirected-graph-typed queue-typed --save-dev",
20
26
  "test": "jest",
21
27
  "deps:check": "dependency-cruiser src",
22
28
  "changelog": "auto-changelog",
23
29
  "coverage:badge": "istanbul-badges-readme",
24
- "package": "npm run lint && npm run test && npm run build && npm run build:docs && npm run changelog",
25
- "deploy": "npm publish"
30
+ "ci": "env && npm run lint && npm run build && npm run test && git fetch --tags && npm run changelog"
26
31
  },
27
32
  "repository": {
28
33
  "type": "git",
29
34
  "url": "git+https://github.com/zrwusa/data-structure-typed.git"
30
35
  },
36
+ "author": "Tyler Zeng zrwusa@gmail.com",
37
+ "license": "MIT",
38
+ "publishConfig": {
39
+ "@zrwusa:registry": "https://npm.pkg.github.com"
40
+ },
41
+ "bugs": {
42
+ "url": "https://github.com/zrwusa/data-structure-typed/issues"
43
+ },
44
+ "homepage": "https://github.com/zrwusa/data-structure-typed#readme",
45
+ "devDependencies": {
46
+ "@types/benchmark": "^2.1.3",
47
+ "@types/jest": "^29.5.3",
48
+ "@types/node": "^20.4.9",
49
+ "@typescript-eslint/eslint-plugin": "^5.6.0",
50
+ "@typescript-eslint/parser": "^5.11.0",
51
+ "auto-changelog": "^2.4.0",
52
+ "avl-tree-typed": "^1.31.0",
53
+ "benchmark": "^2.1.4",
54
+ "binary-tree-typed": "^1.31.0",
55
+ "bst-typed": "^1.31.0",
56
+ "dependency-cruiser": "^13.1.2",
57
+ "deque-typed": "^1.31.0",
58
+ "directed-graph-typed": "^1.31.0",
59
+ "doubly-linked-list-typed": "^1.31.0",
60
+ "eslint": "^7.32.0",
61
+ "eslint-config-prettier": "^8.3.0",
62
+ "eslint-import-resolver-alias": "^1.1.2",
63
+ "eslint-import-resolver-typescript": "^2.5.0",
64
+ "eslint-plugin-import": "^2.25.4",
65
+ "graph-typed": "^1.31.0",
66
+ "heap-typed": "^1.31.0",
67
+ "istanbul-badges-readme": "^1.8.5",
68
+ "jest": "^29.6.2",
69
+ "linked-list-typed": "^1.31.0",
70
+ "max-heap-typed": "^1.31.0",
71
+ "max-priority-queue-typed": "^1.31.0",
72
+ "min-heap-typed": "^1.31.0",
73
+ "min-priority-queue-typed": "^1.31.0",
74
+ "prettier": "^3.0.3",
75
+ "priority-queue-typed": "^1.31.0",
76
+ "queue-typed": "^1.31.0",
77
+ "singly-linked-list-typed": "^1.31.0",
78
+ "stack-typed": "^1.31.0",
79
+ "tree-multiset-typed": "^1.31.0",
80
+ "trie-typed": "^1.31.0",
81
+ "ts-jest": "^29.1.1",
82
+ "ts-loader": "^9.4.4",
83
+ "typedoc": "^0.24.8",
84
+ "typescript": "^4.9.5",
85
+ "undirected-graph-typed": "^1.31.0",
86
+ "webpack": "^5.88.2",
87
+ "webpack-cli": "^5.1.4"
88
+ },
31
89
  "keywords": [
32
90
  "data",
33
91
  "structure",
@@ -174,55 +232,5 @@
174
232
  "tarjan",
175
233
  "Tarjan",
176
234
  "Tarjan's"
177
- ],
178
- "author": "Tyler Zeng zrwusa@gmail.com",
179
- "license": "MIT",
180
- "bugs": {
181
- "url": "https://github.com/zrwusa/data-structure-typed/issues"
182
- },
183
- "homepage": "https://github.com/zrwusa/data-structure-typed#readme",
184
- "devDependencies": {
185
- "@types/benchmark": "^2.1.3",
186
- "@types/jest": "^29.5.3",
187
- "@types/node": "^20.4.9",
188
- "@typescript-eslint/eslint-plugin": "^5.6.0",
189
- "@typescript-eslint/parser": "^5.11.0",
190
- "auto-changelog": "^2.4.0",
191
- "avl-tree-typed": "^1.31.0",
192
- "benchmark": "^2.1.4",
193
- "binary-tree-typed": "^1.31.0",
194
- "bst-typed": "^1.31.0",
195
- "dependency-cruiser": "^13.1.2",
196
- "deque-typed": "^1.31.0",
197
- "directed-graph-typed": "^1.31.0",
198
- "doubly-linked-list-typed": "^1.31.0",
199
- "eslint": "^7.32.0",
200
- "eslint-config-prettier": "^8.3.0",
201
- "eslint-import-resolver-alias": "^1.1.2",
202
- "eslint-import-resolver-typescript": "^2.5.0",
203
- "eslint-plugin-import": "^2.25.4",
204
- "graph-typed": "^1.31.0",
205
- "heap-typed": "^1.31.0",
206
- "istanbul-badges-readme": "^1.8.5",
207
- "jest": "^29.6.2",
208
- "linked-list-typed": "^1.31.0",
209
- "max-heap-typed": "^1.31.0",
210
- "max-priority-queue-typed": "^1.31.0",
211
- "min-heap-typed": "^1.31.0",
212
- "min-priority-queue-typed": "^1.31.0",
213
- "prettier": "^3.0.3",
214
- "priority-queue-typed": "^1.31.0",
215
- "queue-typed": "^1.31.0",
216
- "singly-linked-list-typed": "^1.31.0",
217
- "stack-typed": "^1.31.0",
218
- "tree-multiset-typed": "^1.31.0",
219
- "trie-typed": "^1.31.0",
220
- "ts-jest": "^29.1.1",
221
- "ts-loader": "^9.4.4",
222
- "typedoc": "^0.24.8",
223
- "typescript": "^4.9.5",
224
- "undirected-graph-typed": "^1.31.0",
225
- "webpack": "^5.88.2",
226
- "webpack-cli": "^5.1.4"
227
- }
235
+ ]
228
236
  }
@@ -0,0 +1 @@
1
+ export class AaTree {}