data-structure-typed 1.50.8 → 1.51.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/README.md +74 -76
  3. package/benchmark/report.html +2 -2
  4. package/benchmark/report.json +15 -15
  5. package/dist/cjs/data-structures/binary-tree/avl-tree-multi-map.d.ts +15 -3
  6. package/dist/cjs/data-structures/binary-tree/avl-tree-multi-map.js +14 -2
  7. package/dist/cjs/data-structures/binary-tree/avl-tree-multi-map.js.map +1 -1
  8. package/dist/cjs/data-structures/binary-tree/binary-tree.d.ts +2 -2
  9. package/dist/cjs/data-structures/binary-tree/binary-tree.js +11 -11
  10. package/dist/cjs/data-structures/binary-tree/binary-tree.js.map +1 -1
  11. package/dist/cjs/data-structures/binary-tree/bst.d.ts +19 -2
  12. package/dist/cjs/data-structures/binary-tree/bst.js +20 -2
  13. package/dist/cjs/data-structures/binary-tree/bst.js.map +1 -1
  14. package/dist/cjs/data-structures/binary-tree/rb-tree.d.ts +5 -5
  15. package/dist/cjs/data-structures/binary-tree/rb-tree.js +42 -44
  16. package/dist/cjs/data-structures/binary-tree/rb-tree.js.map +1 -1
  17. package/dist/cjs/data-structures/binary-tree/tree-multi-map.d.ts +40 -22
  18. package/dist/cjs/data-structures/binary-tree/tree-multi-map.js +43 -27
  19. package/dist/cjs/data-structures/binary-tree/tree-multi-map.js.map +1 -1
  20. package/dist/cjs/data-structures/heap/heap.d.ts +1 -1
  21. package/dist/cjs/data-structures/heap/heap.js +5 -5
  22. package/dist/cjs/types/common.d.ts +1 -1
  23. package/dist/cjs/types/data-structures/binary-tree/rb-tree.d.ts +1 -4
  24. package/dist/cjs/types/data-structures/binary-tree/rb-tree.js +0 -6
  25. package/dist/cjs/types/data-structures/binary-tree/rb-tree.js.map +1 -1
  26. package/dist/mjs/data-structures/binary-tree/avl-tree-multi-map.d.ts +15 -3
  27. package/dist/mjs/data-structures/binary-tree/avl-tree-multi-map.js +14 -2
  28. package/dist/mjs/data-structures/binary-tree/binary-tree.d.ts +2 -2
  29. package/dist/mjs/data-structures/binary-tree/binary-tree.js +11 -11
  30. package/dist/mjs/data-structures/binary-tree/bst.d.ts +19 -2
  31. package/dist/mjs/data-structures/binary-tree/bst.js +20 -2
  32. package/dist/mjs/data-structures/binary-tree/rb-tree.d.ts +5 -5
  33. package/dist/mjs/data-structures/binary-tree/rb-tree.js +42 -44
  34. package/dist/mjs/data-structures/binary-tree/tree-multi-map.d.ts +40 -22
  35. package/dist/mjs/data-structures/binary-tree/tree-multi-map.js +43 -27
  36. package/dist/mjs/data-structures/heap/heap.d.ts +1 -1
  37. package/dist/mjs/data-structures/heap/heap.js +5 -5
  38. package/dist/mjs/types/common.d.ts +1 -1
  39. package/dist/mjs/types/data-structures/binary-tree/rb-tree.d.ts +1 -4
  40. package/dist/mjs/types/data-structures/binary-tree/rb-tree.js +1 -5
  41. package/dist/umd/data-structure-typed.js +135 -97
  42. package/dist/umd/data-structure-typed.min.js +2 -2
  43. package/dist/umd/data-structure-typed.min.js.map +1 -1
  44. package/package.json +7 -7
  45. package/src/data-structures/binary-tree/avl-tree-multi-map.ts +17 -3
  46. package/src/data-structures/binary-tree/binary-tree.ts +36 -24
  47. package/src/data-structures/binary-tree/bst.ts +32 -11
  48. package/src/data-structures/binary-tree/rb-tree.ts +44 -44
  49. package/src/data-structures/binary-tree/tree-multi-map.ts +46 -27
  50. package/src/data-structures/heap/heap.ts +5 -5
  51. package/src/types/common.ts +1 -1
  52. package/src/types/data-structures/binary-tree/rb-tree.ts +1 -1
  53. package/test/integration/all-in-one.test.ts +2 -2
  54. package/test/integration/avl-tree.test.ts +4 -4
  55. package/test/integration/bst.test.ts +7 -7
  56. package/test/integration/index.html +2 -2
  57. package/test/performance/data-structures/binary-tree/avl-tree.test.ts +20 -15
  58. package/test/performance/data-structures/binary-tree/binary-tree.test.ts +1 -1
  59. package/test/unit/data-structures/binary-tree/avl-tree-multi-map.test.ts +7 -7
  60. package/test/unit/data-structures/binary-tree/avl-tree.test.ts +4 -4
  61. package/test/unit/data-structures/binary-tree/binary-tree.test.ts +24 -24
  62. package/test/unit/data-structures/binary-tree/bst.test.ts +12 -12
  63. package/test/unit/data-structures/binary-tree/rb-tree.test.ts +25 -25
  64. package/test/unit/data-structures/binary-tree/tree-multi-map.test.ts +19 -19
  65. package/test/unit/data-structures/priority-queue/priority-queue.test.ts +3 -3
