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.
Files changed (82) hide show
  1. package/dist/types/common/error.d.ts +9 -0
  2. package/dist/types/common/index.d.ts +1 -1
  3. package/dist/types/data-structures/base/index.d.ts +1 -0
  4. package/dist/types/data-structures/base/iterable-entry-base.d.ts +8 -8
  5. package/dist/types/data-structures/base/linear-base.d.ts +3 -3
  6. package/dist/types/data-structures/binary-tree/avl-tree.d.ts +288 -0
  7. package/dist/types/data-structures/binary-tree/binary-indexed-tree.d.ts +336 -0
  8. package/dist/types/data-structures/binary-tree/binary-tree.d.ts +618 -18
  9. package/dist/types/data-structures/binary-tree/bst.d.ts +676 -1
  10. package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +456 -0
  11. package/dist/types/data-structures/binary-tree/segment-tree.d.ts +144 -1
  12. package/dist/types/data-structures/binary-tree/tree-map.d.ts +3307 -399
  13. package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +3285 -360
  14. package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +2674 -325
  15. package/dist/types/data-structures/binary-tree/tree-set.d.ts +3072 -287
  16. package/dist/types/data-structures/graph/abstract-graph.d.ts +4 -4
  17. package/dist/types/data-structures/graph/directed-graph.d.ts +240 -0
  18. package/dist/types/data-structures/graph/undirected-graph.d.ts +216 -0
  19. package/dist/types/data-structures/hash/hash-map.d.ts +274 -10
  20. package/dist/types/data-structures/heap/heap.d.ts +336 -0
  21. package/dist/types/data-structures/linked-list/doubly-linked-list.d.ts +411 -3
  22. package/dist/types/data-structures/linked-list/singly-linked-list.d.ts +363 -3
  23. package/dist/types/data-structures/linked-list/skip-linked-list.d.ts +434 -2
  24. package/dist/types/data-structures/matrix/matrix.d.ts +192 -0
  25. package/dist/types/data-structures/queue/deque.d.ts +364 -4
  26. package/dist/types/data-structures/queue/queue.d.ts +288 -0
  27. package/dist/types/data-structures/stack/stack.d.ts +240 -0
  28. package/dist/types/data-structures/trie/trie.d.ts +292 -4
  29. package/dist/types/interfaces/graph.d.ts +1 -1
  30. package/dist/types/types/common.d.ts +2 -2
  31. package/dist/types/types/data-structures/binary-tree/bst.d.ts +1 -0
  32. package/dist/types/types/data-structures/binary-tree/tree-map.d.ts +5 -0
  33. package/dist/types/types/data-structures/binary-tree/tree-multi-set.d.ts +4 -0
  34. package/dist/types/types/data-structures/binary-tree/tree-set.d.ts +4 -0
  35. package/dist/types/types/data-structures/heap/heap.d.ts +1 -0
  36. package/dist/types/types/data-structures/priority-queue/priority-queue.d.ts +1 -0
  37. package/dist/types/types/utils/validate-type.d.ts +4 -4
  38. package/dist/umd/tree-multimap-typed.js +31225 -14640
  39. package/dist/umd/tree-multimap-typed.js.map +1 -1
  40. package/dist/umd/tree-multimap-typed.min.js +11 -5
  41. package/dist/umd/tree-multimap-typed.min.js.map +1 -1
  42. package/package.json +2 -2
  43. package/src/common/error.ts +19 -1
  44. package/src/common/index.ts +1 -1
  45. package/src/data-structures/base/index.ts +1 -0
  46. package/src/data-structures/base/iterable-element-base.ts +3 -2
  47. package/src/data-structures/base/iterable-entry-base.ts +8 -8
  48. package/src/data-structures/base/linear-base.ts +3 -3
  49. package/src/data-structures/binary-tree/avl-tree.ts +299 -0
  50. package/src/data-structures/binary-tree/binary-indexed-tree.ts +341 -5
  51. package/src/data-structures/binary-tree/binary-tree.ts +606 -6
  52. package/src/data-structures/binary-tree/bst.ts +946 -7
  53. package/src/data-structures/binary-tree/red-black-tree.ts +472 -0
  54. package/src/data-structures/binary-tree/segment-tree.ts +145 -2
  55. package/src/data-structures/binary-tree/tree-map.ts +3423 -499
  56. package/src/data-structures/binary-tree/tree-multi-map.ts +3537 -596
  57. package/src/data-structures/binary-tree/tree-multi-set.ts +2855 -495
  58. package/src/data-structures/binary-tree/tree-set.ts +3209 -413
  59. package/src/data-structures/graph/abstract-graph.ts +6 -6
  60. package/src/data-structures/graph/directed-graph.ts +240 -0
  61. package/src/data-structures/graph/undirected-graph.ts +216 -0
  62. package/src/data-structures/hash/hash-map.ts +281 -19
  63. package/src/data-structures/heap/heap.ts +340 -4
  64. package/src/data-structures/heap/max-heap.ts +2 -2
  65. package/src/data-structures/linked-list/doubly-linked-list.ts +411 -3
  66. package/src/data-structures/linked-list/singly-linked-list.ts +363 -3
  67. package/src/data-structures/linked-list/skip-linked-list.ts +439 -7
  68. package/src/data-structures/matrix/matrix.ts +202 -10
  69. package/src/data-structures/priority-queue/max-priority-queue.ts +2 -2
  70. package/src/data-structures/queue/deque.ts +365 -5
  71. package/src/data-structures/queue/queue.ts +288 -0
  72. package/src/data-structures/stack/stack.ts +240 -0
  73. package/src/data-structures/trie/trie.ts +295 -7
  74. package/src/interfaces/graph.ts +1 -1
  75. package/src/types/common.ts +2 -2
  76. package/src/types/data-structures/binary-tree/bst.ts +1 -0
  77. package/src/types/data-structures/binary-tree/tree-map.ts +6 -0
  78. package/src/types/data-structures/binary-tree/tree-multi-set.ts +5 -0
  79. package/src/types/data-structures/binary-tree/tree-set.ts +5 -0
  80. package/src/types/data-structures/heap/heap.ts +1 -0
  81. package/src/types/data-structures/priority-queue/priority-queue.ts +1 -0
  82. 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
  };
@@ -1,4 +1,4 @@
1
- export { ERR } from './error';
1
+ export { ERR, raise } from './error';
2
2
  export declare enum DFSOperation {
3
3
  VISIT = 0,
4
4
  PROCESS = 1
@@ -1,2 +1,3 @@
1
1
  export * from './iterable-entry-base';
2
2
  export * from './iterable-element-base';
3
+ export * from './linear-base';
@@ -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: any[]): IterableIterator<[K, V]>;
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?: any): boolean;
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?: any): boolean;
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?: any): void;
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?: any): [K, V] | undefined;
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: any[]): any;
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: any[]): this;
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: any[]): IterableIterator<[K, V]>;
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?: any): number;
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: any[]): IterableIterator<E>;
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: any[]): IterableIterator<NODE>;
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