@monstermann/map 0.1.2 → 0.3.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/README.md +2496 -0
- package/dist/Map/clone.d.mts +10 -5
- package/dist/Map/clone.mjs +10 -5
- package/dist/Map/compact.d.mts +16 -12
- package/dist/Map/compact.mjs +12 -5
- package/dist/Map/create.d.mts +9 -2
- package/dist/Map/create.mjs +9 -2
- package/dist/Map/every.d.mts +58 -0
- package/dist/Map/every.mjs +55 -0
- package/dist/Map/filter.d.mts +25 -16
- package/dist/Map/filter.mjs +17 -5
- package/dist/Map/find.d.mts +54 -0
- package/dist/Map/find.mjs +54 -0
- package/dist/Map/findMap.d.mts +67 -0
- package/dist/Map/findMap.mjs +71 -0
- package/dist/Map/findMapAll.d.mts +67 -0
- package/dist/Map/findMapAll.mjs +72 -0
- package/dist/Map/findMapOr.d.mts +70 -0
- package/dist/Map/findMapOr.mjs +74 -0
- package/dist/Map/findMapOrElse.d.mts +70 -0
- package/dist/Map/findMapOrElse.mjs +74 -0
- package/dist/Map/findMapOrThrow.d.mts +67 -0
- package/dist/Map/findMapOrThrow.mjs +71 -0
- package/dist/Map/findOr.d.mts +56 -0
- package/dist/Map/findOr.mjs +57 -0
- package/dist/Map/findOrElse.d.mts +59 -0
- package/dist/Map/findOrElse.mjs +60 -0
- package/dist/Map/findOrThrow.d.mts +54 -0
- package/dist/Map/findOrThrow.mjs +55 -0
- package/dist/Map/findRemove.d.mts +54 -0
- package/dist/Map/findRemove.mjs +60 -0
- package/dist/Map/findRemoveOr.d.mts +56 -0
- package/dist/Map/findRemoveOr.mjs +62 -0
- package/dist/Map/findRemoveOrElse.d.mts +59 -0
- package/dist/Map/findRemoveOrElse.mjs +65 -0
- package/dist/Map/findRemoveOrThrow.d.mts +54 -0
- package/dist/Map/findRemoveOrThrow.mjs +60 -0
- package/dist/Map/findReplace.d.mts +56 -0
- package/dist/Map/findReplace.mjs +63 -0
- package/dist/Map/findReplaceOr.d.mts +58 -0
- package/dist/Map/findReplaceOr.mjs +65 -0
- package/dist/Map/findReplaceOrElse.d.mts +62 -0
- package/dist/Map/findReplaceOrElse.mjs +69 -0
- package/dist/Map/findReplaceOrThrow.d.mts +56 -0
- package/dist/Map/findReplaceOrThrow.mjs +63 -0
- package/dist/Map/forEach.d.mts +21 -12
- package/dist/Map/forEach.mjs +17 -5
- package/dist/Map/get.d.mts +15 -7
- package/dist/Map/get.mjs +15 -7
- package/dist/Map/getOr.d.mts +20 -14
- package/dist/Map/getOr.mjs +18 -9
- package/dist/Map/getOrElse.d.mts +20 -14
- package/dist/Map/getOrElse.mjs +18 -9
- package/dist/Map/getOrThrow.d.mts +19 -14
- package/dist/Map/getOrThrow.mjs +17 -9
- package/dist/Map/has.d.mts +15 -7
- package/dist/Map/has.mjs +15 -7
- package/dist/Map/hasAll.d.mts +15 -7
- package/dist/Map/hasAll.mjs +15 -7
- package/dist/Map/hasAny.d.mts +15 -7
- package/dist/Map/hasAny.mjs +15 -7
- package/dist/Map/hasNone.d.mts +15 -7
- package/dist/Map/hasNone.mjs +15 -7
- package/dist/Map/index.d.mts +21 -1
- package/dist/Map/index.mjs +41 -1
- package/dist/Map/is.d.mts +12 -5
- package/dist/Map/is.mjs +12 -5
- package/dist/Map/isEmpty.d.mts +12 -7
- package/dist/Map/isEmpty.mjs +12 -7
- package/dist/Map/isShallowEqual.d.mts +19 -11
- package/dist/Map/isShallowEqual.mjs +19 -11
- package/dist/Map/map.d.mts +25 -14
- package/dist/Map/map.mjs +21 -7
- package/dist/Map/mapEach.d.mts +21 -12
- package/dist/Map/mapEach.mjs +17 -5
- package/dist/Map/mapOr.d.mts +25 -14
- package/dist/Map/mapOr.mjs +21 -7
- package/dist/Map/mapOrElse.d.mts +25 -14
- package/dist/Map/mapOrElse.mjs +21 -7
- package/dist/Map/mapOrThrow.d.mts +24 -14
- package/dist/Map/mapOrThrow.mjs +20 -7
- package/dist/Map/none.d.mts +58 -0
- package/dist/Map/none.mjs +55 -0
- package/dist/Map/reject.d.mts +25 -16
- package/dist/Map/reject.mjs +17 -5
- package/dist/Map/remove.d.mts +15 -7
- package/dist/Map/remove.mjs +15 -7
- package/dist/Map/removeAll.d.mts +15 -7
- package/dist/Map/removeAll.mjs +15 -7
- package/dist/Map/removeOr.d.mts +16 -7
- package/dist/Map/removeOr.mjs +16 -7
- package/dist/Map/removeOrElse.d.mts +18 -12
- package/dist/Map/removeOrElse.mjs +16 -7
- package/dist/Map/removeOrThrow.d.mts +15 -7
- package/dist/Map/removeOrThrow.mjs +15 -7
- package/dist/Map/set.d.mts +16 -7
- package/dist/Map/set.mjs +16 -7
- package/dist/Map/some.d.mts +52 -0
- package/dist/Map/some.mjs +55 -0
- package/package.json +2 -2
- package/dist/Map/internals/types.d.mts +0 -14
package/dist/Map/forEach.d.mts
CHANGED
|
@@ -1,19 +1,27 @@
|
|
|
1
|
-
import { MapMap } from "./internals/types.mjs";
|
|
2
|
-
|
|
3
1
|
//#region src/Map/forEach.d.ts
|
|
4
|
-
|
|
5
2
|
/**
|
|
3
|
+
* # forEach
|
|
4
|
+
*
|
|
6
5
|
* ```ts
|
|
7
|
-
* function Map.forEach
|
|
6
|
+
* function Map.forEach<K, V>(
|
|
7
|
+
* target: ReadonlyMap<K, V>,
|
|
8
|
+
* fn: (
|
|
9
|
+
* value: NoInfer<V>,
|
|
10
|
+
* key: NoInfer<K>,
|
|
11
|
+
* target: ReadonlyMap<K, V>,
|
|
12
|
+
* ) => any,
|
|
13
|
+
* ): ReadonlyMap<K, V>
|
|
8
14
|
* ```
|
|
9
15
|
*
|
|
16
|
+
* Executes a function for each entry in the map and returns the original map.
|
|
17
|
+
*
|
|
10
18
|
* ## Example
|
|
11
19
|
*
|
|
12
|
-
* ```ts
|
|
20
|
+
* ```ts [data-first]
|
|
13
21
|
* import { Map } from "@monstermann/map";
|
|
14
22
|
*
|
|
15
23
|
* Map.forEach(
|
|
16
|
-
* Map
|
|
24
|
+
* new Map([
|
|
17
25
|
* ["a", 1],
|
|
18
26
|
* ["b", 2],
|
|
19
27
|
* ]),
|
|
@@ -21,23 +29,24 @@ import { MapMap } from "./internals/types.mjs";
|
|
|
21
29
|
* ); // Map(2) { "a" => 1, "b" => 2 }
|
|
22
30
|
* ```
|
|
23
31
|
*
|
|
24
|
-
* ```ts
|
|
32
|
+
* ```ts [data-last]
|
|
25
33
|
* import { Map } from "@monstermann/map";
|
|
26
34
|
*
|
|
27
35
|
* pipe(
|
|
28
|
-
* Map
|
|
36
|
+
* new Map([
|
|
29
37
|
* ["a", 1],
|
|
30
38
|
* ["b", 2],
|
|
31
39
|
* ]),
|
|
32
40
|
* Map.forEach((value, key) => console.log(key, value)),
|
|
33
41
|
* ); // Map(2) { "a" => 1, "b" => 2 }
|
|
34
42
|
* ```
|
|
43
|
+
*
|
|
35
44
|
*/
|
|
36
45
|
declare const forEach: {
|
|
37
|
-
<K, V>(fn:
|
|
38
|
-
<K, V>(fn:
|
|
39
|
-
<K, V>(target: Map<K, V>, fn:
|
|
40
|
-
<K, V>(target: ReadonlyMap<K, V>, fn:
|
|
46
|
+
<K, V>(fn: (value: NoInfer<V>, key: NoInfer<K>, target: ReadonlyMap<K, V>) => any): (target: Map<K, V>) => Map<K, V>;
|
|
47
|
+
<K, V>(fn: (value: NoInfer<V>, key: NoInfer<K>, target: ReadonlyMap<K, V>) => any): (target: ReadonlyMap<K, V>) => ReadonlyMap<K, V>;
|
|
48
|
+
<K, V>(target: Map<K, V>, fn: (value: NoInfer<V>, key: NoInfer<K>, target: ReadonlyMap<K, V>) => any): Map<K, V>;
|
|
49
|
+
<K, V>(target: ReadonlyMap<K, V>, fn: (value: NoInfer<V>, key: NoInfer<K>, target: ReadonlyMap<K, V>) => any): ReadonlyMap<K, V>;
|
|
41
50
|
};
|
|
42
51
|
//#endregion
|
|
43
52
|
export { forEach };
|
package/dist/Map/forEach.mjs
CHANGED
|
@@ -2,17 +2,28 @@ import { dfdlT } from "@monstermann/dfdl";
|
|
|
2
2
|
|
|
3
3
|
//#region src/Map/forEach.ts
|
|
4
4
|
/**
|
|
5
|
+
* # forEach
|
|
6
|
+
*
|
|
5
7
|
* ```ts
|
|
6
|
-
* function Map.forEach
|
|
8
|
+
* function Map.forEach<K, V>(
|
|
9
|
+
* target: ReadonlyMap<K, V>,
|
|
10
|
+
* fn: (
|
|
11
|
+
* value: NoInfer<V>,
|
|
12
|
+
* key: NoInfer<K>,
|
|
13
|
+
* target: ReadonlyMap<K, V>,
|
|
14
|
+
* ) => any,
|
|
15
|
+
* ): ReadonlyMap<K, V>
|
|
7
16
|
* ```
|
|
8
17
|
*
|
|
18
|
+
* Executes a function for each entry in the map and returns the original map.
|
|
19
|
+
*
|
|
9
20
|
* ## Example
|
|
10
21
|
*
|
|
11
|
-
* ```ts
|
|
22
|
+
* ```ts [data-first]
|
|
12
23
|
* import { Map } from "@monstermann/map";
|
|
13
24
|
*
|
|
14
25
|
* Map.forEach(
|
|
15
|
-
* Map
|
|
26
|
+
* new Map([
|
|
16
27
|
* ["a", 1],
|
|
17
28
|
* ["b", 2],
|
|
18
29
|
* ]),
|
|
@@ -20,17 +31,18 @@ import { dfdlT } from "@monstermann/dfdl";
|
|
|
20
31
|
* ); // Map(2) { "a" => 1, "b" => 2 }
|
|
21
32
|
* ```
|
|
22
33
|
*
|
|
23
|
-
* ```ts
|
|
34
|
+
* ```ts [data-last]
|
|
24
35
|
* import { Map } from "@monstermann/map";
|
|
25
36
|
*
|
|
26
37
|
* pipe(
|
|
27
|
-
* Map
|
|
38
|
+
* new Map([
|
|
28
39
|
* ["a", 1],
|
|
29
40
|
* ["b", 2],
|
|
30
41
|
* ]),
|
|
31
42
|
* Map.forEach((value, key) => console.log(key, value)),
|
|
32
43
|
* ); // Map(2) { "a" => 1, "b" => 2 }
|
|
33
44
|
* ```
|
|
45
|
+
*
|
|
34
46
|
*/
|
|
35
47
|
const forEach = dfdlT((target, fn) => {
|
|
36
48
|
target.forEach(fn);
|
package/dist/Map/get.d.mts
CHANGED
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
//#region src/Map/get.d.ts
|
|
2
2
|
/**
|
|
3
|
+
* # get
|
|
4
|
+
*
|
|
3
5
|
* ```ts
|
|
4
|
-
* function Map.get
|
|
6
|
+
* function Map.get<K, V>(
|
|
7
|
+
* target: ReadonlyMap<K, V>,
|
|
8
|
+
* key: NoInfer<K>,
|
|
9
|
+
* ): V | undefined
|
|
5
10
|
* ```
|
|
6
11
|
*
|
|
12
|
+
* Gets the value associated with the specified key, or `undefined` if the key doesn't exist.
|
|
13
|
+
*
|
|
7
14
|
* ## Example
|
|
8
15
|
*
|
|
9
|
-
* ```ts
|
|
16
|
+
* ```ts [data-first]
|
|
10
17
|
* import { Map } from "@monstermann/map";
|
|
11
18
|
*
|
|
12
19
|
* Map.get(
|
|
13
|
-
* Map
|
|
20
|
+
* new Map([
|
|
14
21
|
* ["a", 1],
|
|
15
22
|
* ["b", 2],
|
|
16
23
|
* ]),
|
|
@@ -18,7 +25,7 @@
|
|
|
18
25
|
* ); // 1
|
|
19
26
|
*
|
|
20
27
|
* Map.get(
|
|
21
|
-
* Map
|
|
28
|
+
* new Map([
|
|
22
29
|
* ["a", 1],
|
|
23
30
|
* ["b", 2],
|
|
24
31
|
* ]),
|
|
@@ -26,11 +33,11 @@
|
|
|
26
33
|
* ); // undefined
|
|
27
34
|
* ```
|
|
28
35
|
*
|
|
29
|
-
* ```ts
|
|
36
|
+
* ```ts [data-last]
|
|
30
37
|
* import { Map } from "@monstermann/map";
|
|
31
38
|
*
|
|
32
39
|
* pipe(
|
|
33
|
-
* Map
|
|
40
|
+
* new Map([
|
|
34
41
|
* ["a", 1],
|
|
35
42
|
* ["b", 2],
|
|
36
43
|
* ]),
|
|
@@ -38,13 +45,14 @@
|
|
|
38
45
|
* ); // 1
|
|
39
46
|
*
|
|
40
47
|
* pipe(
|
|
41
|
-
* Map
|
|
48
|
+
* new Map([
|
|
42
49
|
* ["a", 1],
|
|
43
50
|
* ["b", 2],
|
|
44
51
|
* ]),
|
|
45
52
|
* Map.get("c"),
|
|
46
53
|
* ); // undefined
|
|
47
54
|
* ```
|
|
55
|
+
*
|
|
48
56
|
*/
|
|
49
57
|
declare const get: {
|
|
50
58
|
<K, V>(key: NoInfer<K>): (target: ReadonlyMap<K, V>) => V | undefined;
|
package/dist/Map/get.mjs
CHANGED
|
@@ -2,17 +2,24 @@ import { dfdlT } from "@monstermann/dfdl";
|
|
|
2
2
|
|
|
3
3
|
//#region src/Map/get.ts
|
|
4
4
|
/**
|
|
5
|
+
* # get
|
|
6
|
+
*
|
|
5
7
|
* ```ts
|
|
6
|
-
* function Map.get
|
|
8
|
+
* function Map.get<K, V>(
|
|
9
|
+
* target: ReadonlyMap<K, V>,
|
|
10
|
+
* key: NoInfer<K>,
|
|
11
|
+
* ): V | undefined
|
|
7
12
|
* ```
|
|
8
13
|
*
|
|
14
|
+
* Gets the value associated with the specified key, or `undefined` if the key doesn't exist.
|
|
15
|
+
*
|
|
9
16
|
* ## Example
|
|
10
17
|
*
|
|
11
|
-
* ```ts
|
|
18
|
+
* ```ts [data-first]
|
|
12
19
|
* import { Map } from "@monstermann/map";
|
|
13
20
|
*
|
|
14
21
|
* Map.get(
|
|
15
|
-
* Map
|
|
22
|
+
* new Map([
|
|
16
23
|
* ["a", 1],
|
|
17
24
|
* ["b", 2],
|
|
18
25
|
* ]),
|
|
@@ -20,7 +27,7 @@ import { dfdlT } from "@monstermann/dfdl";
|
|
|
20
27
|
* ); // 1
|
|
21
28
|
*
|
|
22
29
|
* Map.get(
|
|
23
|
-
* Map
|
|
30
|
+
* new Map([
|
|
24
31
|
* ["a", 1],
|
|
25
32
|
* ["b", 2],
|
|
26
33
|
* ]),
|
|
@@ -28,11 +35,11 @@ import { dfdlT } from "@monstermann/dfdl";
|
|
|
28
35
|
* ); // undefined
|
|
29
36
|
* ```
|
|
30
37
|
*
|
|
31
|
-
* ```ts
|
|
38
|
+
* ```ts [data-last]
|
|
32
39
|
* import { Map } from "@monstermann/map";
|
|
33
40
|
*
|
|
34
41
|
* pipe(
|
|
35
|
-
* Map
|
|
42
|
+
* new Map([
|
|
36
43
|
* ["a", 1],
|
|
37
44
|
* ["b", 2],
|
|
38
45
|
* ]),
|
|
@@ -40,13 +47,14 @@ import { dfdlT } from "@monstermann/dfdl";
|
|
|
40
47
|
* ); // 1
|
|
41
48
|
*
|
|
42
49
|
* pipe(
|
|
43
|
-
* Map
|
|
50
|
+
* new Map([
|
|
44
51
|
* ["a", 1],
|
|
45
52
|
* ["b", 2],
|
|
46
53
|
* ]),
|
|
47
54
|
* Map.get("c"),
|
|
48
55
|
* ); // undefined
|
|
49
56
|
* ```
|
|
57
|
+
*
|
|
50
58
|
*/
|
|
51
59
|
const get = dfdlT((target, key) => {
|
|
52
60
|
return target.get(key);
|
package/dist/Map/getOr.d.mts
CHANGED
|
@@ -1,19 +1,24 @@
|
|
|
1
|
-
import { NonNil } from "./internals/types.mjs";
|
|
2
|
-
|
|
3
1
|
//#region src/Map/getOr.d.ts
|
|
4
|
-
|
|
5
2
|
/**
|
|
3
|
+
* # getOr
|
|
4
|
+
*
|
|
6
5
|
* ```ts
|
|
7
|
-
* function Map.getOr
|
|
6
|
+
* function Map.getOr<K, V, U>(
|
|
7
|
+
* target: ReadonlyMap<K, V>,
|
|
8
|
+
* key: NoInfer<K>,
|
|
9
|
+
* or: U,
|
|
10
|
+
* ): Exclude<V, null | undefined> | U
|
|
8
11
|
* ```
|
|
9
12
|
*
|
|
13
|
+
* Gets the value associated with the specified key, or returns the fallback value if the value is `null` or `undefined`.
|
|
14
|
+
*
|
|
10
15
|
* ## Example
|
|
11
16
|
*
|
|
12
|
-
* ```ts
|
|
17
|
+
* ```ts [data-first]
|
|
13
18
|
* import { Map } from "@monstermann/map";
|
|
14
19
|
*
|
|
15
20
|
* Map.getOr(
|
|
16
|
-
* Map
|
|
21
|
+
* new Map([
|
|
17
22
|
* ["a", 1],
|
|
18
23
|
* ["b", null],
|
|
19
24
|
* ]),
|
|
@@ -22,7 +27,7 @@ import { NonNil } from "./internals/types.mjs";
|
|
|
22
27
|
* ); // 1
|
|
23
28
|
*
|
|
24
29
|
* Map.getOr(
|
|
25
|
-
* Map
|
|
30
|
+
* new Map([
|
|
26
31
|
* ["a", 1],
|
|
27
32
|
* ["b", null],
|
|
28
33
|
* ]),
|
|
@@ -31,7 +36,7 @@ import { NonNil } from "./internals/types.mjs";
|
|
|
31
36
|
* ); // 0
|
|
32
37
|
*
|
|
33
38
|
* Map.getOr(
|
|
34
|
-
* Map
|
|
39
|
+
* new Map([
|
|
35
40
|
* ["a", 1],
|
|
36
41
|
* ["b", null],
|
|
37
42
|
* ]),
|
|
@@ -40,11 +45,11 @@ import { NonNil } from "./internals/types.mjs";
|
|
|
40
45
|
* ); // 0
|
|
41
46
|
* ```
|
|
42
47
|
*
|
|
43
|
-
* ```ts
|
|
48
|
+
* ```ts [data-last]
|
|
44
49
|
* import { Map } from "@monstermann/map";
|
|
45
50
|
*
|
|
46
51
|
* pipe(
|
|
47
|
-
* Map
|
|
52
|
+
* new Map([
|
|
48
53
|
* ["a", 1],
|
|
49
54
|
* ["b", null],
|
|
50
55
|
* ]),
|
|
@@ -52,7 +57,7 @@ import { NonNil } from "./internals/types.mjs";
|
|
|
52
57
|
* ); // 1
|
|
53
58
|
*
|
|
54
59
|
* pipe(
|
|
55
|
-
* Map
|
|
60
|
+
* new Map([
|
|
56
61
|
* ["a", 1],
|
|
57
62
|
* ["b", null],
|
|
58
63
|
* ]),
|
|
@@ -60,17 +65,18 @@ import { NonNil } from "./internals/types.mjs";
|
|
|
60
65
|
* ); // 0
|
|
61
66
|
*
|
|
62
67
|
* pipe(
|
|
63
|
-
* Map
|
|
68
|
+
* new Map([
|
|
64
69
|
* ["a", 1],
|
|
65
70
|
* ["b", null],
|
|
66
71
|
* ]),
|
|
67
72
|
* Map.getOr("c", 0),
|
|
68
73
|
* ); // 0
|
|
69
74
|
* ```
|
|
75
|
+
*
|
|
70
76
|
*/
|
|
71
77
|
declare const getOr: {
|
|
72
|
-
<K, V, U>(key: NoInfer<K>, or: U): (target: ReadonlyMap<K, V>) =>
|
|
73
|
-
<K, V, U>(target: ReadonlyMap<K, V>, key: NoInfer<K>, or: U):
|
|
78
|
+
<K, V, U>(key: NoInfer<K>, or: U): (target: ReadonlyMap<K, V>) => Exclude<V, null | undefined> | U;
|
|
79
|
+
<K, V, U>(target: ReadonlyMap<K, V>, key: NoInfer<K>, or: U): Exclude<V, null | undefined> | U;
|
|
74
80
|
};
|
|
75
81
|
//#endregion
|
|
76
82
|
export { getOr };
|
package/dist/Map/getOr.mjs
CHANGED
|
@@ -2,17 +2,25 @@ import { dfdlT } from "@monstermann/dfdl";
|
|
|
2
2
|
|
|
3
3
|
//#region src/Map/getOr.ts
|
|
4
4
|
/**
|
|
5
|
+
* # getOr
|
|
6
|
+
*
|
|
5
7
|
* ```ts
|
|
6
|
-
* function Map.getOr
|
|
8
|
+
* function Map.getOr<K, V, U>(
|
|
9
|
+
* target: ReadonlyMap<K, V>,
|
|
10
|
+
* key: NoInfer<K>,
|
|
11
|
+
* or: U,
|
|
12
|
+
* ): Exclude<V, null | undefined> | U
|
|
7
13
|
* ```
|
|
8
14
|
*
|
|
15
|
+
* Gets the value associated with the specified key, or returns the fallback value if the value is `null` or `undefined`.
|
|
16
|
+
*
|
|
9
17
|
* ## Example
|
|
10
18
|
*
|
|
11
|
-
* ```ts
|
|
19
|
+
* ```ts [data-first]
|
|
12
20
|
* import { Map } from "@monstermann/map";
|
|
13
21
|
*
|
|
14
22
|
* Map.getOr(
|
|
15
|
-
* Map
|
|
23
|
+
* new Map([
|
|
16
24
|
* ["a", 1],
|
|
17
25
|
* ["b", null],
|
|
18
26
|
* ]),
|
|
@@ -21,7 +29,7 @@ import { dfdlT } from "@monstermann/dfdl";
|
|
|
21
29
|
* ); // 1
|
|
22
30
|
*
|
|
23
31
|
* Map.getOr(
|
|
24
|
-
* Map
|
|
32
|
+
* new Map([
|
|
25
33
|
* ["a", 1],
|
|
26
34
|
* ["b", null],
|
|
27
35
|
* ]),
|
|
@@ -30,7 +38,7 @@ import { dfdlT } from "@monstermann/dfdl";
|
|
|
30
38
|
* ); // 0
|
|
31
39
|
*
|
|
32
40
|
* Map.getOr(
|
|
33
|
-
* Map
|
|
41
|
+
* new Map([
|
|
34
42
|
* ["a", 1],
|
|
35
43
|
* ["b", null],
|
|
36
44
|
* ]),
|
|
@@ -39,11 +47,11 @@ import { dfdlT } from "@monstermann/dfdl";
|
|
|
39
47
|
* ); // 0
|
|
40
48
|
* ```
|
|
41
49
|
*
|
|
42
|
-
* ```ts
|
|
50
|
+
* ```ts [data-last]
|
|
43
51
|
* import { Map } from "@monstermann/map";
|
|
44
52
|
*
|
|
45
53
|
* pipe(
|
|
46
|
-
* Map
|
|
54
|
+
* new Map([
|
|
47
55
|
* ["a", 1],
|
|
48
56
|
* ["b", null],
|
|
49
57
|
* ]),
|
|
@@ -51,7 +59,7 @@ import { dfdlT } from "@monstermann/dfdl";
|
|
|
51
59
|
* ); // 1
|
|
52
60
|
*
|
|
53
61
|
* pipe(
|
|
54
|
-
* Map
|
|
62
|
+
* new Map([
|
|
55
63
|
* ["a", 1],
|
|
56
64
|
* ["b", null],
|
|
57
65
|
* ]),
|
|
@@ -59,13 +67,14 @@ import { dfdlT } from "@monstermann/dfdl";
|
|
|
59
67
|
* ); // 0
|
|
60
68
|
*
|
|
61
69
|
* pipe(
|
|
62
|
-
* Map
|
|
70
|
+
* new Map([
|
|
63
71
|
* ["a", 1],
|
|
64
72
|
* ["b", null],
|
|
65
73
|
* ]),
|
|
66
74
|
* Map.getOr("c", 0),
|
|
67
75
|
* ); // 0
|
|
68
76
|
* ```
|
|
77
|
+
*
|
|
69
78
|
*/
|
|
70
79
|
const getOr = dfdlT((target, key, or) => {
|
|
71
80
|
return target.get(key) ?? or;
|
package/dist/Map/getOrElse.d.mts
CHANGED
|
@@ -1,19 +1,24 @@
|
|
|
1
|
-
import { NonNil, OrElse } from "./internals/types.mjs";
|
|
2
|
-
|
|
3
1
|
//#region src/Map/getOrElse.d.ts
|
|
4
|
-
|
|
5
2
|
/**
|
|
3
|
+
* # getOrElse
|
|
4
|
+
*
|
|
6
5
|
* ```ts
|
|
7
|
-
* function Map.getOrElse
|
|
6
|
+
* function Map.getOrElse<K, V, U>(
|
|
7
|
+
* target: ReadonlyMap<K, V>,
|
|
8
|
+
* key: NoInfer<K>,
|
|
9
|
+
* orElse: (target: ReadonlyMap<K, V>) => U,
|
|
10
|
+
* ): Exclude<V, null | undefined> | U
|
|
8
11
|
* ```
|
|
9
12
|
*
|
|
13
|
+
* Gets the value associated with the specified key, or calls the provided function to compute a fallback value if the value is `null` or `undefined`.
|
|
14
|
+
*
|
|
10
15
|
* ## Example
|
|
11
16
|
*
|
|
12
|
-
* ```ts
|
|
17
|
+
* ```ts [data-first]
|
|
13
18
|
* import { Map } from "@monstermann/map";
|
|
14
19
|
*
|
|
15
20
|
* Map.getOrElse(
|
|
16
|
-
* Map
|
|
21
|
+
* new Map([
|
|
17
22
|
* ["a", 1],
|
|
18
23
|
* ["b", null],
|
|
19
24
|
* ]),
|
|
@@ -22,7 +27,7 @@ import { NonNil, OrElse } from "./internals/types.mjs";
|
|
|
22
27
|
* ); // 1
|
|
23
28
|
*
|
|
24
29
|
* Map.getOrElse(
|
|
25
|
-
* Map
|
|
30
|
+
* new Map([
|
|
26
31
|
* ["a", 1],
|
|
27
32
|
* ["b", null],
|
|
28
33
|
* ]),
|
|
@@ -31,7 +36,7 @@ import { NonNil, OrElse } from "./internals/types.mjs";
|
|
|
31
36
|
* ); // 0
|
|
32
37
|
*
|
|
33
38
|
* Map.getOrElse(
|
|
34
|
-
* Map
|
|
39
|
+
* new Map([
|
|
35
40
|
* ["a", 1],
|
|
36
41
|
* ["b", null],
|
|
37
42
|
* ]),
|
|
@@ -40,11 +45,11 @@ import { NonNil, OrElse } from "./internals/types.mjs";
|
|
|
40
45
|
* ); // 2
|
|
41
46
|
* ```
|
|
42
47
|
*
|
|
43
|
-
* ```ts
|
|
48
|
+
* ```ts [data-last]
|
|
44
49
|
* import { Map } from "@monstermann/map";
|
|
45
50
|
*
|
|
46
51
|
* pipe(
|
|
47
|
-
* Map
|
|
52
|
+
* new Map([
|
|
48
53
|
* ["a", 1],
|
|
49
54
|
* ["b", null],
|
|
50
55
|
* ]),
|
|
@@ -52,7 +57,7 @@ import { NonNil, OrElse } from "./internals/types.mjs";
|
|
|
52
57
|
* ); // 1
|
|
53
58
|
*
|
|
54
59
|
* pipe(
|
|
55
|
-
* Map
|
|
60
|
+
* new Map([
|
|
56
61
|
* ["a", 1],
|
|
57
62
|
* ["b", null],
|
|
58
63
|
* ]),
|
|
@@ -60,17 +65,18 @@ import { NonNil, OrElse } from "./internals/types.mjs";
|
|
|
60
65
|
* ); // 0
|
|
61
66
|
*
|
|
62
67
|
* pipe(
|
|
63
|
-
* Map
|
|
68
|
+
* new Map([
|
|
64
69
|
* ["a", 1],
|
|
65
70
|
* ["b", null],
|
|
66
71
|
* ]),
|
|
67
72
|
* Map.getOrElse("c", (map) => map.size),
|
|
68
73
|
* ); // 2
|
|
69
74
|
* ```
|
|
75
|
+
*
|
|
70
76
|
*/
|
|
71
77
|
declare const getOrElse: {
|
|
72
|
-
<K, V, U>(key: NoInfer<K>, orElse:
|
|
73
|
-
<K, V, U>(target: ReadonlyMap<K, V>, key: NoInfer<K>, orElse:
|
|
78
|
+
<K, V, U>(key: NoInfer<K>, orElse: (target: ReadonlyMap<K, V>) => U): (target: ReadonlyMap<K, V>) => Exclude<V, null | undefined> | U;
|
|
79
|
+
<K, V, U>(target: ReadonlyMap<K, V>, key: NoInfer<K>, orElse: (target: ReadonlyMap<K, V>) => U): Exclude<V, null | undefined> | U;
|
|
74
80
|
};
|
|
75
81
|
//#endregion
|
|
76
82
|
export { getOrElse };
|
package/dist/Map/getOrElse.mjs
CHANGED
|
@@ -2,17 +2,25 @@ import { dfdlT } from "@monstermann/dfdl";
|
|
|
2
2
|
|
|
3
3
|
//#region src/Map/getOrElse.ts
|
|
4
4
|
/**
|
|
5
|
+
* # getOrElse
|
|
6
|
+
*
|
|
5
7
|
* ```ts
|
|
6
|
-
* function Map.getOrElse
|
|
8
|
+
* function Map.getOrElse<K, V, U>(
|
|
9
|
+
* target: ReadonlyMap<K, V>,
|
|
10
|
+
* key: NoInfer<K>,
|
|
11
|
+
* orElse: (target: ReadonlyMap<K, V>) => U,
|
|
12
|
+
* ): Exclude<V, null | undefined> | U
|
|
7
13
|
* ```
|
|
8
14
|
*
|
|
15
|
+
* Gets the value associated with the specified key, or calls the provided function to compute a fallback value if the value is `null` or `undefined`.
|
|
16
|
+
*
|
|
9
17
|
* ## Example
|
|
10
18
|
*
|
|
11
|
-
* ```ts
|
|
19
|
+
* ```ts [data-first]
|
|
12
20
|
* import { Map } from "@monstermann/map";
|
|
13
21
|
*
|
|
14
22
|
* Map.getOrElse(
|
|
15
|
-
* Map
|
|
23
|
+
* new Map([
|
|
16
24
|
* ["a", 1],
|
|
17
25
|
* ["b", null],
|
|
18
26
|
* ]),
|
|
@@ -21,7 +29,7 @@ import { dfdlT } from "@monstermann/dfdl";
|
|
|
21
29
|
* ); // 1
|
|
22
30
|
*
|
|
23
31
|
* Map.getOrElse(
|
|
24
|
-
* Map
|
|
32
|
+
* new Map([
|
|
25
33
|
* ["a", 1],
|
|
26
34
|
* ["b", null],
|
|
27
35
|
* ]),
|
|
@@ -30,7 +38,7 @@ import { dfdlT } from "@monstermann/dfdl";
|
|
|
30
38
|
* ); // 0
|
|
31
39
|
*
|
|
32
40
|
* Map.getOrElse(
|
|
33
|
-
* Map
|
|
41
|
+
* new Map([
|
|
34
42
|
* ["a", 1],
|
|
35
43
|
* ["b", null],
|
|
36
44
|
* ]),
|
|
@@ -39,11 +47,11 @@ import { dfdlT } from "@monstermann/dfdl";
|
|
|
39
47
|
* ); // 2
|
|
40
48
|
* ```
|
|
41
49
|
*
|
|
42
|
-
* ```ts
|
|
50
|
+
* ```ts [data-last]
|
|
43
51
|
* import { Map } from "@monstermann/map";
|
|
44
52
|
*
|
|
45
53
|
* pipe(
|
|
46
|
-
* Map
|
|
54
|
+
* new Map([
|
|
47
55
|
* ["a", 1],
|
|
48
56
|
* ["b", null],
|
|
49
57
|
* ]),
|
|
@@ -51,7 +59,7 @@ import { dfdlT } from "@monstermann/dfdl";
|
|
|
51
59
|
* ); // 1
|
|
52
60
|
*
|
|
53
61
|
* pipe(
|
|
54
|
-
* Map
|
|
62
|
+
* new Map([
|
|
55
63
|
* ["a", 1],
|
|
56
64
|
* ["b", null],
|
|
57
65
|
* ]),
|
|
@@ -59,13 +67,14 @@ import { dfdlT } from "@monstermann/dfdl";
|
|
|
59
67
|
* ); // 0
|
|
60
68
|
*
|
|
61
69
|
* pipe(
|
|
62
|
-
* Map
|
|
70
|
+
* new Map([
|
|
63
71
|
* ["a", 1],
|
|
64
72
|
* ["b", null],
|
|
65
73
|
* ]),
|
|
66
74
|
* Map.getOrElse("c", (map) => map.size),
|
|
67
75
|
* ); // 2
|
|
68
76
|
* ```
|
|
77
|
+
*
|
|
69
78
|
*/
|
|
70
79
|
const getOrElse = dfdlT((target, key, orElse) => {
|
|
71
80
|
return target.get(key) ?? orElse(target);
|
|
@@ -1,19 +1,23 @@
|
|
|
1
|
-
import { NonNil } from "./internals/types.mjs";
|
|
2
|
-
|
|
3
1
|
//#region src/Map/getOrThrow.d.ts
|
|
4
|
-
|
|
5
2
|
/**
|
|
3
|
+
* # getOrThrow
|
|
4
|
+
*
|
|
6
5
|
* ```ts
|
|
7
|
-
* function Map.getOrThrow
|
|
6
|
+
* function Map.getOrThrow<K, V>(
|
|
7
|
+
* target: ReadonlyMap<K, V>,
|
|
8
|
+
* key: NoInfer<K>,
|
|
9
|
+
* ): Exclude<V, null | undefined>
|
|
8
10
|
* ```
|
|
9
11
|
*
|
|
12
|
+
* Gets the value associated with the specified key, or throws an error if the value is `null` or `undefined`.
|
|
13
|
+
*
|
|
10
14
|
* ## Example
|
|
11
15
|
*
|
|
12
|
-
* ```ts
|
|
16
|
+
* ```ts [data-first]
|
|
13
17
|
* import { Map } from "@monstermann/map";
|
|
14
18
|
*
|
|
15
19
|
* Map.getOrThrow(
|
|
16
|
-
* Map
|
|
20
|
+
* new Map([
|
|
17
21
|
* ["a", 1],
|
|
18
22
|
* ["b", 2],
|
|
19
23
|
* ]),
|
|
@@ -21,7 +25,7 @@ import { NonNil } from "./internals/types.mjs";
|
|
|
21
25
|
* ); // 1
|
|
22
26
|
*
|
|
23
27
|
* Map.getOrThrow(
|
|
24
|
-
* Map
|
|
28
|
+
* new Map([
|
|
25
29
|
* ["a", 1],
|
|
26
30
|
* ["b", null],
|
|
27
31
|
* ]),
|
|
@@ -29,7 +33,7 @@ import { NonNil } from "./internals/types.mjs";
|
|
|
29
33
|
* ); // throws FnError
|
|
30
34
|
*
|
|
31
35
|
* Map.getOrThrow(
|
|
32
|
-
* Map
|
|
36
|
+
* new Map([
|
|
33
37
|
* ["a", 1],
|
|
34
38
|
* ["b", 2],
|
|
35
39
|
* ]),
|
|
@@ -37,11 +41,11 @@ import { NonNil } from "./internals/types.mjs";
|
|
|
37
41
|
* ); // throws FnError
|
|
38
42
|
* ```
|
|
39
43
|
*
|
|
40
|
-
* ```ts
|
|
44
|
+
* ```ts [data-last]
|
|
41
45
|
* import { Map } from "@monstermann/map";
|
|
42
46
|
*
|
|
43
47
|
* pipe(
|
|
44
|
-
* Map
|
|
48
|
+
* new Map([
|
|
45
49
|
* ["a", 1],
|
|
46
50
|
* ["b", 2],
|
|
47
51
|
* ]),
|
|
@@ -49,7 +53,7 @@ import { NonNil } from "./internals/types.mjs";
|
|
|
49
53
|
* ); // 1
|
|
50
54
|
*
|
|
51
55
|
* pipe(
|
|
52
|
-
* Map
|
|
56
|
+
* new Map([
|
|
53
57
|
* ["a", 1],
|
|
54
58
|
* ["b", null],
|
|
55
59
|
* ]),
|
|
@@ -57,17 +61,18 @@ import { NonNil } from "./internals/types.mjs";
|
|
|
57
61
|
* ); // throws FnError
|
|
58
62
|
*
|
|
59
63
|
* pipe(
|
|
60
|
-
* Map
|
|
64
|
+
* new Map([
|
|
61
65
|
* ["a", 1],
|
|
62
66
|
* ["b", 2],
|
|
63
67
|
* ]),
|
|
64
68
|
* Map.getOrThrow("c"),
|
|
65
69
|
* ); // throws FnError
|
|
66
70
|
* ```
|
|
71
|
+
*
|
|
67
72
|
*/
|
|
68
73
|
declare const getOrThrow: {
|
|
69
|
-
<K, V>(key: NoInfer<K>): (target: ReadonlyMap<K, V>) =>
|
|
70
|
-
<K, V>(target: ReadonlyMap<K, V>, key: NoInfer<K>):
|
|
74
|
+
<K, V>(key: NoInfer<K>): (target: ReadonlyMap<K, V>) => Exclude<V, null | undefined>;
|
|
75
|
+
<K, V>(target: ReadonlyMap<K, V>, key: NoInfer<K>): Exclude<V, null | undefined>;
|
|
71
76
|
};
|
|
72
77
|
//#endregion
|
|
73
78
|
export { getOrThrow };
|