@@ -5,21 +5,24 @@
5
5
  * @copyright Copyright (c) 2022 Tyler Zeng <zrwusa@gmail.com>
6
6
  * @license MIT License
7
7
  */
8
- import type { BinaryTreeDeleteResult, BSTNKeyOrNode, BTNCallback, KeyOrNodeOrEntry, TreeMultiMapNested, TreeMultiMapNodeNested, TreeMultiMapOptions } from '../../types';
8
+ import type { BinaryTreeDeleteResult, BSTNKeyOrNode, BTNCallback, IterationType, KeyOrNodeOrEntry, TreeMultiMapNested, TreeMultiMapNodeNested, TreeMultiMapOptions } from '../../types';
9
+ import { RBTNColor } from '../../types';
9
10
  import { IBinaryTree } from '../../interfaces';
10
11
  import { RedBlackTree, RedBlackTreeNode } from './rb-tree';
11
12
  export declare class TreeMultiMapNode<K = any, V = any, NODE extends TreeMultiMapNode<K, V, NODE> = TreeMultiMapNodeNested<K, V>> extends RedBlackTreeNode<K, V, NODE> {
12
13
  /**
13
- * The constructor function initializes an instance of a class with a key, value, and count.
14
- * @param {K} key - The key parameter is of type K, which represents the type of the key for the
15
- * constructor. It is required and must be provided when creating an instance of the class.
16
- * @param {V} [value] - The `value` parameter is an optional parameter of type `V`. It represents the
17
- * value associated with the key in the constructor. If no value is provided, it will be `undefined`.
18
- * @param [count=1] - The "count" parameter is an optional parameter that specifies the number of
19
- * times the key-value pair should be repeated. If no value is provided for "count", it defaults to
20
- * 1.
21
- */
22
- constructor(key: K, value?: V, count?: number);
14
+ * The constructor function initializes a Red-Black Tree node with a key, value, count, and color.
15
+ * @param {K} key - The key parameter represents the key of the node in the Red-Black Tree. It is
16
+ * used to identify and locate the node within the tree.
17
+ * @param {V} [value] - The `value` parameter is an optional parameter that represents the value
18
+ * associated with the key in the Red-Black Tree node. It is not required and can be omitted when
19
+ * creating a new node.
20
+ * @param [count=1] - The `count` parameter represents the number of occurrences of a particular key
21
+ * in the Red-Black Tree. It is an optional parameter with a default value of 1.
22
+ * @param {RBTNColor} [color=BLACK] - The `color` parameter is used to specify the color of the node
23
+ * in a Red-Black Tree. It is optional and has a default value of `'BLACK'`.
24
+ */
25
+ constructor(key: K, value?: V, count?: number, color?: RBTNColor);
23
26
  protected _count: number;
24
27
  /**
25
28
  * The function returns the value of the private variable _count.
@@ -50,19 +53,34 @@ export declare class TreeMultiMap<K = any, V = any, NODE extends TreeMultiMapNod
50
53
  * @returns the sum of the count property of all nodes in the tree.
51
54
  */
52
55
  get count(): number;
53
- getMutableCount(): number;
54
56
  /**
55
- * The function creates a new TreeMultiMapNode object with the specified key, value, and count.
57
+ * Time Complexity: O(n)
58
+ * Space Complexity: O(1)
59
+ */
60
+ /**
61
+ * Time Complexity: O(n)
62
+ * Space Complexity: O(1)
63
+ *
64
+ * The function calculates the sum of the count property of all nodes in a tree using depth-first
65
+ * search.
66
+ * @returns the sum of the count property of all nodes in the tree.
67
+ */
68
+ getComputedCount(): number;
69
+ /**
70
+ * The function creates a new TreeMultiMapNode with the specified key, value, color, and count.
56
71
  * @param {K} key - The key parameter represents the key of the node being created. It is of type K,
57
- * which is a generic type that can be replaced with any specific type when using the function.
58
- * @param {V} [value] - The `value` parameter is an optional parameter that represents the value
59
- * associated with the key in the node. It is of type `V`, which can be any data type.
60
- * @param {number} [count] - The `count` parameter represents the number of occurrences of a
61
- * key-value pair in the TreeMultiMap. It is an optional parameter, so if it is not provided, it will
62
- * default to 1.
63
- * @returns a new instance of the TreeMultiMapNode class, casted as NODE.
72
+ * which is a generic type representing the key type of the node.
73
+ * @param {V} [value] - The `value` parameter represents the value associated with the key in the
74
+ * node. It is an optional parameter, which means it can be omitted when calling the `createNode`
75
+ * function. If provided, it should be of type `V`.
76
+ * @param {RBTNColor} [color=BLACK] - The color parameter is used to specify the color of the node in
77
+ * a Red-Black Tree. It can have two possible values: 'RED' or 'BLACK'. The default value is 'BLACK'.
78
+ * @param {number} [count] - The `count` parameter represents the number of occurrences of a key in
79
+ * the tree. It is an optional parameter and is used to keep track of the number of values associated
80
+ * with a key in the tree.
81
+ * @returns A new instance of the TreeMultiMapNode class is being returned.
64
82
  */
65
- createNode(key: K, value?: V, count?: number): NODE;
83
+ createNode(key: K, value?: V, color?: RBTNColor, count?: number): NODE;
66
84
  /**
67
85
  * The function creates a new instance of a TreeMultiMap with the specified options and returns it.
68
86
  * @param [options] - The `options` parameter is an optional object that contains additional
@@ -163,7 +181,7 @@ export declare class TreeMultiMap<K = any, V = any, NODE extends TreeMultiMapNod
163
181
  * values:
164
182
  * @returns a boolean value.
165
183
  */
166
- perfectlyBalance(iterationType?: import("../../types").IterationType): boolean;
184
+ perfectlyBalance(iterationType?: IterationType): boolean;
167
185
  /**
168
186
  * Time complexity: O(n)
169
187
  * Space complexity: O(n)
@@ -1,18 +1,19 @@
1
- import { RBTNColor } from '../../types';
2
1
  import { RedBlackTree, RedBlackTreeNode } from './rb-tree';
3
2
  export class TreeMultiMapNode extends RedBlackTreeNode {
4
3
  /**
5
- * The constructor function initializes an instance of a class with a key, value, and count.
6
- * @param {K} key - The key parameter is of type K, which represents the type of the key for the
7
- * constructor. It is required and must be provided when creating an instance of the class.
8
- * @param {V} [value] - The `value` parameter is an optional parameter of type `V`. It represents the
9
- * value associated with the key in the constructor. If no value is provided, it will be `undefined`.
10
- * @param [count=1] - The "count" parameter is an optional parameter that specifies the number of
11
- * times the key-value pair should be repeated. If no value is provided for "count", it defaults to
12
- * 1.
4
+ * The constructor function initializes a Red-Black Tree node with a key, value, count, and color.
5
+ * @param {K} key - The key parameter represents the key of the node in the Red-Black Tree. It is
6
+ * used to identify and locate the node within the tree.
7
+ * @param {V} [value] - The `value` parameter is an optional parameter that represents the value
8
+ * associated with the key in the Red-Black Tree node. It is not required and can be omitted when
9
+ * creating a new node.
10
+ * @param [count=1] - The `count` parameter represents the number of occurrences of a particular key
11
+ * in the Red-Black Tree. It is an optional parameter with a default value of 1.
12
+ * @param {RBTNColor} [color=BLACK] - The `color` parameter is used to specify the color of the node
13
+ * in a Red-Black Tree. It is optional and has a default value of `'BLACK'`.
13
14
  */
14
- constructor(key, value, count = 1) {
15
- super(key, value);
15
+ constructor(key, value, count = 1, color = 'BLACK') {
16
+ super(key, value, color);
16
17
  this.count = count;
17
18
  }
18
19
  _count = 1;
@@ -56,24 +57,39 @@ export class TreeMultiMap extends RedBlackTree {
56
57
  get count() {
57
58
  return this._count;
58
59
  }
59
- getMutableCount() {
60
+ /**
61
+ * Time Complexity: O(n)
62
+ * Space Complexity: O(1)
63
+ */
64
+ /**
65
+ * Time Complexity: O(n)
66
+ * Space Complexity: O(1)
67
+ *
68
+ * The function calculates the sum of the count property of all nodes in a tree using depth-first
69
+ * search.
70
+ * @returns the sum of the count property of all nodes in the tree.
71
+ */
72
+ getComputedCount() {
60
73
  let sum = 0;
61
74
  this.dfs(node => (sum += node.count));
62
75
  return sum;
63
76
  }
64
77
  /**
65
- * The function creates a new TreeMultiMapNode object with the specified key, value, and count.
78
+ * The function creates a new TreeMultiMapNode with the specified key, value, color, and count.
66
79
  * @param {K} key - The key parameter represents the key of the node being created. It is of type K,
67
- * which is a generic type that can be replaced with any specific type when using the function.
68
- * @param {V} [value] - The `value` parameter is an optional parameter that represents the value
69
- * associated with the key in the node. It is of type `V`, which can be any data type.
70
- * @param {number} [count] - The `count` parameter represents the number of occurrences of a
71
- * key-value pair in the TreeMultiMap. It is an optional parameter, so if it is not provided, it will
72
- * default to 1.
73
- * @returns a new instance of the TreeMultiMapNode class, casted as NODE.
80
+ * which is a generic type representing the key type of the node.
81
+ * @param {V} [value] - The `value` parameter represents the value associated with the key in the
82
+ * node. It is an optional parameter, which means it can be omitted when calling the `createNode`
83
+ * function. If provided, it should be of type `V`.
84
+ * @param {RBTNColor} [color=BLACK] - The color parameter is used to specify the color of the node in
85
+ * a Red-Black Tree. It can have two possible values: 'RED' or 'BLACK'. The default value is 'BLACK'.
86
+ * @param {number} [count] - The `count` parameter represents the number of occurrences of a key in
87
+ * the tree. It is an optional parameter and is used to keep track of the number of values associated
88
+ * with a key in the tree.
89
+ * @returns A new instance of the TreeMultiMapNode class is being returned.
74
90
  */
75
- createNode(key, value, count) {
76
- return new TreeMultiMapNode(key, value, count);
91
+ createNode(key, value, color = 'BLACK', count) {
92
+ return new TreeMultiMapNode(key, value, count, color);
77
93
  }
78
94
  /**
79
95
  * The function creates a new instance of a TreeMultiMap with the specified options and returns it.
@@ -114,11 +130,11 @@ export class TreeMultiMap extends RedBlackTree {
114
130
  return;
115
131
  }
116
132
  else {
117
- node = this.createNode(key, value, count);
133
+ node = this.createNode(key, value, 'BLACK', count);
118
134
  }
119
135
  }
120
136
  else if (!this.isNode(keyOrNodeOrEntry)) {
121
- node = this.createNode(keyOrNodeOrEntry, value, count);
137
+ node = this.createNode(keyOrNodeOrEntry, value, 'BLACK', count);
122
138
  }
123
139
  else {
124
140
  return;
@@ -270,7 +286,7 @@ export class TreeMultiMap extends RedBlackTree {
270
286
  }
271
287
  this._size--;
272
288
  // If the original color was black, fix the tree
273
- if (originalColor === RBTNColor.BLACK) {
289
+ if (originalColor === 'BLACK') {
274
290
  this._deleteFixup(replacementNode);
275
291
  }
276
292
  results.push({ deleted: nodeToDelete, needBalanced: undefined });
@@ -307,7 +323,7 @@ export class TreeMultiMap extends RedBlackTree {
307
323
  * @returns a boolean value.
308
324
  */
309
325
  perfectlyBalance(iterationType = this.iterationType) {
310
- const sorted = this.dfs(node => node, 'in'), n = sorted.length;
326
+ const sorted = this.dfs(node => node, 'IN'), n = sorted.length;
311
327
  if (sorted.length < 1)
312
328
  return false;
313
329
  this.clear();
@@ -374,7 +390,7 @@ export class TreeMultiMap extends RedBlackTree {
374
390
  destNode = this.ensureNode(destNode);
375
391
  if (srcNode && destNode) {
376
392
  const { key, value, count, color } = destNode;
377
- const tempNode = this.createNode(key, value, count);
393
+ const tempNode = this.createNode(key, value, color, count);
378
394
  if (tempNode) {
379
395
  tempNode.color = color;
380
396
  destNode.key = srcNode.key;
@@ -159,7 +159,7 @@ export declare class Heap<E = any> extends IterableElementBase<E> {
159
159
  * Space Complexity: O(log n)
160
160
  *
161
161
  * Depth-first search (DFS) method, different traversal orders can be selected。
162
- * @param order - Traverse order parameter: 'in' (in-order), 'pre' (pre-order) or 'post' (post-order).
162
+ * @param order - Traverse order parameter: 'IN' (in-order), 'PRE' (pre-order) or 'POST' (post-order).
163
163
  * @returns An array containing elements traversed in the specified order.
164
164
  */
165
165
  dfs(order?: DFSOrderPattern): E[];
@@ -225,26 +225,26 @@ export class Heap extends IterableElementBase {
225
225
  * Space Complexity: O(log n)
226
226
  *
227
227
  * Depth-first search (DFS) method, different traversal orders can be selected。
228
- * @param order - Traverse order parameter: 'in' (in-order), 'pre' (pre-order) or 'post' (post-order).
228
+ * @param order - Traverse order parameter: 'IN' (in-order), 'PRE' (pre-order) or 'POST' (post-order).
229
229
  * @returns An array containing elements traversed in the specified order.
230
230
  */
231
- dfs(order = 'pre') {
231
+ dfs(order = 'PRE') {
232
232
  const result = [];
233
233
  // Auxiliary recursive function, traverses the binary heap according to the traversal order
234
234
  const _dfs = (index) => {
235
235
  const left = 2 * index + 1, right = left + 1;
236
236
  if (index < this.size) {
237
- if (order === 'in') {
237
+ if (order === 'IN') {
238
238
  _dfs(left);
239
239
  result.push(this.elements[index]);
240
240
  _dfs(right);
241
241
  }
242
- else if (order === 'pre') {
242
+ else if (order === 'PRE') {
243
243
  result.push(this.elements[index]);
244
244
  _dfs(left);
245
245
  _dfs(right);
246
246
  }
247
- else if (order === 'post') {
247
+ else if (order === 'POST') {
248
248
  _dfs(left);
249
249
  _dfs(right);
250
250
  result.push(this.elements[index]);
@@ -9,7 +9,7 @@ export type CP = 'LT' | 'EQ' | 'GT';
9
9
  export type IterationType = 'ITERATIVE' | 'RECURSIVE';
10
10
  export type FamilyPosition = 'ROOT' | 'LEFT' | 'RIGHT' | 'ROOT_LEFT' | 'ROOT_RIGHT' | 'ISOLATED' | 'MAL_NODE';
11
11
  export type Comparator<K> = (a: K, b: K) => number;
12
- export type DFSOrderPattern = 'pre' | 'in' | 'post';
12
+ export type DFSOrderPattern = 'PRE' | 'IN' | 'POST';
13
13
  export type NodeDisplayLayout = [string[], number, number, number];
14
14
  export type BTNCallback<N, D = any> = (node: N) => D;
15
15
  export interface IterableWithSize<T> extends Iterable<T> {
@@ -1,9 +1,6 @@
1
1
  import { RedBlackTree, RedBlackTreeNode } from '../../../data-structures';
2
2
  import type { BSTOptions } from "./bst";
3
- export declare enum RBTNColor {
4
- RED = 1,
5
- BLACK = 0
6
- }
3
+ export type RBTNColor = 'RED' | 'BLACK';
7
4
  export type RedBlackTreeNodeNested<K, V> = RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, RedBlackTreeNode<K, V, any>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;
8
5
  export type RedBlackTreeNested<K, V, N extends RedBlackTreeNode<K, V, N>> = RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, RedBlackTree<K, V, N, any>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;
9
6
  export type RBTreeOptions<K> = Omit<BSTOptions<K>, 'variant'> & {};
@@ -1,5 +1 @@
1
- export var RBTNColor;
2
- (function (RBTNColor) {
3
- RBTNColor[RBTNColor["RED"] = 1] = "RED";
4
- RBTNColor[RBTNColor["BLACK"] = 0] = "BLACK";
5
- })(RBTNColor || (RBTNColor = {}));
1
+ export {};