max-priority-queue-typed 2.5.2 → 2.6.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 (63) hide show
  1. package/dist/cjs/index.cjs +174 -16
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/cjs-legacy/index.cjs +174 -16
  4. package/dist/cjs-legacy/index.cjs.map +1 -1
  5. package/dist/esm/index.mjs +174 -16
  6. package/dist/esm/index.mjs.map +1 -1
  7. package/dist/esm-legacy/index.mjs +174 -16
  8. package/dist/esm-legacy/index.mjs.map +1 -1
  9. package/dist/types/data-structures/base/iterable-element-base.d.ts +17 -0
  10. package/dist/types/data-structures/base/linear-base.d.ts +6 -0
  11. package/dist/types/data-structures/binary-tree/avl-tree.d.ts +86 -2
  12. package/dist/types/data-structures/binary-tree/binary-indexed-tree.d.ts +98 -0
  13. package/dist/types/data-structures/binary-tree/binary-tree.d.ts +191 -15
  14. package/dist/types/data-structures/binary-tree/bst.d.ts +171 -3
  15. package/dist/types/data-structures/binary-tree/red-black-tree.d.ts +136 -8
  16. package/dist/types/data-structures/binary-tree/segment-tree.d.ts +42 -0
  17. package/dist/types/data-structures/binary-tree/tree-map.d.ts +1061 -167
  18. package/dist/types/data-structures/binary-tree/tree-multi-map.d.ts +1232 -355
  19. package/dist/types/data-structures/binary-tree/tree-multi-set.d.ts +916 -194
  20. package/dist/types/data-structures/binary-tree/tree-set.d.ts +1078 -141
  21. package/dist/types/data-structures/graph/directed-graph.d.ts +70 -0
  22. package/dist/types/data-structures/graph/undirected-graph.d.ts +63 -0
  23. package/dist/types/data-structures/hash/hash-map.d.ts +84 -6
  24. package/dist/types/data-structures/heap/heap.d.ts +140 -12
  25. package/dist/types/data-structures/linked-list/doubly-linked-list.d.ts +150 -2
  26. package/dist/types/data-structures/linked-list/singly-linked-list.d.ts +106 -1
  27. package/dist/types/data-structures/linked-list/skip-linked-list.d.ts +126 -0
  28. package/dist/types/data-structures/matrix/matrix.d.ts +56 -0
  29. package/dist/types/data-structures/queue/deque.d.ts +171 -0
  30. package/dist/types/data-structures/queue/queue.d.ts +97 -0
  31. package/dist/types/data-structures/stack/stack.d.ts +72 -2
  32. package/dist/types/data-structures/trie/trie.d.ts +84 -0
  33. package/dist/types/interfaces/binary-tree.d.ts +2 -3
  34. package/dist/umd/max-priority-queue-typed.js +174 -16
  35. package/dist/umd/max-priority-queue-typed.js.map +1 -1
  36. package/dist/umd/max-priority-queue-typed.min.js +1 -1
  37. package/dist/umd/max-priority-queue-typed.min.js.map +1 -1
  38. package/package.json +2 -2
  39. package/src/data-structures/base/iterable-element-base.ts +32 -0
  40. package/src/data-structures/base/linear-base.ts +11 -0
  41. package/src/data-structures/binary-tree/avl-tree.ts +88 -5
  42. package/src/data-structures/binary-tree/binary-indexed-tree.ts +98 -0
  43. package/src/data-structures/binary-tree/binary-tree.ts +242 -81
  44. package/src/data-structures/binary-tree/bst.ts +173 -7
  45. package/src/data-structures/binary-tree/red-black-tree.ts +139 -15
  46. package/src/data-structures/binary-tree/segment-tree.ts +42 -0
  47. package/src/data-structures/binary-tree/tree-map.ts +948 -36
  48. package/src/data-structures/binary-tree/tree-multi-map.ts +893 -13
  49. package/src/data-structures/binary-tree/tree-multi-set.ts +761 -33
  50. package/src/data-structures/binary-tree/tree-set.ts +1260 -251
  51. package/src/data-structures/graph/directed-graph.ts +71 -1
  52. package/src/data-structures/graph/undirected-graph.ts +64 -1
  53. package/src/data-structures/hash/hash-map.ts +100 -12
  54. package/src/data-structures/heap/heap.ts +149 -19
  55. package/src/data-structures/linked-list/doubly-linked-list.ts +178 -2
  56. package/src/data-structures/linked-list/singly-linked-list.ts +106 -1
  57. package/src/data-structures/linked-list/skip-linked-list.ts +126 -0
  58. package/src/data-structures/matrix/matrix.ts +56 -0
  59. package/src/data-structures/queue/deque.ts +187 -0
  60. package/src/data-structures/queue/queue.ts +109 -0
  61. package/src/data-structures/stack/stack.ts +75 -5
  62. package/src/data-structures/trie/trie.ts +84 -0
  63. package/src/interfaces/binary-tree.ts +1 -9
