avl-tree-typed 2.2.3 → 2.2.5
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.
- package/dist/cjs/index.cjs +341 -75
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs-legacy/index.cjs +343 -75
- package/dist/cjs-legacy/index.cjs.map +1 -1
- package/dist/esm/index.mjs +341 -75
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm-legacy/index.mjs +343 -75
- package/dist/esm-legacy/index.mjs.map +1 -1
- package/dist/types/data-structures/binary-tree/avl-tree-counter.d.ts +2 -2
- package/dist/types/data-structures/binary-tree/avl-tree-multi-map.d.ts +5 -5
- package/dist/types/data-structures/binary-tree/avl-tree.d.ts +2 -3
- package/dist/types/data-structures/binary-tree/bst.d.ts +142 -28
- package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +2 -2
- package/dist/types/data-structures/binary-tree/tree-counter.d.ts +4 -5
- package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +5 -5
- package/dist/types/types/data-structures/binary-tree/bst.d.ts +5 -5
- package/dist/umd/avl-tree-typed.js +343 -75
- package/dist/umd/avl-tree-typed.js.map +1 -1
- package/dist/umd/avl-tree-typed.min.js +3 -3
- package/dist/umd/avl-tree-typed.min.js.map +1 -1
- package/package.json +2 -2
- package/src/data-structures/binary-tree/avl-tree-counter.ts +1 -2
- package/src/data-structures/binary-tree/avl-tree-multi-map.ts +9 -8
- package/src/data-structures/binary-tree/avl-tree.ts +4 -5
- package/src/data-structures/binary-tree/bst.ts +495 -85
- package/src/data-structures/binary-tree/red-black-tree.ts +1 -2
- package/src/data-structures/binary-tree/tree-counter.ts +5 -7
- package/src/data-structures/binary-tree/tree-multi-map.ts +7 -8
- package/src/types/data-structures/binary-tree/bst.ts +5 -5
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "avl-tree-typed",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.5",
|
|
4
4
|
"description": "Standard AVL tree",
|
|
5
5
|
"browser": "dist/umd/avl-tree-typed.min.js",
|
|
6
6
|
"umd:main": "dist/umd/avl-tree-typed.min.js",
|
|
@@ -201,6 +201,6 @@
|
|
|
201
201
|
"typescript": "^5.9.3"
|
|
202
202
|
},
|
|
203
203
|
"dependencies": {
|
|
204
|
-
"data-structure-typed": "^2.2.
|
|
204
|
+
"data-structure-typed": "^2.2.5"
|
|
205
205
|
}
|
|
206
206
|
}
|
|
@@ -9,7 +9,6 @@
|
|
|
9
9
|
import type {
|
|
10
10
|
AVLTreeCounterOptions,
|
|
11
11
|
BinaryTreeDeleteResult,
|
|
12
|
-
BinaryTreeOptions,
|
|
13
12
|
BSTNOptKeyOrNode,
|
|
14
13
|
EntryCallback,
|
|
15
14
|
FamilyPosition,
|
|
@@ -404,7 +403,7 @@ export class AVLTreeCounter<K = any, V = any, R = any> extends AVLTree<K, V, R>
|
|
|
404
403
|
*/
|
|
405
404
|
override map<MK = K, MV = V, MR = any>(
|
|
406
405
|
callback: EntryCallback<K, V | undefined, [MK, MV]>,
|
|
407
|
-
options?: Partial<
|
|
406
|
+
options?: Partial<AVLTreeCounterOptions<MK, MV, MR>>,
|
|
408
407
|
thisArg?: unknown
|
|
409
408
|
): AVLTreeCounter<MK, MV, MR> {
|
|
410
409
|
const out = this._createLike<MK, MV, MR>([], options);
|
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
|
|
9
9
|
import type {
|
|
10
10
|
AVLTreeMultiMapOptions,
|
|
11
|
-
AVLTreeOptions,
|
|
12
11
|
BTNOptKeyOrNull,
|
|
13
12
|
ElemOf,
|
|
14
13
|
EntryCallback,
|
|
@@ -354,7 +353,7 @@ export class AVLTreeMultiMap<K = any, V = any, R = any> extends AVLTree<K, V[],
|
|
|
354
353
|
*/
|
|
355
354
|
override map<MK = K, MVArr extends unknown[] = V[], MR = any>(
|
|
356
355
|
callback: EntryCallback<K, V[] | undefined, [MK, MVArr]>,
|
|
357
|
-
options?: Partial<
|
|
356
|
+
options?: Partial<AVLTreeMultiMapOptions<MK, MVArr, MR>>,
|
|
358
357
|
thisArg?: unknown
|
|
359
358
|
): AVLTreeMultiMap<MK, ElemOf<MVArr>, MR>;
|
|
360
359
|
|
|
@@ -371,7 +370,7 @@ export class AVLTreeMultiMap<K = any, V = any, R = any> extends AVLTree<K, V[],
|
|
|
371
370
|
*/
|
|
372
371
|
override map<MK = K, MV = V[], MR = any>(
|
|
373
372
|
callback: EntryCallback<K, V[] | undefined, [MK, MV]>,
|
|
374
|
-
options?: Partial<
|
|
373
|
+
options?: Partial<AVLTreeMultiMapOptions<MK, MV, MR>>,
|
|
375
374
|
thisArg?: unknown
|
|
376
375
|
): AVLTree<MK, MV, MR>;
|
|
377
376
|
|
|
@@ -388,7 +387,7 @@ export class AVLTreeMultiMap<K = any, V = any, R = any> extends AVLTree<K, V[],
|
|
|
388
387
|
*/
|
|
389
388
|
override map<MK, MV, MR extends object>(
|
|
390
389
|
callback: EntryCallback<K, V[] | undefined, [MK, MV]>,
|
|
391
|
-
options?: Partial<
|
|
390
|
+
options?: Partial<AVLTreeMultiMapOptions<MK, MV, MR>>,
|
|
392
391
|
thisArg?: unknown
|
|
393
392
|
): AVLTree<MK, MV, MR> {
|
|
394
393
|
const out = this._createLike<MK, MV, MR>([], options);
|
|
@@ -406,10 +405,12 @@ export class AVLTreeMultiMap<K = any, V = any, R = any> extends AVLTree<K, V[],
|
|
|
406
405
|
* @param [options] - Optional constructor options for the like-kind instance.
|
|
407
406
|
* @returns An empty like-kind instance.
|
|
408
407
|
*/
|
|
409
|
-
protected override _createInstance<TK = K, TV = V, TR = R>(
|
|
408
|
+
protected override _createInstance<TK = K, TV = V, TR = R>(
|
|
409
|
+
options?: Partial<AVLTreeMultiMapOptions<TK, TV, TR>>
|
|
410
|
+
): this {
|
|
410
411
|
const Ctor = this.constructor as unknown as new (
|
|
411
412
|
iter?: Iterable<TK | AVLTreeNode<TK, TV> | [TK | null | undefined, TV | undefined] | null | undefined | TR>,
|
|
412
|
-
opts?:
|
|
413
|
+
opts?: AVLTreeMultiMapOptions<TK, TV, TR>
|
|
413
414
|
) => AVLTree<TK, TV, TR>;
|
|
414
415
|
return new Ctor([], { ...(this._snapshotOptions?.<TK, TV, TR>() ?? {}), ...(options ?? {}) }) as unknown as this;
|
|
415
416
|
}
|
|
@@ -426,11 +427,11 @@ export class AVLTreeMultiMap<K = any, V = any, R = any> extends AVLTree<K, V[],
|
|
|
426
427
|
*/
|
|
427
428
|
protected override _createLike<TK = K, TV = V, TR = R>(
|
|
428
429
|
iter: Iterable<TK | AVLTreeNode<TK, TV> | [TK | null | undefined, TV | undefined] | null | undefined | TR> = [],
|
|
429
|
-
options?: Partial<
|
|
430
|
+
options?: Partial<AVLTreeMultiMapOptions<TK, TV, TR>>
|
|
430
431
|
): AVLTree<TK, TV, TR> {
|
|
431
432
|
const Ctor = this.constructor as unknown as new (
|
|
432
433
|
iter?: Iterable<TK | AVLTreeNode<TK, TV> | [TK | null | undefined, TV | undefined] | null | undefined | TR>,
|
|
433
|
-
opts?:
|
|
434
|
+
opts?: AVLTreeMultiMapOptions<TK, TV, TR>
|
|
434
435
|
) => AVLTree<TK, TV, TR>;
|
|
435
436
|
return new Ctor(iter, { ...(this._snapshotOptions?.<TK, TV, TR>() ?? {}), ...(options ?? {}) });
|
|
436
437
|
}
|
|
@@ -17,7 +17,6 @@ import type {
|
|
|
17
17
|
IterationType,
|
|
18
18
|
RBTNColor
|
|
19
19
|
} from '../../types';
|
|
20
|
-
import { BSTOptions } from '../../types';
|
|
21
20
|
import { IBinaryTree } from '../../interfaces';
|
|
22
21
|
|
|
23
22
|
/**
|
|
@@ -512,10 +511,10 @@ export class AVLTree<K = any, V = any, R = any> extends BST<K, V, R> implements
|
|
|
512
511
|
* @param [options] - Options for the new tree.
|
|
513
512
|
* @returns A new, empty tree.
|
|
514
513
|
*/
|
|
515
|
-
protected override _createInstance<TK = K, TV = V, TR = R>(options?: Partial<
|
|
514
|
+
protected override _createInstance<TK = K, TV = V, TR = R>(options?: Partial<AVLTreeOptions<TK, TV, TR>>): this {
|
|
516
515
|
const Ctor = this.constructor as unknown as new (
|
|
517
516
|
iter?: Iterable<TK | AVLTreeNode<TK, TV> | [TK | null | undefined, TV | undefined] | null | undefined | TR>,
|
|
518
|
-
opts?:
|
|
517
|
+
opts?: AVLTreeOptions<TK, TV, TR>
|
|
519
518
|
) => this;
|
|
520
519
|
return new Ctor([], { ...this._snapshotOptions<TK, TV, TR>(), ...(options ?? {}) }) as unknown as this;
|
|
521
520
|
}
|
|
@@ -531,11 +530,11 @@ export class AVLTree<K = any, V = any, R = any> extends BST<K, V, R> implements
|
|
|
531
530
|
*/
|
|
532
531
|
protected override _createLike<TK = K, TV = V, TR = R>(
|
|
533
532
|
iter: Iterable<TK | AVLTreeNode<TK, TV> | [TK | null | undefined, TV | undefined] | null | undefined | TR> = [],
|
|
534
|
-
options?: Partial<
|
|
533
|
+
options?: Partial<AVLTreeOptions<TK, TV, TR>>
|
|
535
534
|
): AVLTree<TK, TV, TR> {
|
|
536
535
|
const Ctor = this.constructor as unknown as new (
|
|
537
536
|
iter?: Iterable<TK | AVLTreeNode<TK, TV> | [TK | null | undefined, TV | undefined] | null | undefined | TR>,
|
|
538
|
-
opts?:
|
|
537
|
+
opts?: AVLTreeOptions<TK, TV, TR>
|
|
539
538
|
) => AVLTree<TK, TV, TR>;
|
|
540
539
|
return new Ctor(iter, { ...this._snapshotOptions<TK, TV, TR>(), ...(options ?? {}) });
|
|
541
540
|
}
|