@tspro/ts-utils-lib 1.12.0 → 1.14.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.
- package/CHANGELOG.md +12 -0
- package/dist/index.d.mts +100 -4
- package/dist/index.d.ts +100 -4
- package/dist/index.js +566 -21
- package/dist/index.mjs +565 -21
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.14.0] - 2025-10-19
|
|
4
|
+
### Added
|
|
5
|
+
- Map1, Map2 and Map3.getOrCreate() accepts value and creator.
|
|
6
|
+
- SignedIndexArray<ELEM>
|
|
7
|
+
|
|
8
|
+
## Fixed
|
|
9
|
+
- Map1, Map2 and Map3.getOrCreate()
|
|
10
|
+
|
|
11
|
+
## [1.13.0] - 2025-10-18
|
|
12
|
+
### Added
|
|
13
|
+
- Added even more functionality to Map1, Map2 and Map3.
|
|
14
|
+
|
|
3
15
|
## [1.12.0] - 2025-10-15
|
|
4
16
|
### Added
|
|
5
17
|
- Added more functionality to Map1, Map2 and Map3.
|
package/dist/index.d.mts
CHANGED
|
@@ -446,43 +446,126 @@ declare class SmallIntCache<V> {
|
|
|
446
446
|
clear(): void;
|
|
447
447
|
}
|
|
448
448
|
|
|
449
|
+
/**
|
|
450
|
+
* An array-like structure for signed indexes, including negatives.
|
|
451
|
+
*/
|
|
452
|
+
declare class SignedIndexArray<EL> {
|
|
453
|
+
private posEl;
|
|
454
|
+
private hasPos;
|
|
455
|
+
private negEl;
|
|
456
|
+
private hasNeg;
|
|
457
|
+
private elCount;
|
|
458
|
+
private static toNegIndex;
|
|
459
|
+
constructor();
|
|
460
|
+
constructor(arr: SignedIndexArray<EL>);
|
|
461
|
+
constructor(entries: Iterable<[number, EL]>);
|
|
462
|
+
get size(): number;
|
|
463
|
+
has(id: number): boolean;
|
|
464
|
+
set(id: number, el: EL): void;
|
|
465
|
+
get(id: number): EL | undefined;
|
|
466
|
+
getOrDefault(id: number, defaultValue: EL): EL;
|
|
467
|
+
getOrCreate(id: number, value: EL): EL;
|
|
468
|
+
getOrCreate(id: number, creator: () => EL): EL;
|
|
469
|
+
delete(id: number): boolean;
|
|
470
|
+
clear(): void;
|
|
471
|
+
forEach(callbackfn: (el: EL, id: number, arr: SignedIndexArray<EL>) => void, thisArg?: any): void;
|
|
472
|
+
indices(): IterableIterator<number>;
|
|
473
|
+
indicesArray(): number[];
|
|
474
|
+
values(): IterableIterator<EL>;
|
|
475
|
+
valuesArray(): EL[];
|
|
476
|
+
entries(): IterableIterator<[number, EL]>;
|
|
477
|
+
entriesArray(): [number, EL][];
|
|
478
|
+
[Symbol.iterator](): Generator<[number, EL], void, any>;
|
|
479
|
+
clone(): SignedIndexArray<EL>;
|
|
480
|
+
merge(other: SignedIndexArray<EL>, conflictResolver?: (oldValue: EL, newValue: EL, id: number) => EL): this;
|
|
481
|
+
some(fn: (el: EL, id: number) => boolean): boolean;
|
|
482
|
+
every(fn: (value: EL, key1: number) => boolean): boolean;
|
|
483
|
+
filter(fn: (value: EL, key1: number) => boolean): SignedIndexArray<EL>;
|
|
484
|
+
reduce(fn: (acc: EL, el: EL, id: number) => EL): EL;
|
|
485
|
+
reduce<R>(fn: (acc: R, el: EL, id: number) => R, init: R): R;
|
|
486
|
+
mapToArray<R>(fn: (value: EL, key1: number) => R): R[];
|
|
487
|
+
map<R = EL>(fn: (value: EL, key1: number) => R): SignedIndexArray<R>;
|
|
488
|
+
toString(): string;
|
|
489
|
+
}
|
|
490
|
+
|
|
449
491
|
declare class Map1<KEY1, VALUE> {
|
|
450
492
|
private map1;
|
|
451
493
|
constructor();
|
|
494
|
+
constructor(map1: Map1<KEY1, VALUE>);
|
|
495
|
+
constructor(entries: Iterable<[KEY1, VALUE]>);
|
|
496
|
+
has(key1: KEY1): boolean;
|
|
452
497
|
set(key1: KEY1, value: VALUE): VALUE;
|
|
453
498
|
get(key1: KEY1): VALUE | undefined;
|
|
454
|
-
|
|
499
|
+
getOrDefault(key1: KEY1, defaultValue: VALUE): VALUE;
|
|
500
|
+
getOrCreate(key1: KEY1, value: VALUE): VALUE;
|
|
501
|
+
getOrCreate(key1: KEY1, creator: () => VALUE): VALUE;
|
|
455
502
|
delete(key1: KEY1): boolean;
|
|
456
503
|
clear(): void;
|
|
457
504
|
get size(): number;
|
|
458
505
|
forEach(callbackfn: (value: VALUE, key1: KEY1, map1: Map1<KEY1, VALUE>) => void, thisArg?: any): void;
|
|
459
506
|
keys(): IterableIterator<KEY1>;
|
|
507
|
+
keysArray(): KEY1[];
|
|
460
508
|
values(): IterableIterator<VALUE>;
|
|
509
|
+
valuesArray(): VALUE[];
|
|
461
510
|
entries(): IterableIterator<[KEY1, VALUE]>;
|
|
511
|
+
entriesArray(): [KEY1, VALUE][];
|
|
462
512
|
[Symbol.iterator](): Generator<[KEY1, VALUE], void, any>;
|
|
513
|
+
clone(): Map1<KEY1, VALUE>;
|
|
514
|
+
merge(other: Map1<KEY1, VALUE>, conflictResolver?: (oldValue: VALUE, newValue: VALUE, key1: KEY1) => VALUE): this;
|
|
515
|
+
some(fn: (value: VALUE, key1: KEY1) => boolean): boolean;
|
|
516
|
+
every(fn: (value: VALUE, key1: KEY1) => boolean): boolean;
|
|
517
|
+
filter(fn: (value: VALUE, key1: KEY1) => boolean): Map1<KEY1, VALUE>;
|
|
518
|
+
reduce<R>(fn: (acc: R, value: VALUE, key1: KEY1) => R, init: R): R;
|
|
519
|
+
mapEntries<R>(fn: (value: VALUE, key1: KEY1) => R): R[];
|
|
520
|
+
mapValues<R = VALUE>(fn: (value: VALUE, key1: KEY1) => R): Map1<KEY1, R>;
|
|
521
|
+
toMap(): Map<KEY1, VALUE>;
|
|
522
|
+
toString(): string;
|
|
463
523
|
}
|
|
464
524
|
declare class Map2<KEY1, KEY2, VALUE> {
|
|
465
525
|
private map1;
|
|
466
526
|
constructor();
|
|
527
|
+
constructor(map2: Map2<KEY1, KEY2, VALUE>);
|
|
528
|
+
constructor(entries: Iterable<[KEY1, KEY2, VALUE]>);
|
|
529
|
+
has(key1: KEY1, key2: KEY2): boolean;
|
|
467
530
|
set(key1: KEY1, key2: KEY2, value: VALUE): VALUE;
|
|
468
531
|
get(key1: KEY1, key2: KEY2): VALUE | undefined;
|
|
469
|
-
|
|
532
|
+
getOrDefault(key1: KEY1, key2: KEY2, defaultValue: VALUE): VALUE;
|
|
533
|
+
getOrCreate(key1: KEY1, key2: KEY2, value: VALUE): VALUE;
|
|
534
|
+
getOrCreate(key1: KEY1, key2: KEY2, creator: () => VALUE): VALUE;
|
|
470
535
|
delete(key1: KEY1): boolean;
|
|
471
536
|
delete(key1: KEY1, key2: KEY2): boolean;
|
|
472
537
|
clear(): void;
|
|
473
538
|
get size(): number;
|
|
474
539
|
forEach(callbackfn: (value: VALUE, key1: KEY1, key2: KEY2, map2: Map2<KEY1, KEY2, VALUE>) => void, thisArg?: any): void;
|
|
475
540
|
keys(): IterableIterator<[KEY1, KEY2]>;
|
|
541
|
+
keysArray(): [KEY1, KEY2][];
|
|
476
542
|
values(): IterableIterator<VALUE>;
|
|
543
|
+
valuesArray(): VALUE[];
|
|
477
544
|
entries(): IterableIterator<[KEY1, KEY2, VALUE]>;
|
|
545
|
+
entriesArray(): [KEY1, KEY2, VALUE][];
|
|
478
546
|
[Symbol.iterator](): Generator<[KEY1, KEY2, VALUE], void, any>;
|
|
547
|
+
clone(): Map2<KEY1, KEY2, VALUE>;
|
|
548
|
+
merge(other: Map2<KEY1, KEY2, VALUE>, conflictResolver?: (oldValue: VALUE, newValue: VALUE, key1: KEY1, key2: KEY2) => VALUE): this;
|
|
549
|
+
some(fn: (value: VALUE, key1: KEY1, key2: KEY2) => boolean): boolean;
|
|
550
|
+
every(fn: (value: VALUE, key1: KEY1, key2: KEY2) => boolean): boolean;
|
|
551
|
+
filter(fn: (value: VALUE, key1: KEY1, key2: KEY2) => boolean): Map2<KEY1, KEY2, VALUE>;
|
|
552
|
+
reduce<R>(fn: (acc: R, value: VALUE, key1: KEY1, key2: KEY2) => R, init: R): R;
|
|
553
|
+
mapEntries<R>(fn: (value: VALUE, key1: KEY1, key2: KEY2) => R): R[];
|
|
554
|
+
mapValues<R = VALUE>(fn: (value: VALUE, key1: KEY1, key2: KEY2) => R): Map2<KEY1, KEY2, R>;
|
|
555
|
+
toMap(): Map<[KEY1, KEY2], VALUE>;
|
|
556
|
+
toString(): string;
|
|
479
557
|
}
|
|
480
558
|
declare class Map3<KEY1, KEY2, KEY3, VALUE> {
|
|
481
559
|
private map1;
|
|
482
560
|
constructor();
|
|
561
|
+
constructor(entries: Iterable<[KEY1, KEY2, KEY3, VALUE]>);
|
|
562
|
+
constructor(map3: Map3<KEY1, KEY2, KEY3, VALUE>);
|
|
563
|
+
has(key1: KEY1, key2: KEY2, key3: KEY3): boolean;
|
|
483
564
|
set(key1: KEY1, key2: KEY2, key3: KEY3, value: VALUE): VALUE;
|
|
484
565
|
get(key1: KEY1, key2: KEY2, key3: KEY3): VALUE | undefined;
|
|
485
|
-
|
|
566
|
+
getOrDefault(key1: KEY1, key2: KEY2, key3: KEY3, defaultValue: VALUE): VALUE;
|
|
567
|
+
getOrCreate(key1: KEY1, key2: KEY2, key3: KEY3, value: VALUE): VALUE;
|
|
568
|
+
getOrCreate(key1: KEY1, key2: KEY2, key3: KEY3, creator: () => VALUE): VALUE;
|
|
486
569
|
delete(key1: KEY1): boolean;
|
|
487
570
|
delete(key1: KEY1, key2: KEY2): boolean;
|
|
488
571
|
delete(key1: KEY1, key2: KEY2, key3: KEY3): boolean;
|
|
@@ -490,9 +573,22 @@ declare class Map3<KEY1, KEY2, KEY3, VALUE> {
|
|
|
490
573
|
get size(): number;
|
|
491
574
|
forEach(callbackfn: (value: VALUE, key1: KEY1, key2: KEY2, key3: KEY3, map2: Map3<KEY1, KEY2, KEY3, VALUE>) => void, thisArg?: any): void;
|
|
492
575
|
keys(): IterableIterator<[KEY1, KEY2, KEY3]>;
|
|
576
|
+
keysArray(): [KEY1, KEY2, KEY3][];
|
|
493
577
|
values(): IterableIterator<VALUE>;
|
|
578
|
+
valuesArray(): VALUE[];
|
|
494
579
|
entries(): IterableIterator<[KEY1, KEY2, KEY3, VALUE]>;
|
|
580
|
+
entriesArray(): [KEY1, KEY2, KEY3, VALUE][];
|
|
495
581
|
[Symbol.iterator](): Generator<[KEY1, KEY2, KEY3, VALUE], void, any>;
|
|
582
|
+
clone(): Map3<KEY1, KEY2, KEY3, VALUE>;
|
|
583
|
+
merge(other: Map3<KEY1, KEY2, KEY3, VALUE>, conflictResolver?: (oldValue: VALUE, newValue: VALUE, key1: KEY1, key2: KEY2, key3: KEY3) => VALUE): this;
|
|
584
|
+
some(fn: (value: VALUE, key1: KEY1, key2: KEY2, key3: KEY3) => boolean): boolean;
|
|
585
|
+
every(fn: (value: VALUE, key1: KEY1, key2: KEY2, key3: KEY3) => boolean): boolean;
|
|
586
|
+
filter(fn: (value: VALUE, key1: KEY1, key2: KEY2, key3: KEY3) => boolean): Map3<KEY1, KEY2, KEY3, VALUE>;
|
|
587
|
+
reduce<R>(fn: (acc: R, value: VALUE, key1: KEY1, key2: KEY2, key3: KEY3) => R, init: R): R;
|
|
588
|
+
mapEntries<R>(fn: (value: VALUE, key1: KEY1, key2: KEY2, key3: KEY3) => R): R[];
|
|
589
|
+
mapValues<R = VALUE>(fn: (value: VALUE, key1: KEY1, key2: KEY2, key3: KEY3) => R): Map3<KEY1, KEY2, KEY3, R>;
|
|
590
|
+
toMap(): Map<[KEY1, KEY2, KEY3], VALUE>;
|
|
591
|
+
toString(): string;
|
|
496
592
|
}
|
|
497
593
|
|
|
498
|
-
export { Assert, Cookies, Device, LRUCache, Map1, Map2, Map3, SmallIntCache, Stack, index as Utils, Vec2 };
|
|
594
|
+
export { Assert, Cookies, Device, LRUCache, Map1, Map2, Map3, SignedIndexArray, SmallIntCache, Stack, index as Utils, Vec2 };
|
package/dist/index.d.ts
CHANGED
|
@@ -446,43 +446,126 @@ declare class SmallIntCache<V> {
|
|
|
446
446
|
clear(): void;
|
|
447
447
|
}
|
|
448
448
|
|
|
449
|
+
/**
|
|
450
|
+
* An array-like structure for signed indexes, including negatives.
|
|
451
|
+
*/
|
|
452
|
+
declare class SignedIndexArray<EL> {
|
|
453
|
+
private posEl;
|
|
454
|
+
private hasPos;
|
|
455
|
+
private negEl;
|
|
456
|
+
private hasNeg;
|
|
457
|
+
private elCount;
|
|
458
|
+
private static toNegIndex;
|
|
459
|
+
constructor();
|
|
460
|
+
constructor(arr: SignedIndexArray<EL>);
|
|
461
|
+
constructor(entries: Iterable<[number, EL]>);
|
|
462
|
+
get size(): number;
|
|
463
|
+
has(id: number): boolean;
|
|
464
|
+
set(id: number, el: EL): void;
|
|
465
|
+
get(id: number): EL | undefined;
|
|
466
|
+
getOrDefault(id: number, defaultValue: EL): EL;
|
|
467
|
+
getOrCreate(id: number, value: EL): EL;
|
|
468
|
+
getOrCreate(id: number, creator: () => EL): EL;
|
|
469
|
+
delete(id: number): boolean;
|
|
470
|
+
clear(): void;
|
|
471
|
+
forEach(callbackfn: (el: EL, id: number, arr: SignedIndexArray<EL>) => void, thisArg?: any): void;
|
|
472
|
+
indices(): IterableIterator<number>;
|
|
473
|
+
indicesArray(): number[];
|
|
474
|
+
values(): IterableIterator<EL>;
|
|
475
|
+
valuesArray(): EL[];
|
|
476
|
+
entries(): IterableIterator<[number, EL]>;
|
|
477
|
+
entriesArray(): [number, EL][];
|
|
478
|
+
[Symbol.iterator](): Generator<[number, EL], void, any>;
|
|
479
|
+
clone(): SignedIndexArray<EL>;
|
|
480
|
+
merge(other: SignedIndexArray<EL>, conflictResolver?: (oldValue: EL, newValue: EL, id: number) => EL): this;
|
|
481
|
+
some(fn: (el: EL, id: number) => boolean): boolean;
|
|
482
|
+
every(fn: (value: EL, key1: number) => boolean): boolean;
|
|
483
|
+
filter(fn: (value: EL, key1: number) => boolean): SignedIndexArray<EL>;
|
|
484
|
+
reduce(fn: (acc: EL, el: EL, id: number) => EL): EL;
|
|
485
|
+
reduce<R>(fn: (acc: R, el: EL, id: number) => R, init: R): R;
|
|
486
|
+
mapToArray<R>(fn: (value: EL, key1: number) => R): R[];
|
|
487
|
+
map<R = EL>(fn: (value: EL, key1: number) => R): SignedIndexArray<R>;
|
|
488
|
+
toString(): string;
|
|
489
|
+
}
|
|
490
|
+
|
|
449
491
|
declare class Map1<KEY1, VALUE> {
|
|
450
492
|
private map1;
|
|
451
493
|
constructor();
|
|
494
|
+
constructor(map1: Map1<KEY1, VALUE>);
|
|
495
|
+
constructor(entries: Iterable<[KEY1, VALUE]>);
|
|
496
|
+
has(key1: KEY1): boolean;
|
|
452
497
|
set(key1: KEY1, value: VALUE): VALUE;
|
|
453
498
|
get(key1: KEY1): VALUE | undefined;
|
|
454
|
-
|
|
499
|
+
getOrDefault(key1: KEY1, defaultValue: VALUE): VALUE;
|
|
500
|
+
getOrCreate(key1: KEY1, value: VALUE): VALUE;
|
|
501
|
+
getOrCreate(key1: KEY1, creator: () => VALUE): VALUE;
|
|
455
502
|
delete(key1: KEY1): boolean;
|
|
456
503
|
clear(): void;
|
|
457
504
|
get size(): number;
|
|
458
505
|
forEach(callbackfn: (value: VALUE, key1: KEY1, map1: Map1<KEY1, VALUE>) => void, thisArg?: any): void;
|
|
459
506
|
keys(): IterableIterator<KEY1>;
|
|
507
|
+
keysArray(): KEY1[];
|
|
460
508
|
values(): IterableIterator<VALUE>;
|
|
509
|
+
valuesArray(): VALUE[];
|
|
461
510
|
entries(): IterableIterator<[KEY1, VALUE]>;
|
|
511
|
+
entriesArray(): [KEY1, VALUE][];
|
|
462
512
|
[Symbol.iterator](): Generator<[KEY1, VALUE], void, any>;
|
|
513
|
+
clone(): Map1<KEY1, VALUE>;
|
|
514
|
+
merge(other: Map1<KEY1, VALUE>, conflictResolver?: (oldValue: VALUE, newValue: VALUE, key1: KEY1) => VALUE): this;
|
|
515
|
+
some(fn: (value: VALUE, key1: KEY1) => boolean): boolean;
|
|
516
|
+
every(fn: (value: VALUE, key1: KEY1) => boolean): boolean;
|
|
517
|
+
filter(fn: (value: VALUE, key1: KEY1) => boolean): Map1<KEY1, VALUE>;
|
|
518
|
+
reduce<R>(fn: (acc: R, value: VALUE, key1: KEY1) => R, init: R): R;
|
|
519
|
+
mapEntries<R>(fn: (value: VALUE, key1: KEY1) => R): R[];
|
|
520
|
+
mapValues<R = VALUE>(fn: (value: VALUE, key1: KEY1) => R): Map1<KEY1, R>;
|
|
521
|
+
toMap(): Map<KEY1, VALUE>;
|
|
522
|
+
toString(): string;
|
|
463
523
|
}
|
|
464
524
|
declare class Map2<KEY1, KEY2, VALUE> {
|
|
465
525
|
private map1;
|
|
466
526
|
constructor();
|
|
527
|
+
constructor(map2: Map2<KEY1, KEY2, VALUE>);
|
|
528
|
+
constructor(entries: Iterable<[KEY1, KEY2, VALUE]>);
|
|
529
|
+
has(key1: KEY1, key2: KEY2): boolean;
|
|
467
530
|
set(key1: KEY1, key2: KEY2, value: VALUE): VALUE;
|
|
468
531
|
get(key1: KEY1, key2: KEY2): VALUE | undefined;
|
|
469
|
-
|
|
532
|
+
getOrDefault(key1: KEY1, key2: KEY2, defaultValue: VALUE): VALUE;
|
|
533
|
+
getOrCreate(key1: KEY1, key2: KEY2, value: VALUE): VALUE;
|
|
534
|
+
getOrCreate(key1: KEY1, key2: KEY2, creator: () => VALUE): VALUE;
|
|
470
535
|
delete(key1: KEY1): boolean;
|
|
471
536
|
delete(key1: KEY1, key2: KEY2): boolean;
|
|
472
537
|
clear(): void;
|
|
473
538
|
get size(): number;
|
|
474
539
|
forEach(callbackfn: (value: VALUE, key1: KEY1, key2: KEY2, map2: Map2<KEY1, KEY2, VALUE>) => void, thisArg?: any): void;
|
|
475
540
|
keys(): IterableIterator<[KEY1, KEY2]>;
|
|
541
|
+
keysArray(): [KEY1, KEY2][];
|
|
476
542
|
values(): IterableIterator<VALUE>;
|
|
543
|
+
valuesArray(): VALUE[];
|
|
477
544
|
entries(): IterableIterator<[KEY1, KEY2, VALUE]>;
|
|
545
|
+
entriesArray(): [KEY1, KEY2, VALUE][];
|
|
478
546
|
[Symbol.iterator](): Generator<[KEY1, KEY2, VALUE], void, any>;
|
|
547
|
+
clone(): Map2<KEY1, KEY2, VALUE>;
|
|
548
|
+
merge(other: Map2<KEY1, KEY2, VALUE>, conflictResolver?: (oldValue: VALUE, newValue: VALUE, key1: KEY1, key2: KEY2) => VALUE): this;
|
|
549
|
+
some(fn: (value: VALUE, key1: KEY1, key2: KEY2) => boolean): boolean;
|
|
550
|
+
every(fn: (value: VALUE, key1: KEY1, key2: KEY2) => boolean): boolean;
|
|
551
|
+
filter(fn: (value: VALUE, key1: KEY1, key2: KEY2) => boolean): Map2<KEY1, KEY2, VALUE>;
|
|
552
|
+
reduce<R>(fn: (acc: R, value: VALUE, key1: KEY1, key2: KEY2) => R, init: R): R;
|
|
553
|
+
mapEntries<R>(fn: (value: VALUE, key1: KEY1, key2: KEY2) => R): R[];
|
|
554
|
+
mapValues<R = VALUE>(fn: (value: VALUE, key1: KEY1, key2: KEY2) => R): Map2<KEY1, KEY2, R>;
|
|
555
|
+
toMap(): Map<[KEY1, KEY2], VALUE>;
|
|
556
|
+
toString(): string;
|
|
479
557
|
}
|
|
480
558
|
declare class Map3<KEY1, KEY2, KEY3, VALUE> {
|
|
481
559
|
private map1;
|
|
482
560
|
constructor();
|
|
561
|
+
constructor(entries: Iterable<[KEY1, KEY2, KEY3, VALUE]>);
|
|
562
|
+
constructor(map3: Map3<KEY1, KEY2, KEY3, VALUE>);
|
|
563
|
+
has(key1: KEY1, key2: KEY2, key3: KEY3): boolean;
|
|
483
564
|
set(key1: KEY1, key2: KEY2, key3: KEY3, value: VALUE): VALUE;
|
|
484
565
|
get(key1: KEY1, key2: KEY2, key3: KEY3): VALUE | undefined;
|
|
485
|
-
|
|
566
|
+
getOrDefault(key1: KEY1, key2: KEY2, key3: KEY3, defaultValue: VALUE): VALUE;
|
|
567
|
+
getOrCreate(key1: KEY1, key2: KEY2, key3: KEY3, value: VALUE): VALUE;
|
|
568
|
+
getOrCreate(key1: KEY1, key2: KEY2, key3: KEY3, creator: () => VALUE): VALUE;
|
|
486
569
|
delete(key1: KEY1): boolean;
|
|
487
570
|
delete(key1: KEY1, key2: KEY2): boolean;
|
|
488
571
|
delete(key1: KEY1, key2: KEY2, key3: KEY3): boolean;
|
|
@@ -490,9 +573,22 @@ declare class Map3<KEY1, KEY2, KEY3, VALUE> {
|
|
|
490
573
|
get size(): number;
|
|
491
574
|
forEach(callbackfn: (value: VALUE, key1: KEY1, key2: KEY2, key3: KEY3, map2: Map3<KEY1, KEY2, KEY3, VALUE>) => void, thisArg?: any): void;
|
|
492
575
|
keys(): IterableIterator<[KEY1, KEY2, KEY3]>;
|
|
576
|
+
keysArray(): [KEY1, KEY2, KEY3][];
|
|
493
577
|
values(): IterableIterator<VALUE>;
|
|
578
|
+
valuesArray(): VALUE[];
|
|
494
579
|
entries(): IterableIterator<[KEY1, KEY2, KEY3, VALUE]>;
|
|
580
|
+
entriesArray(): [KEY1, KEY2, KEY3, VALUE][];
|
|
495
581
|
[Symbol.iterator](): Generator<[KEY1, KEY2, KEY3, VALUE], void, any>;
|
|
582
|
+
clone(): Map3<KEY1, KEY2, KEY3, VALUE>;
|
|
583
|
+
merge(other: Map3<KEY1, KEY2, KEY3, VALUE>, conflictResolver?: (oldValue: VALUE, newValue: VALUE, key1: KEY1, key2: KEY2, key3: KEY3) => VALUE): this;
|
|
584
|
+
some(fn: (value: VALUE, key1: KEY1, key2: KEY2, key3: KEY3) => boolean): boolean;
|
|
585
|
+
every(fn: (value: VALUE, key1: KEY1, key2: KEY2, key3: KEY3) => boolean): boolean;
|
|
586
|
+
filter(fn: (value: VALUE, key1: KEY1, key2: KEY2, key3: KEY3) => boolean): Map3<KEY1, KEY2, KEY3, VALUE>;
|
|
587
|
+
reduce<R>(fn: (acc: R, value: VALUE, key1: KEY1, key2: KEY2, key3: KEY3) => R, init: R): R;
|
|
588
|
+
mapEntries<R>(fn: (value: VALUE, key1: KEY1, key2: KEY2, key3: KEY3) => R): R[];
|
|
589
|
+
mapValues<R = VALUE>(fn: (value: VALUE, key1: KEY1, key2: KEY2, key3: KEY3) => R): Map3<KEY1, KEY2, KEY3, R>;
|
|
590
|
+
toMap(): Map<[KEY1, KEY2, KEY3], VALUE>;
|
|
591
|
+
toString(): string;
|
|
496
592
|
}
|
|
497
593
|
|
|
498
|
-
export { Assert, Cookies, Device, LRUCache, Map1, Map2, Map3, SmallIntCache, Stack, index as Utils, Vec2 };
|
|
594
|
+
export { Assert, Cookies, Device, LRUCache, Map1, Map2, Map3, SignedIndexArray, SmallIntCache, Stack, index as Utils, Vec2 };
|