@@ -274,6 +274,41 @@ export class TreeMap<K = any, V = any, R = [K, V]> implements Iterable<[K, V | u
274
274
 
275
275
 
276
276
 
277
+
278
+
279
+
280
+
281
+
282
+
283
+
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
+
277
312
 
278
313
 
279
314
 
@@ -452,6 +487,41 @@ export class TreeMap<K = any, V = any, R = [K, V]> implements Iterable<[K, V | u
452
487
 
453
488
 
454
489
 
490
+
491
+
492
+
493
+
494
+
495
+
496
+
497
+
498
+
499
+
500
+
501
+
502
+
503
+
504
+
505
+
506
+
507
+
508
+
509
+
510
+
511
+
512
+
513
+
514
+
515
+
516
+
517
+
518
+
519
+
520
+
521
+
522
+
523
+
524
+
455
525
 
456
526
 
457
527
 
@@ -500,6 +570,54 @@ export class TreeMap<K = any, V = any, R = [K, V]> implements Iterable<[K, V | u
500
570
  return this;
501
571
  }
502
572
 
573
+ /**
574
+ * Set multiple key-value pairs at once.
575
+ * @remarks Expected time O(m log n), where m is the number of entries.
576
+ * @param entries - Iterable of `[key, value]` tuples.
577
+ * @returns Array of booleans indicating whether each entry was successfully set.
578
+
579
+
580
+
581
+
582
+
583
+
584
+
585
+
586
+
587
+
588
+
589
+
590
+
591
+
592
+
593
+
594
+
595
+
596
+
597
+
598
+
599
+
600
+
601
+
602
+
603
+
604
+
605
+
606
+ * @example
607
+ * // Set multiple key-value pairs
608
+ * const tm = new TreeMap<number, string>();
609
+ * tm.setMany([[1, 'a'], [2, 'b'], [3, 'c']]);
610
+ * console.log(tm.size); // 3;
611
+ */
612
+ setMany(entries: Iterable<[K, V | undefined]>): boolean[] {
613
+ const results: boolean[] = [];
614
+ for (const [key, value] of entries) {
615
+ this._validateKey(key);
616
+ results.push(this.#core.set(key, value as V));
617
+ }
618
+ return results;
619
+ }
620
+
503
621
  /**
504
622
  * Get the value under a key.
505
623
  * @remarks Expected time O(log n)
@@ -651,6 +769,41 @@ export class TreeMap<K = any, V = any, R = [K, V]> implements Iterable<[K, V | u
651
769
 
652
770
 
653
771
 
772
+
773
+
774
+
775
+
776
+
777
+
778
+
779
+
780
+
781
+
782
+
783
+
784
+
785
+
786
+
787
+
788
+
789
+
790
+
791
+
792
+
793
+
794
+
795
+
796
+
797
+
798
+
799
+
800
+
801
+
802
+
803
+
804
+
805
+
806
+
654
807
 
655
808
 
656
809
 
@@ -840,6 +993,41 @@ export class TreeMap<K = any, V = any, R = [K, V]> implements Iterable<[K, V | u
840
993
 
841
994
 
842
995
 
996
+
997
+
998
+
999
+
1000
+
1001
+
1002
+
1003
+
1004
+
1005
+
1006
+
1007
+
1008
+
1009
+
1010
+
1011
+
1012
+
1013
+
1014
+
1015
+
1016
+
1017
+
1018
+
1019
+
1020
+
1021
+
1022
+
1023
+
1024
+
1025
+
1026
+
1027
+
1028
+
1029
+
1030
+
843
1031
 
844
1032
 
845
1033
 
@@ -1029,6 +1217,41 @@ export class TreeMap<K = any, V = any, R = [K, V]> implements Iterable<[K, V | u
1029
1217
 
1030
1218
 
1031
1219
 
1220
+
1221
+
1222
+
1223
+
1224
+
1225
+
1226
+
1227
+
1228
+
1229
+
1230
+
1231
+
1232
+
1233
+
1234
+
1235
+
1236
+
1237
+
1238
+
1239
+
1240
+
1241
+
1242
+
1243
+
1244
+
1245
+
1246
+
1247
+
1248
+
1249
+
1250
+
1251
+
1252
+
1253
+
1254
+
1032
1255
 
1033
1256
 
1034
1257
 
@@ -1065,8 +1288,25 @@ export class TreeMap<K = any, V = any, R = [K, V]> implements Iterable<[K, V | u
1065
1288
  */
1066
1289
  delete(key: K): boolean {
1067
1290
  this._validateKey(key);
1068
- const res = this.#core.delete(key);
1069
- return Array.isArray(res) && res.length > 0 && !!res[0]?.deleted;
1291
+ return this.#core.delete(key);
1292
+ }
1293
+
1294
+ /**
1295
+ * Delete all entries matching a predicate.
1296
+ * @remarks Time O(N), Space O(N)
1297
+ * @param predicate - Function (key, value, index, map) → boolean; return true to delete.
1298
+ * @returns True if at least one entry was deleted.
1299
+ */
1300
+ deleteWhere(predicate: (key: K, value: V | undefined, index: number, map: this) => boolean): boolean {
1301
+ let deleted = false;
1302
+ let index = 0;
1303
+ for (const [key, value] of this) {
1304
+ if (predicate(key, value, index++, this)) {
1305
+ this.delete(key);
1306
+ deleted = true;
1307
+ }
1308
+ }
1309
+ return deleted;
1070
1310
  }
1071
1311
 
1072
1312
  /**
@@ -1208,6 +1448,41 @@ export class TreeMap<K = any, V = any, R = [K, V]> implements Iterable<[K, V | u
1208
1448
 
1209
1449
 
1210
1450
 
1451
+
1452
+
1453
+
1454
+
1455
+
1456
+
1457
+
1458
+
1459
+
1460
+
1461
+
1462
+
1463
+
1464
+
1465
+
1466
+
1467
+
1468
+
1469
+
1470
+
1471
+
1472
+
1473
+
1474
+
1475
+
1476
+
1477
+
1478
+
1479
+
1480
+
1481
+
1482
+
1483
+
1484
+
1485
+
1211
1486
 
1212
1487
 
1213
1488
 
@@ -1378,6 +1653,41 @@ export class TreeMap<K = any, V = any, R = [K, V]> implements Iterable<[K, V | u
1378
1653
 
1379
1654
 
1380
1655
 
1656
+
1657
+
1658
+
1659
+
1660
+
1661
+
1662
+
1663
+
1664
+
1665
+
1666
+
1667
+
1668
+
1669
+
1670
+
1671
+
1672
+
1673
+
1674
+
1675
+
1676
+
1677
+
1678
+
1679
+
1680
+
1681
+
1682
+
1683
+
1684
+
1685
+
1686
+
1687
+
1688
+
1689
+
1690
+
1381
1691
 
1382
1692
 
1383
1693
 
@@ -1555,6 +1865,41 @@ export class TreeMap<K = any, V = any, R = [K, V]> implements Iterable<[K, V | u
1555
1865
 
1556
1866
 
1557
1867
 
1868
+
1869
+
1870
+
1871
+
1872
+
1873
+
1874
+
1875
+
1876
+
1877
+
1878
+
1879
+
1880
+
1881
+
1882
+
1883
+
1884
+
1885
+
1886
+
1887
+
1888
+
1889
+
1890
+
1891
+
1892
+
1893
+
1894
+
1895
+
1896
+
1897
+
1898
+
1899
+
1900
+
1901
+
1902
+
1558
1903
 
1559
1904
 
1560
1905
 
@@ -1747,23 +2092,128 @@ export class TreeMap<K = any, V = any, R = [K, V]> implements Iterable<[K, V | u
1747
2092
 
1748
2093
 
1749
2094
 
1750
- * @example
1751
- * // Iterate key-value pairs
1752
- * const tm = new TreeMap<number, string>([[3, 'c'], [1, 'a'], [2, 'b']]);
1753
- * console.log([...tm.entries()]); // [[1, 'a'], [2, 'b'], [3, 'c']];
1754
- */
1755
- *entries(): IterableIterator<[K, V | undefined]> {
1756
- for (const k of this.keys()) yield this._entryFromKey(k);
1757
- }
1758
-
1759
- [Symbol.iterator](): IterableIterator<[K, V | undefined]> {
1760
- return this.entries();
1761
- }
1762
-
1763
- /**
1764
- * Visit each entry in ascending key order.
1765
- *
1766
- * Note: callback value may be `undefined`.
2095
+
2096
+
2097
+
2098
+
2099
+
2100
+
2101
+
2102
+
2103
+
2104
+
2105
+
2106
+
2107
+
2108
+
2109
+
2110
+
2111
+
2112
+
2113
+
2114
+
2115
+
2116
+
2117
+
2118
+
2119
+
2120
+
2121
+
2122
+
2123
+
2124
+
2125
+
2126
+
2127
+
2128
+
2129
+
2130
+ * @example
2131
+ * // Iterate key-value pairs
2132
+ * const tm = new TreeMap<number, string>([[3, 'c'], [1, 'a'], [2, 'b']]);
2133
+ * console.log([...tm.entries()]); // [[1, 'a'], [2, 'b'], [3, 'c']];
2134
+ */
2135
+ *entries(): IterableIterator<[K, V | undefined]> {
2136
+ for (const k of this.keys()) yield this._entryFromKey(k);
2137
+ }
2138
+
2139
+ [Symbol.iterator](): IterableIterator<[K, V | undefined]> {
2140
+ return this.entries();
2141
+ }
2142
+
2143
+ /**
2144
+ * Visit each entry in ascending key order.
2145
+ *
2146
+ * Note: callback value may be `undefined`.
2147
+
2148
+
2149
+
2150
+
2151
+
2152
+
2153
+
2154
+
2155
+
2156
+
2157
+
2158
+
2159
+
2160
+
2161
+
2162
+
2163
+
2164
+
2165
+
2166
+
2167
+
2168
+
2169
+
2170
+
2171
+
2172
+
2173
+
2174
+
2175
+
2176
+
2177
+
2178
+
2179
+
2180
+
2181
+
2182
+
2183
+
2184
+
2185
+
2186
+
2187
+
2188
+
2189
+
2190
+
2191
+
2192
+
2193
+
2194
+
2195
+
2196
+
2197
+
2198
+
2199
+
2200
+
2201
+
2202
+
2203
+
2204
+
2205
+
2206
+
2207
+
2208
+
2209
+
2210
+
2211
+
2212
+
2213
+
2214
+
2215
+
2216
+
1767
2217
 
1768
2218
 
1769
2219
 
@@ -1887,6 +2337,22 @@ export class TreeMap<K = any, V = any, R = [K, V]> implements Iterable<[K, V | u
1887
2337
 
1888
2338
 
1889
2339
 
2340
+ * @example
2341
+ * // Execute for each entry
2342
+ * const tm = new TreeMap<number, string>([[1, 'a'], [2, 'b']]);
2343
+ * const pairs: string[] = [];
2344
+ * tm.forEach((v, k) => pairs.push(`${k}:${v}`));
2345
+ * console.log(pairs); // ['1:a', '2:b'];
2346
+ */
2347
+ forEach(cb: (value: V | undefined, key: K, map: TreeMap<K, V>) => void, thisArg?: unknown): void {
2348
+ for (const [k, v] of this) cb.call(thisArg, v, k, this);
2349
+ }
2350
+
2351
+ /**
2352
+ * Create a new TreeMap by mapping each entry to a new `[key, value]` entry.
2353
+ *
2354
+ * This mirrors `RedBlackTree.map`: mapping produces a new ordered container.
2355
+ * @remarks Time O(n log n) expected, Space O(n)
1890
2356
 
1891
2357
 
1892
2358
 
@@ -1922,22 +2388,6 @@ export class TreeMap<K = any, V = any, R = [K, V]> implements Iterable<[K, V | u
1922
2388
 
1923
2389
 
1924
2390
 
1925
- * @example
1926
- * // Execute for each entry
1927
- * const tm = new TreeMap<number, string>([[1, 'a'], [2, 'b']]);
1928
- * const pairs: string[] = [];
1929
- * tm.forEach((v, k) => pairs.push(`${k}:${v}`));
1930
- * console.log(pairs); // ['1:a', '2:b'];
1931
- */
1932
- forEach(cb: (value: V | undefined, key: K, map: TreeMap<K, V>) => void, thisArg?: unknown): void {
1933
- for (const [k, v] of this) cb.call(thisArg, v, k, this);
1934
- }
1935
-
1936
- /**
1937
- * Create a new TreeMap by mapping each entry to a new `[key, value]` entry.
1938
- *
1939
- * This mirrors `RedBlackTree.map`: mapping produces a new ordered container.
1940
- * @remarks Time O(n log n) expected, Space O(n)
1941
2391
 
1942
2392
 
1943
2393
 
@@ -2258,6 +2708,41 @@ export class TreeMap<K = any, V = any, R = [K, V]> implements Iterable<[K, V | u
2258
2708
 
2259
2709
 
2260
2710
 
2711
+
2712
+
2713
+
2714
+
2715
+
2716
+
2717
+
2718
+
2719
+
2720
+
2721
+
2722
+
2723
+
2724
+
2725
+
2726
+
2727
+
2728
+
2729
+
2730
+
2731
+
2732
+
2733
+
2734
+
2735
+
2736
+
2737
+
2738
+
2739
+
2740
+
2741
+
2742
+
2743
+
2744
+
2745
+
2261
2746
 
2262
2747
 
2263
2748
 
@@ -2437,6 +2922,41 @@ export class TreeMap<K = any, V = any, R = [K, V]> implements Iterable<[K, V | u
2437
2922
 
2438
2923
 
2439
2924
 
2925
+
2926
+
2927
+
2928
+
2929
+
2930
+
2931
+
2932
+
2933
+
2934
+
2935
+
2936
+
2937
+
2938
+
2939
+
2940
+
2941
+
2942
+
2943
+
2944
+
2945
+
2946
+
2947
+
2948
+
2949
+
2950
+
2951
+
2952
+
2953
+
2954
+
2955
+
2956
+
2957
+
2958
+
2959
+
2440
2960
 
2441
2961
 
2442
2962
 
@@ -2608,6 +3128,41 @@ export class TreeMap<K = any, V = any, R = [K, V]> implements Iterable<[K, V | u
2608
3128
 
2609
3129
 
2610
3130
 
3131
+
3132
+
3133
+
3134
+
3135
+
3136
+
3137
+
3138
+
3139
+
3140
+
3141
+
3142
+
3143
+
3144
+
3145
+
3146
+
3147
+
3148
+
3149
+
3150
+
3151
+
3152
+
3153
+
3154
+
3155
+
3156
+
3157
+
3158
+
3159
+
3160
+
3161
+
3162
+
3163
+
3164
+
3165
+
2611
3166
 
2612
3167
 
2613
3168
 
@@ -2783,6 +3338,41 @@ export class TreeMap<K = any, V = any, R = [K, V]> implements Iterable<[K, V | u
2783
3338
 
2784
3339
 
2785
3340
 
3341
+
3342
+
3343
+
3344
+
3345
+
3346
+
3347
+
3348
+
3349
+
3350
+
3351
+
3352
+
3353
+
3354
+
3355
+
3356
+
3357
+
3358
+
3359
+
3360
+
3361
+
3362
+
3363
+
3364
+
3365
+
3366
+
3367
+
3368
+
3369
+
3370
+
3371
+
3372
+
3373
+
3374
+
3375
+
2786
3376
 
2787
3377
 
2788
3378
 
@@ -2959,6 +3549,41 @@ export class TreeMap<K = any, V = any, R = [K, V]> implements Iterable<[K, V | u
2959
3549
 
2960
3550
 
2961
3551
 
3552
+
3553
+
3554
+
3555
+
3556
+
3557
+
3558
+
3559
+
3560
+
3561
+
3562
+
3563
+
3564
+
3565
+
3566
+
3567
+
3568
+
3569
+
3570
+
3571
+
3572
+
3573
+
3574
+
3575
+
3576
+
3577
+
3578
+
3579
+
3580
+
3581
+
3582
+
3583
+
3584
+
3585
+
3586
+
2962
3587
 
2963
3588
 
2964
3589
 
@@ -3136,6 +3761,41 @@ export class TreeMap<K = any, V = any, R = [K, V]> implements Iterable<[K, V | u
3136
3761
 
3137
3762
 
3138
3763
 
3764
+
3765
+
3766
+
3767
+
3768
+
3769
+
3770
+
3771
+
3772
+
3773
+
3774
+
3775
+
3776
+
3777
+
3778
+
3779
+
3780
+
3781
+
3782
+
3783
+
3784
+
3785
+
3786
+
3787
+
3788
+
3789
+
3790
+
3791
+
3792
+
3793
+
3794
+
3795
+
3796
+
3797
+
3798
+
3139
3799
 
3140
3800
 
3141
3801
 
@@ -3306,6 +3966,41 @@ export class TreeMap<K = any, V = any, R = [K, V]> implements Iterable<[K, V | u
3306
3966
 
3307
3967
 
3308
3968
 
3969
+
3970
+
3971
+
3972
+
3973
+
3974
+
3975
+
3976
+
3977
+
3978
+
3979
+
3980
+
3981
+
3982
+
3983
+
3984
+
3985
+
3986
+
3987
+
3988
+
3989
+
3990
+
3991
+
3992
+
3993
+
3994
+
3995
+
3996
+
3997
+
3998
+
3999
+
4000
+
4001
+
4002
+
4003
+
3309
4004
 
3310
4005
 
3311
4006
 
@@ -3369,6 +4064,13 @@ export class TreeMap<K = any, V = any, R = [K, V]> implements Iterable<[K, V | u
3369
4064
 
3370
4065
 
3371
4066
 
4067
+
4068
+
4069
+
4070
+
4071
+
4072
+
4073
+
3372
4074
 
3373
4075
 
3374
4076
 
@@ -3438,6 +4140,13 @@ export class TreeMap<K = any, V = any, R = [K, V]> implements Iterable<[K, V | u
3438
4140
 
3439
4141
 
3440
4142
 
4143
+
4144
+
4145
+
4146
+
4147
+
4148
+
4149
+
3441
4150
 
3442
4151
 
3443
4152
 
@@ -3491,6 +4200,13 @@ export class TreeMap<K = any, V = any, R = [K, V]> implements Iterable<[K, V | u
3491
4200
 
3492
4201
 
3493
4202
 
4203
+
4204
+
4205
+
4206
+
4207
+
4208
+
4209
+
3494
4210
 
3495
4211
 
3496
4212
 
@@ -3548,6 +4264,13 @@ export class TreeMap<K = any, V = any, R = [K, V]> implements Iterable<[K, V | u
3548
4264
 
3549
4265
 
3550
4266
 
4267
+
4268
+
4269
+
4270
+
4271
+
4272
+
4273
+
3551
4274
 
3552
4275
 
3553
4276
 
@@ -3691,6 +4414,34 @@ export class TreeMap<K = any, V = any, R = [K, V]> implements Iterable<[K, V | u
3691
4414
 
3692
4415
 
3693
4416
 
4417
+
4418
+
4419
+
4420
+
4421
+
4422
+
4423
+
4424
+
4425
+
4426
+
4427
+
4428
+
4429
+
4430
+
4431
+
4432
+
4433
+
4434
+
4435
+
4436
+
4437
+
4438
+
4439
+
4440
+
4441
+
4442
+
4443
+
4444
+
3694
4445
 
3695
4446
 
3696
4447
 
@@ -3865,6 +4616,34 @@ export class TreeMap<K = any, V = any, R = [K, V]> implements Iterable<[K, V | u
3865
4616
 
3866
4617
 
3867
4618
 
4619
+
4620
+
4621
+
4622
+
4623
+
4624
+
4625
+
4626
+
4627
+
4628
+
4629
+
4630
+
4631
+
4632
+
4633
+
4634
+
4635
+
4636
+
4637
+
4638
+
4639
+
4640
+
4641
+
4642
+
4643
+
4644
+
4645
+
4646
+
3868
4647
 
3869
4648
 
3870
4649
 
@@ -4023,6 +4802,34 @@ export class TreeMap<K = any, V = any, R = [K, V]> implements Iterable<[K, V | u
4023
4802
 
4024
4803
 
4025
4804
 
4805
+
4806
+
4807
+
4808
+
4809
+
4810
+
4811
+
4812
+
4813
+
4814
+
4815
+
4816
+
4817
+
4818
+
4819
+
4820
+
4821
+
4822
+
4823
+
4824
+
4825
+
4826
+
4827
+
4828
+
4829
+
4830
+
4831
+
4832
+
4026
4833
 
4027
4834
 
4028
4835
 
@@ -4181,6 +4988,34 @@ export class TreeMap<K = any, V = any, R = [K, V]> implements Iterable<[K, V | u
4181
4988
 
4182
4989
 
4183
4990
 
4991
+
4992
+
4993
+
4994
+
4995
+
4996
+
4997
+
4998
+
4999
+
5000
+
5001
+
5002
+
5003
+
5004
+
5005
+
5006
+
5007
+
5008
+
5009
+
5010
+
5011
+
5012
+
5013
+
5014
+
5015
+
5016
+
5017
+
5018
+
4184
5019
 
4185
5020
 
4186
5021
 
@@ -4340,6 +5175,34 @@ export class TreeMap<K = any, V = any, R = [K, V]> implements Iterable<[K, V | u
4340
5175
 
4341
5176
 
4342
5177
 
5178
+
5179
+
5180
+
5181
+
5182
+
5183
+
5184
+
5185
+
5186
+
5187
+
5188
+
5189
+
5190
+
5191
+
5192
+
5193
+
5194
+
5195
+
5196
+
5197
+
5198
+
5199
+
5200
+
5201
+
5202
+
5203
+
5204
+
5205
+
4343
5206
 
4344
5207
 
4345
5208
 
@@ -4458,8 +5321,22 @@ export class TreeMap<K = any, V = any, R = [K, V]> implements Iterable<[K, V | u
4458
5321
  * Returns keys by rank range (0-indexed, inclusive on both ends).
4459
5322
  * @remarks Time O(log n + k). Requires `enableOrderStatistic: true`.
4460
5323
 
5324
+
5325
+
5326
+
5327
+
5328
+
5329
+
5330
+
5331
+
5332
+
5333
+
5334
+
5335
+
5336
+
5337
+
4461
5338
  * @example
4462
- * // Pagination with rangeByRank
5339
+ * // Pagination by position in tree order
4463
5340
  * const tree = new TreeMap<number>(
4464
5341
  * [10, 20, 30, 40, 50, 60, 70, 80, 90],
4465
5342
  * { enableOrderStatistic: true }
@@ -4621,6 +5498,41 @@ export class TreeMap<K = any, V = any, R = [K, V]> implements Iterable<[K, V | u
4621
5498
 
4622
5499
 
4623
5500
 
5501
+
5502
+
5503
+
5504
+
5505
+
5506
+
5507
+
5508
+
5509
+
5510
+
5511
+
5512
+
5513
+
5514
+
5515
+
5516
+
5517
+
5518
+
5519
+
5520
+
5521
+
5522
+
5523
+
5524
+
5525
+
5526
+
5527
+
5528
+
5529
+
5530
+
5531
+
5532
+
5533
+
5534
+
5535
+
4624
5536
 
4625
5537
 
4626
5538