tree-multimap-typed 2.5.0 → 2.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/types/common/error.d.ts +9 -0
- package/dist/types/common/index.d.ts +1 -1
- package/dist/types/data-structures/base/index.d.ts +1 -0
- package/dist/types/data-structures/base/iterable-entry-base.d.ts +8 -8
- package/dist/types/data-structures/base/linear-base.d.ts +3 -3
- package/dist/types/data-structures/binary-tree/avl-tree.d.ts +288 -0
- package/dist/types/data-structures/binary-tree/binary-indexed-tree.d.ts +336 -0
- package/dist/types/data-structures/binary-tree/binary-tree.d.ts +618 -18
- package/dist/types/data-structures/binary-tree/bst.d.ts +676 -1
- package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +456 -0
- package/dist/types/data-structures/binary-tree/segment-tree.d.ts +144 -1
- package/dist/types/data-structures/binary-tree/tree-map.d.ts +3307 -399
- package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +3285 -360
- package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +2674 -325
- package/dist/types/data-structures/binary-tree/tree-set.d.ts +3072 -287
- package/dist/types/data-structures/graph/abstract-graph.d.ts +4 -4
- package/dist/types/data-structures/graph/directed-graph.d.ts +240 -0
- package/dist/types/data-structures/graph/undirected-graph.d.ts +216 -0
- package/dist/types/data-structures/hash/hash-map.d.ts +274 -10
- package/dist/types/data-structures/heap/heap.d.ts +336 -0
- package/dist/types/data-structures/linked-list/doubly-linked-list.d.ts +411 -3
- package/dist/types/data-structures/linked-list/singly-linked-list.d.ts +363 -3
- package/dist/types/data-structures/linked-list/skip-linked-list.d.ts +434 -2
- package/dist/types/data-structures/matrix/matrix.d.ts +192 -0
- package/dist/types/data-structures/queue/deque.d.ts +364 -4
- package/dist/types/data-structures/queue/queue.d.ts +288 -0
- package/dist/types/data-structures/stack/stack.d.ts +240 -0
- package/dist/types/data-structures/trie/trie.d.ts +292 -4
- package/dist/types/interfaces/graph.d.ts +1 -1
- package/dist/types/types/common.d.ts +2 -2
- package/dist/types/types/data-structures/binary-tree/bst.d.ts +1 -0
- package/dist/types/types/data-structures/binary-tree/tree-map.d.ts +5 -0
- package/dist/types/types/data-structures/binary-tree/tree-multi-set.d.ts +4 -0
- package/dist/types/types/data-structures/binary-tree/tree-set.d.ts +4 -0
- package/dist/types/types/data-structures/heap/heap.d.ts +1 -0
- package/dist/types/types/data-structures/priority-queue/priority-queue.d.ts +1 -0
- package/dist/types/types/utils/validate-type.d.ts +4 -4
- package/dist/umd/tree-multimap-typed.js +31225 -14640
- package/dist/umd/tree-multimap-typed.js.map +1 -1
- package/dist/umd/tree-multimap-typed.min.js +11 -5
- package/dist/umd/tree-multimap-typed.min.js.map +1 -1
- package/package.json +2 -2
- package/src/common/error.ts +19 -1
- package/src/common/index.ts +1 -1
- package/src/data-structures/base/index.ts +1 -0
- package/src/data-structures/base/iterable-element-base.ts +3 -2
- package/src/data-structures/base/iterable-entry-base.ts +8 -8
- package/src/data-structures/base/linear-base.ts +3 -3
- package/src/data-structures/binary-tree/avl-tree.ts +299 -0
- package/src/data-structures/binary-tree/binary-indexed-tree.ts +341 -5
- package/src/data-structures/binary-tree/binary-tree.ts +606 -6
- package/src/data-structures/binary-tree/bst.ts +946 -7
- package/src/data-structures/binary-tree/red-black-tree.ts +472 -0
- package/src/data-structures/binary-tree/segment-tree.ts +145 -2
- package/src/data-structures/binary-tree/tree-map.ts +3423 -499
- package/src/data-structures/binary-tree/tree-multi-map.ts +3537 -596
- package/src/data-structures/binary-tree/tree-multi-set.ts +2855 -495
- package/src/data-structures/binary-tree/tree-set.ts +3209 -413
- package/src/data-structures/graph/abstract-graph.ts +6 -6
- package/src/data-structures/graph/directed-graph.ts +240 -0
- package/src/data-structures/graph/undirected-graph.ts +216 -0
- package/src/data-structures/hash/hash-map.ts +281 -19
- package/src/data-structures/heap/heap.ts +340 -4
- package/src/data-structures/heap/max-heap.ts +2 -2
- package/src/data-structures/linked-list/doubly-linked-list.ts +411 -3
- package/src/data-structures/linked-list/singly-linked-list.ts +363 -3
- package/src/data-structures/linked-list/skip-linked-list.ts +439 -7
- package/src/data-structures/matrix/matrix.ts +202 -10
- package/src/data-structures/priority-queue/max-priority-queue.ts +2 -2
- package/src/data-structures/queue/deque.ts +365 -5
- package/src/data-structures/queue/queue.ts +288 -0
- package/src/data-structures/stack/stack.ts +240 -0
- package/src/data-structures/trie/trie.ts +295 -7
- package/src/interfaces/graph.ts +1 -1
- package/src/types/common.ts +2 -2
- package/src/types/data-structures/binary-tree/bst.ts +1 -0
- package/src/types/data-structures/binary-tree/tree-map.ts +6 -0
- package/src/types/data-structures/binary-tree/tree-multi-set.ts +5 -0
- package/src/types/data-structures/binary-tree/tree-set.ts +5 -0
- package/src/types/data-structures/heap/heap.ts +1 -0
- package/src/types/data-structures/priority-queue/priority-queue.ts +1 -0
- package/src/types/utils/validate-type.ts +4 -4
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Centralized error dispatch.
|
|
3
|
+
* All library errors go through this function for consistent messaging and easy grep.
|
|
4
|
+
* @remarks Always throws — data structure errors are never recoverable.
|
|
5
|
+
* @param ErrorClass - The error constructor (Error, TypeError, RangeError, etc.)
|
|
6
|
+
* @param message - The error message.
|
|
7
|
+
*/
|
|
8
|
+
export declare function raise(ErrorClass: new (msg: string) => Error, message: string): never;
|
|
1
9
|
/**
|
|
2
10
|
* Centralized error message templates.
|
|
3
11
|
* Keep using native Error/TypeError/RangeError — this only standardizes messages.
|
|
@@ -20,4 +28,5 @@ export declare const ERR: {
|
|
|
20
28
|
readonly matrixNotSquare: () => string;
|
|
21
29
|
readonly matrixNotRectangular: () => string;
|
|
22
30
|
readonly matrixRowMismatch: (expected: number, got: number) => string;
|
|
31
|
+
readonly orderStatisticNotEnabled: (method: string, ctx?: string) => string;
|
|
23
32
|
};
|
|
@@ -17,7 +17,7 @@ export declare abstract class IterableEntryBase<K = any, V = any> {
|
|
|
17
17
|
* @returns Iterator of `[K, V]`.
|
|
18
18
|
* @remarks Time O(n) to iterate, Space O(1)
|
|
19
19
|
*/
|
|
20
|
-
[Symbol.iterator](...args:
|
|
20
|
+
[Symbol.iterator](...args: unknown[]): IterableIterator<[K, V]>;
|
|
21
21
|
/**
|
|
22
22
|
* Iterate over `[key, value]` pairs (may yield `undefined` values).
|
|
23
23
|
* @returns Iterator of `[K, V | undefined]`.
|
|
@@ -43,7 +43,7 @@ export declare abstract class IterableEntryBase<K = any, V = any> {
|
|
|
43
43
|
* @returns `true` if all pass; otherwise `false`.
|
|
44
44
|
* @remarks Time O(n), Space O(1)
|
|
45
45
|
*/
|
|
46
|
-
every(predicate: EntryCallback<K, V, boolean>, thisArg?:
|
|
46
|
+
every(predicate: EntryCallback<K, V, boolean>, thisArg?: unknown): boolean;
|
|
47
47
|
/**
|
|
48
48
|
* Test whether any entry satisfies the predicate.
|
|
49
49
|
* @param predicate - `(key, value, index, self) => boolean`.
|
|
@@ -51,14 +51,14 @@ export declare abstract class IterableEntryBase<K = any, V = any> {
|
|
|
51
51
|
* @returns `true` if any passes; otherwise `false`.
|
|
52
52
|
* @remarks Time O(n), Space O(1)
|
|
53
53
|
*/
|
|
54
|
-
some(predicate: EntryCallback<K, V, boolean>, thisArg?:
|
|
54
|
+
some(predicate: EntryCallback<K, V, boolean>, thisArg?: unknown): boolean;
|
|
55
55
|
/**
|
|
56
56
|
* Visit each entry, left-to-right.
|
|
57
57
|
* @param callbackfn - `(key, value, index, self) => void`.
|
|
58
58
|
* @param thisArg - Optional `this` for callback.
|
|
59
59
|
* @remarks Time O(n), Space O(1)
|
|
60
60
|
*/
|
|
61
|
-
forEach(callbackfn: EntryCallback<K, V, void>, thisArg?:
|
|
61
|
+
forEach(callbackfn: EntryCallback<K, V, void>, thisArg?: unknown): void;
|
|
62
62
|
/**
|
|
63
63
|
* Find the first entry that matches a predicate.
|
|
64
64
|
* @param callbackfn - `(key, value, index, self) => boolean`.
|
|
@@ -66,7 +66,7 @@ export declare abstract class IterableEntryBase<K = any, V = any> {
|
|
|
66
66
|
* @returns Matching `[key, value]` or `undefined`.
|
|
67
67
|
* @remarks Time O(n), Space O(1)
|
|
68
68
|
*/
|
|
69
|
-
find(callbackfn: EntryCallback<K, V, boolean>, thisArg?:
|
|
69
|
+
find(callbackfn: EntryCallback<K, V, boolean>, thisArg?: unknown): [K, V] | undefined;
|
|
70
70
|
/**
|
|
71
71
|
* Whether the given key exists.
|
|
72
72
|
* @param key - Key to test.
|
|
@@ -134,17 +134,17 @@ export declare abstract class IterableEntryBase<K = any, V = any> {
|
|
|
134
134
|
* Map entries using an implementation-specific strategy.
|
|
135
135
|
* @remarks Time O(n), Space O(n)
|
|
136
136
|
*/
|
|
137
|
-
abstract map(...args:
|
|
137
|
+
abstract map(...args: unknown[]): unknown;
|
|
138
138
|
/**
|
|
139
139
|
* Filter entries and return the same-species structure.
|
|
140
140
|
* @returns A new instance of the same concrete class (`this` type).
|
|
141
141
|
* @remarks Time O(n), Space O(n)
|
|
142
142
|
*/
|
|
143
|
-
abstract filter(...args:
|
|
143
|
+
abstract filter(...args: unknown[]): this;
|
|
144
144
|
/**
|
|
145
145
|
* Underlying iterator for the default iteration protocol.
|
|
146
146
|
* @returns Iterator of `[K, V]`.
|
|
147
147
|
* @remarks Time O(n), Space O(1)
|
|
148
148
|
*/
|
|
149
|
-
protected abstract _getIterator(...args:
|
|
149
|
+
protected abstract _getIterator(...args: unknown[]): IterableIterator<[K, V]>;
|
|
150
150
|
}
|
|
@@ -89,7 +89,7 @@ export declare abstract class LinearBase<E, R = any, NODE extends LinkedListNode
|
|
|
89
89
|
* @returns Index or `-1`.
|
|
90
90
|
* @remarks Time O(n), Space O(1)
|
|
91
91
|
*/
|
|
92
|
-
findIndex(predicate: ElementCallback<E, R, boolean>, thisArg?:
|
|
92
|
+
findIndex(predicate: ElementCallback<E, R, boolean>, thisArg?: unknown): number;
|
|
93
93
|
/**
|
|
94
94
|
* Concatenate elements and/or containers.
|
|
95
95
|
* @param items - Elements or other containers.
|
|
@@ -228,7 +228,7 @@ export declare abstract class LinearBase<E, R = any, NODE extends LinkedListNode
|
|
|
228
228
|
* @returns Iterator of elements from tail to head.
|
|
229
229
|
* @remarks Time O(n), Space O(1)
|
|
230
230
|
*/
|
|
231
|
-
protected abstract _getReverseIterator(...args:
|
|
231
|
+
protected abstract _getReverseIterator(...args: unknown[]): IterableIterator<E>;
|
|
232
232
|
}
|
|
233
233
|
/**
|
|
234
234
|
* Linked-list specialized linear container.
|
|
@@ -324,7 +324,7 @@ export declare abstract class LinearLinkedBase<E, R = any, NODE extends LinkedLi
|
|
|
324
324
|
* @returns Iterator over nodes.
|
|
325
325
|
* @remarks Time O(n), Space O(1)
|
|
326
326
|
*/
|
|
327
|
-
protected abstract _getNodeIterator(...args:
|
|
327
|
+
protected abstract _getNodeIterator(...args: unknown[]): IterableIterator<NODE>;
|
|
328
328
|
/**
|
|
329
329
|
* Get previous node of a given node.
|
|
330
330
|
* @param node - Current node.
|
|
@@ -282,6 +282,102 @@ export declare class AVLTree<K = any, V = any, R = any> extends BST<K, V, R> imp
|
|
|
282
282
|
|
|
283
283
|
|
|
284
284
|
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
|
|
297
|
+
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
|
|
312
|
+
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
|
|
334
|
+
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
|
|
343
|
+
|
|
344
|
+
|
|
345
|
+
|
|
346
|
+
|
|
347
|
+
|
|
348
|
+
|
|
349
|
+
|
|
350
|
+
|
|
351
|
+
|
|
352
|
+
|
|
353
|
+
|
|
354
|
+
|
|
355
|
+
|
|
356
|
+
|
|
357
|
+
|
|
358
|
+
|
|
359
|
+
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
|
|
367
|
+
|
|
368
|
+
|
|
369
|
+
|
|
370
|
+
|
|
371
|
+
|
|
372
|
+
|
|
373
|
+
|
|
374
|
+
|
|
375
|
+
|
|
376
|
+
|
|
377
|
+
|
|
378
|
+
|
|
379
|
+
|
|
380
|
+
|
|
285
381
|
|
|
286
382
|
|
|
287
383
|
|
|
@@ -329,6 +425,78 @@ export declare class AVLTree<K = any, V = any, R = any> extends BST<K, V, R> imp
|
|
|
329
425
|
|
|
330
426
|
|
|
331
427
|
|
|
428
|
+
|
|
429
|
+
|
|
430
|
+
|
|
431
|
+
|
|
432
|
+
|
|
433
|
+
|
|
434
|
+
|
|
435
|
+
|
|
436
|
+
|
|
437
|
+
|
|
438
|
+
|
|
439
|
+
|
|
440
|
+
|
|
441
|
+
|
|
442
|
+
|
|
443
|
+
|
|
444
|
+
|
|
445
|
+
|
|
446
|
+
|
|
447
|
+
|
|
448
|
+
|
|
449
|
+
|
|
450
|
+
|
|
451
|
+
|
|
452
|
+
|
|
453
|
+
|
|
454
|
+
|
|
455
|
+
|
|
456
|
+
|
|
457
|
+
|
|
458
|
+
|
|
459
|
+
|
|
460
|
+
|
|
461
|
+
|
|
462
|
+
|
|
463
|
+
|
|
464
|
+
|
|
465
|
+
|
|
466
|
+
|
|
467
|
+
|
|
468
|
+
|
|
469
|
+
|
|
470
|
+
|
|
471
|
+
|
|
472
|
+
|
|
473
|
+
|
|
474
|
+
|
|
475
|
+
|
|
476
|
+
|
|
477
|
+
|
|
478
|
+
|
|
479
|
+
|
|
480
|
+
|
|
481
|
+
|
|
482
|
+
|
|
483
|
+
|
|
484
|
+
|
|
485
|
+
|
|
486
|
+
|
|
487
|
+
|
|
488
|
+
|
|
489
|
+
|
|
490
|
+
|
|
491
|
+
|
|
492
|
+
|
|
493
|
+
|
|
494
|
+
|
|
495
|
+
|
|
496
|
+
|
|
497
|
+
|
|
498
|
+
|
|
499
|
+
|
|
332
500
|
|
|
333
501
|
|
|
334
502
|
|
|
@@ -377,6 +545,54 @@ export declare class AVLTree<K = any, V = any, R = any> extends BST<K, V, R> imp
|
|
|
377
545
|
|
|
378
546
|
|
|
379
547
|
|
|
548
|
+
|
|
549
|
+
|
|
550
|
+
|
|
551
|
+
|
|
552
|
+
|
|
553
|
+
|
|
554
|
+
|
|
555
|
+
|
|
556
|
+
|
|
557
|
+
|
|
558
|
+
|
|
559
|
+
|
|
560
|
+
|
|
561
|
+
|
|
562
|
+
|
|
563
|
+
|
|
564
|
+
|
|
565
|
+
|
|
566
|
+
|
|
567
|
+
|
|
568
|
+
|
|
569
|
+
|
|
570
|
+
|
|
571
|
+
|
|
572
|
+
|
|
573
|
+
|
|
574
|
+
|
|
575
|
+
|
|
576
|
+
|
|
577
|
+
|
|
578
|
+
|
|
579
|
+
|
|
580
|
+
|
|
581
|
+
|
|
582
|
+
|
|
583
|
+
|
|
584
|
+
|
|
585
|
+
|
|
586
|
+
|
|
587
|
+
|
|
588
|
+
|
|
589
|
+
|
|
590
|
+
|
|
591
|
+
|
|
592
|
+
|
|
593
|
+
|
|
594
|
+
|
|
595
|
+
|
|
380
596
|
* @example
|
|
381
597
|
* // Rebalance the tree
|
|
382
598
|
* const avl = new AVLTree<number>();
|
|
@@ -418,6 +634,78 @@ export declare class AVLTree<K = any, V = any, R = any> extends BST<K, V, R> imp
|
|
|
418
634
|
|
|
419
635
|
|
|
420
636
|
|
|
637
|
+
|
|
638
|
+
|
|
639
|
+
|
|
640
|
+
|
|
641
|
+
|
|
642
|
+
|
|
643
|
+
|
|
644
|
+
|
|
645
|
+
|
|
646
|
+
|
|
647
|
+
|
|
648
|
+
|
|
649
|
+
|
|
650
|
+
|
|
651
|
+
|
|
652
|
+
|
|
653
|
+
|
|
654
|
+
|
|
655
|
+
|
|
656
|
+
|
|
657
|
+
|
|
658
|
+
|
|
659
|
+
|
|
660
|
+
|
|
661
|
+
|
|
662
|
+
|
|
663
|
+
|
|
664
|
+
|
|
665
|
+
|
|
666
|
+
|
|
667
|
+
|
|
668
|
+
|
|
669
|
+
|
|
670
|
+
|
|
671
|
+
|
|
672
|
+
|
|
673
|
+
|
|
674
|
+
|
|
675
|
+
|
|
676
|
+
|
|
677
|
+
|
|
678
|
+
|
|
679
|
+
|
|
680
|
+
|
|
681
|
+
|
|
682
|
+
|
|
683
|
+
|
|
684
|
+
|
|
685
|
+
|
|
686
|
+
|
|
687
|
+
|
|
688
|
+
|
|
689
|
+
|
|
690
|
+
|
|
691
|
+
|
|
692
|
+
|
|
693
|
+
|
|
694
|
+
|
|
695
|
+
|
|
696
|
+
|
|
697
|
+
|
|
698
|
+
|
|
699
|
+
|
|
700
|
+
|
|
701
|
+
|
|
702
|
+
|
|
703
|
+
|
|
704
|
+
|
|
705
|
+
|
|
706
|
+
|
|
707
|
+
|
|
708
|
+
|
|
421
709
|
|
|
422
710
|
|
|
423
711
|
* @example
|