@monstermann/map 0.1.1 → 0.2.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 (118) hide show
  1. package/README.md +2496 -0
  2. package/dist/Map/{clone.d.ts → clone.d.mts} +10 -5
  3. package/dist/Map/{clone.js → clone.mjs} +10 -5
  4. package/dist/Map/compact.d.mts +48 -0
  5. package/dist/Map/{compact.js → compact.mjs} +13 -6
  6. package/dist/Map/{create.d.ts → create.d.mts} +9 -2
  7. package/dist/Map/{create.js → create.mjs} +9 -2
  8. package/dist/Map/every.d.mts +58 -0
  9. package/dist/Map/every.mjs +55 -0
  10. package/dist/Map/filter.d.mts +58 -0
  11. package/dist/Map/{filter.js → filter.mjs} +17 -5
  12. package/dist/Map/find.d.mts +54 -0
  13. package/dist/Map/find.mjs +54 -0
  14. package/dist/Map/findMap.d.mts +67 -0
  15. package/dist/Map/findMap.mjs +71 -0
  16. package/dist/Map/findMapAll.d.mts +67 -0
  17. package/dist/Map/findMapAll.mjs +72 -0
  18. package/dist/Map/findMapOr.d.mts +70 -0
  19. package/dist/Map/findMapOr.mjs +74 -0
  20. package/dist/Map/findMapOrElse.d.mts +70 -0
  21. package/dist/Map/findMapOrElse.mjs +74 -0
  22. package/dist/Map/findMapOrThrow.d.mts +67 -0
  23. package/dist/Map/findMapOrThrow.mjs +71 -0
  24. package/dist/Map/findOr.d.mts +56 -0
  25. package/dist/Map/findOr.mjs +57 -0
  26. package/dist/Map/findOrElse.d.mts +59 -0
  27. package/dist/Map/findOrElse.mjs +60 -0
  28. package/dist/Map/findOrThrow.d.mts +54 -0
  29. package/dist/Map/findOrThrow.mjs +55 -0
  30. package/dist/Map/findRemove.d.mts +54 -0
  31. package/dist/Map/findRemove.mjs +60 -0
  32. package/dist/Map/findRemoveOr.d.mts +56 -0
  33. package/dist/Map/findRemoveOr.mjs +62 -0
  34. package/dist/Map/findRemoveOrElse.d.mts +59 -0
  35. package/dist/Map/findRemoveOrElse.mjs +65 -0
  36. package/dist/Map/findRemoveOrThrow.d.mts +54 -0
  37. package/dist/Map/findRemoveOrThrow.mjs +60 -0
  38. package/dist/Map/findReplace.d.mts +56 -0
  39. package/dist/Map/findReplace.mjs +63 -0
  40. package/dist/Map/findReplaceOr.d.mts +58 -0
  41. package/dist/Map/findReplaceOr.mjs +65 -0
  42. package/dist/Map/findReplaceOrElse.d.mts +62 -0
  43. package/dist/Map/findReplaceOrElse.mjs +69 -0
  44. package/dist/Map/findReplaceOrThrow.d.mts +56 -0
  45. package/dist/Map/findReplaceOrThrow.mjs +63 -0
  46. package/dist/Map/forEach.d.mts +52 -0
  47. package/dist/Map/{forEach.js → forEach.mjs} +17 -5
  48. package/dist/Map/{get.d.ts → get.d.mts} +15 -7
  49. package/dist/Map/{get.js → get.mjs} +15 -7
  50. package/dist/Map/{getOr.d.ts → getOr.d.mts} +20 -14
  51. package/dist/Map/{getOr.js → getOr.mjs} +18 -9
  52. package/dist/Map/{getOrElse.d.ts → getOrElse.d.mts} +20 -14
  53. package/dist/Map/{getOrElse.js → getOrElse.mjs} +18 -9
  54. package/dist/Map/{getOrThrow.d.ts → getOrThrow.d.mts} +19 -14
  55. package/dist/Map/{getOrThrow.js → getOrThrow.mjs} +17 -9
  56. package/dist/Map/{has.d.ts → has.d.mts} +15 -7
  57. package/dist/Map/{has.js → has.mjs} +15 -7
  58. package/dist/Map/{hasAll.d.ts → hasAll.d.mts} +15 -7
  59. package/dist/Map/{hasAll.js → hasAll.mjs} +15 -7
  60. package/dist/Map/{hasAny.d.ts → hasAny.d.mts} +15 -7
  61. package/dist/Map/{hasAny.js → hasAny.mjs} +15 -7
  62. package/dist/Map/{hasNone.d.ts → hasNone.d.mts} +15 -7
  63. package/dist/Map/{hasNone.js → hasNone.mjs} +15 -7
  64. package/dist/Map/index.d.mts +56 -0
  65. package/dist/Map/index.mjs +103 -0
  66. package/dist/Map/{is.d.ts → is.d.mts} +12 -5
  67. package/dist/Map/{is.js → is.mjs} +12 -5
  68. package/dist/Map/isEmpty.d.mts +33 -0
  69. package/dist/Map/isEmpty.mjs +35 -0
  70. package/dist/Map/{isShallowEqual.d.ts → isShallowEqual.d.mts} +19 -11
  71. package/dist/Map/{isShallowEqual.js → isShallowEqual.mjs} +19 -11
  72. package/dist/Map/map.d.mts +71 -0
  73. package/dist/Map/{map.js → map.mjs} +21 -7
  74. package/dist/Map/mapEach.d.mts +52 -0
  75. package/dist/Map/{mapEach.js → mapEach.mjs} +17 -5
  76. package/dist/Map/mapOr.d.mts +74 -0
  77. package/dist/Map/{mapOr.js → mapOr.mjs} +21 -7
  78. package/dist/Map/mapOrElse.d.mts +82 -0
  79. package/dist/Map/{mapOrElse.js → mapOrElse.mjs} +21 -7
  80. package/dist/Map/mapOrThrow.d.mts +71 -0
  81. package/dist/Map/{mapOrThrow.js → mapOrThrow.mjs} +20 -7
  82. package/dist/Map/none.d.mts +58 -0
  83. package/dist/Map/none.mjs +55 -0
  84. package/dist/Map/reject.d.mts +58 -0
  85. package/dist/Map/{reject.js → reject.mjs} +17 -5
  86. package/dist/Map/{remove.d.ts → remove.d.mts} +15 -7
  87. package/dist/Map/{remove.js → remove.mjs} +15 -7
  88. package/dist/Map/{removeAll.d.ts → removeAll.d.mts} +15 -7
  89. package/dist/Map/{removeAll.js → removeAll.mjs} +15 -7
  90. package/dist/Map/{removeOr.d.ts → removeOr.d.mts} +16 -7
  91. package/dist/Map/{removeOr.js → removeOr.mjs} +16 -7
  92. package/dist/Map/{removeOrElse.d.ts → removeOrElse.d.mts} +18 -12
  93. package/dist/Map/{removeOrElse.js → removeOrElse.mjs} +16 -7
  94. package/dist/Map/{removeOrThrow.d.ts → removeOrThrow.d.mts} +15 -7
  95. package/dist/Map/{removeOrThrow.js → removeOrThrow.mjs} +15 -7
  96. package/dist/Map/{set.d.ts → set.d.mts} +16 -7
  97. package/dist/Map/{set.js → set.mjs} +16 -7
  98. package/dist/Map/some.d.mts +52 -0
  99. package/dist/Map/some.mjs +55 -0
  100. package/dist/index.d.mts +2 -0
  101. package/dist/index.mjs +3 -0
  102. package/package.json +2 -2
  103. package/dist/Map/compact.d.ts +0 -44
  104. package/dist/Map/filter.d.ts +0 -49
  105. package/dist/Map/forEach.d.ts +0 -43
  106. package/dist/Map/index.d.ts +0 -36
  107. package/dist/Map/index.js +0 -63
  108. package/dist/Map/internals/types.d.ts +0 -14
  109. package/dist/Map/isEmpty.d.ts +0 -28
  110. package/dist/Map/isEmpty.js +0 -30
  111. package/dist/Map/map.d.ts +0 -60
  112. package/dist/Map/mapEach.d.ts +0 -43
  113. package/dist/Map/mapOr.d.ts +0 -63
  114. package/dist/Map/mapOrElse.d.ts +0 -71
  115. package/dist/Map/mapOrThrow.d.ts +0 -61
  116. package/dist/Map/reject.d.ts +0 -49
  117. package/dist/index.d.ts +0 -2
  118. package/dist/index.js +0 -3
@@ -1,16 +1,23 @@
1
1
  //#region src/Map/remove.d.ts
2
2
  /**
3
+ * # remove
4
+ *
3
5
  * ```ts
4
- * function Map.remove(map, key)
6
+ * function Map.remove<K, V>(
7
+ * target: ReadonlyMap<K, V>,
8
+ * key: NoInfer<K>,
9
+ * ): ReadonlyMap<K, V>
5
10
  * ```
6
11
  *
12
+ * Removes the specified key from the map. Returns the original map 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.remove(
13
- * Map.create([
20
+ * new Map([
14
21
  * ["a", 1],
15
22
  * ["b", 2],
16
23
  * ]),
@@ -18,7 +25,7 @@
18
25
  * ); // Map(1) { "b" => 2 }
19
26
  *
20
27
  * Map.remove(
21
- * Map.create([
28
+ * new Map([
22
29
  * ["a", 1],
23
30
  * ["b", 2],
24
31
  * ]),
@@ -26,11 +33,11 @@
26
33
  * ); // Map(2) { "a" => 1, "b" => 2 }
27
34
  * ```
28
35
  *
29
- * ```ts
36
+ * ```ts [data-last]
30
37
  * import { Map } from "@monstermann/map";
31
38
  *
32
39
  * pipe(
33
- * Map.create([
40
+ * new Map([
34
41
  * ["a", 1],
35
42
  * ["b", 2],
36
43
  * ]),
@@ -38,13 +45,14 @@
38
45
  * ); // Map(1) { "b" => 2 }
39
46
  *
40
47
  * pipe(
41
- * Map.create([
48
+ * new Map([
42
49
  * ["a", 1],
43
50
  * ["b", 2],
44
51
  * ]),
45
52
  * Map.remove("c"),
46
53
  * ); // Map(2) { "a" => 1, "b" => 2 }
47
54
  * ```
55
+ *
48
56
  */
49
57
  declare const remove: {
50
58
  <K, V>(key: NoInfer<K>): (target: Map<K, V>) => Map<K, V>;
@@ -3,17 +3,24 @@ import { cloneMap } from "@monstermann/remmi";
3
3
 
4
4
  //#region src/Map/remove.ts
5
5
  /**
6
+ * # remove
7
+ *
6
8
  * ```ts
7
- * function Map.remove(map, key)
9
+ * function Map.remove<K, V>(
10
+ * target: ReadonlyMap<K, V>,
11
+ * key: NoInfer<K>,
12
+ * ): ReadonlyMap<K, V>
8
13
  * ```
9
14
  *
15
+ * Removes the specified key from the map. Returns the original map if the key doesn't exist.
16
+ *
10
17
  * ## Example
11
18
  *
12
- * ```ts
19
+ * ```ts [data-first]
13
20
  * import { Map } from "@monstermann/map";
14
21
  *
15
22
  * Map.remove(
16
- * Map.create([
23
+ * new Map([
17
24
  * ["a", 1],
18
25
  * ["b", 2],
19
26
  * ]),
@@ -21,7 +28,7 @@ import { cloneMap } from "@monstermann/remmi";
21
28
  * ); // Map(1) { "b" => 2 }
22
29
  *
23
30
  * Map.remove(
24
- * Map.create([
31
+ * new Map([
25
32
  * ["a", 1],
26
33
  * ["b", 2],
27
34
  * ]),
@@ -29,11 +36,11 @@ import { cloneMap } from "@monstermann/remmi";
29
36
  * ); // Map(2) { "a" => 1, "b" => 2 }
30
37
  * ```
31
38
  *
32
- * ```ts
39
+ * ```ts [data-last]
33
40
  * import { Map } from "@monstermann/map";
34
41
  *
35
42
  * pipe(
36
- * Map.create([
43
+ * new Map([
37
44
  * ["a", 1],
38
45
  * ["b", 2],
39
46
  * ]),
@@ -41,13 +48,14 @@ import { cloneMap } from "@monstermann/remmi";
41
48
  * ); // Map(1) { "b" => 2 }
42
49
  *
43
50
  * pipe(
44
- * Map.create([
51
+ * new Map([
45
52
  * ["a", 1],
46
53
  * ["b", 2],
47
54
  * ]),
48
55
  * Map.remove("c"),
49
56
  * ); // Map(2) { "a" => 1, "b" => 2 }
50
57
  * ```
58
+ *
51
59
  */
52
60
  const remove = dfdlT((target, key) => {
53
61
  if (!target.has(key)) return target;
@@ -1,16 +1,23 @@
1
1
  //#region src/Map/removeAll.d.ts
2
2
  /**
3
+ * # removeAll
4
+ *
3
5
  * ```ts
4
- * function Map.removeAll(map, keys)
6
+ * function Map.removeAll<K, V>(
7
+ * target: ReadonlyMap<K, V>,
8
+ * keys: Iterable<NoInfer<K>>,
9
+ * ): ReadonlyMap<K, V>
5
10
  * ```
6
11
  *
12
+ * Removes all specified keys from the map.
13
+ *
7
14
  * ## Example
8
15
  *
9
- * ```ts
16
+ * ```ts [data-first]
10
17
  * import { Map } from "@monstermann/map";
11
18
  *
12
19
  * Map.removeAll(
13
- * Map.create([
20
+ * new Map([
14
21
  * ["a", 1],
15
22
  * ["b", 2],
16
23
  * ["c", 3],
@@ -19,7 +26,7 @@
19
26
  * ); // Map(1) { "b" => 2 }
20
27
  *
21
28
  * Map.removeAll(
22
- * Map.create([
29
+ * new Map([
23
30
  * ["a", 1],
24
31
  * ["b", 2],
25
32
  * ["c", 3],
@@ -28,11 +35,11 @@
28
35
  * ); // Map(3) { "a" => 1, "b" => 2, "c" => 3 }
29
36
  * ```
30
37
  *
31
- * ```ts
38
+ * ```ts [data-last]
32
39
  * import { Map } from "@monstermann/map";
33
40
  *
34
41
  * pipe(
35
- * Map.create([
42
+ * new Map([
36
43
  * ["a", 1],
37
44
  * ["b", 2],
38
45
  * ["c", 3],
@@ -41,7 +48,7 @@
41
48
  * ); // Map(1) { "b" => 2 }
42
49
  *
43
50
  * pipe(
44
- * Map.create([
51
+ * new Map([
45
52
  * ["a", 1],
46
53
  * ["b", 2],
47
54
  * ["c", 3],
@@ -49,6 +56,7 @@
49
56
  * Map.removeAll(["d", "e"]),
50
57
  * ); // Map(3) { "a" => 1, "b" => 2, "c" => 3 }
51
58
  * ```
59
+ *
52
60
  */
53
61
  declare const removeAll: {
54
62
  <K, V>(keys: Iterable<NoInfer<K>>): (target: Map<K, V>) => Map<K, V>;
@@ -3,17 +3,24 @@ import { cloneMap } from "@monstermann/remmi";
3
3
 
4
4
  //#region src/Map/removeAll.ts
5
5
  /**
6
+ * # removeAll
7
+ *
6
8
  * ```ts
7
- * function Map.removeAll(map, keys)
9
+ * function Map.removeAll<K, V>(
10
+ * target: ReadonlyMap<K, V>,
11
+ * keys: Iterable<NoInfer<K>>,
12
+ * ): ReadonlyMap<K, V>
8
13
  * ```
9
14
  *
15
+ * Removes all specified keys from the map.
16
+ *
10
17
  * ## Example
11
18
  *
12
- * ```ts
19
+ * ```ts [data-first]
13
20
  * import { Map } from "@monstermann/map";
14
21
  *
15
22
  * Map.removeAll(
16
- * Map.create([
23
+ * new Map([
17
24
  * ["a", 1],
18
25
  * ["b", 2],
19
26
  * ["c", 3],
@@ -22,7 +29,7 @@ import { cloneMap } from "@monstermann/remmi";
22
29
  * ); // Map(1) { "b" => 2 }
23
30
  *
24
31
  * Map.removeAll(
25
- * Map.create([
32
+ * new Map([
26
33
  * ["a", 1],
27
34
  * ["b", 2],
28
35
  * ["c", 3],
@@ -31,11 +38,11 @@ import { cloneMap } from "@monstermann/remmi";
31
38
  * ); // Map(3) { "a" => 1, "b" => 2, "c" => 3 }
32
39
  * ```
33
40
  *
34
- * ```ts
41
+ * ```ts [data-last]
35
42
  * import { Map } from "@monstermann/map";
36
43
  *
37
44
  * pipe(
38
- * Map.create([
45
+ * new Map([
39
46
  * ["a", 1],
40
47
  * ["b", 2],
41
48
  * ["c", 3],
@@ -44,7 +51,7 @@ import { cloneMap } from "@monstermann/remmi";
44
51
  * ); // Map(1) { "b" => 2 }
45
52
  *
46
53
  * pipe(
47
- * Map.create([
54
+ * new Map([
48
55
  * ["a", 1],
49
56
  * ["b", 2],
50
57
  * ["c", 3],
@@ -52,6 +59,7 @@ import { cloneMap } from "@monstermann/remmi";
52
59
  * Map.removeAll(["d", "e"]),
53
60
  * ); // Map(3) { "a" => 1, "b" => 2, "c" => 3 }
54
61
  * ```
62
+ *
55
63
  */
56
64
  const removeAll = dfdlT((target, keys) => {
57
65
  let result;
@@ -1,16 +1,24 @@
1
1
  //#region src/Map/removeOr.d.ts
2
2
  /**
3
+ * # removeOr
4
+ *
3
5
  * ```ts
4
- * function Map.removeOr(map, key, or)
6
+ * function Map.removeOr<K, V, U>(
7
+ * target: ReadonlyMap<K, V>,
8
+ * key: NoInfer<K>,
9
+ * or: U,
10
+ * ): Map<K, V> | U
5
11
  * ```
6
12
  *
13
+ * Removes the specified key from the map, or returns the fallback value if the key doesn't exist.
14
+ *
7
15
  * ## Example
8
16
  *
9
- * ```ts
17
+ * ```ts [data-first]
10
18
  * import { Map } from "@monstermann/map";
11
19
  *
12
20
  * Map.removeOr(
13
- * Map.create([
21
+ * new Map([
14
22
  * ["a", 1],
15
23
  * ["b", 2],
16
24
  * ]),
@@ -19,7 +27,7 @@
19
27
  * ); // Map(1) { "b" => 2 }
20
28
  *
21
29
  * Map.removeOr(
22
- * Map.create([
30
+ * new Map([
23
31
  * ["a", 1],
24
32
  * ["b", 2],
25
33
  * ]),
@@ -28,11 +36,11 @@
28
36
  * ); // null
29
37
  * ```
30
38
  *
31
- * ```ts
39
+ * ```ts [data-last]
32
40
  * import { Map } from "@monstermann/map";
33
41
  *
34
42
  * pipe(
35
- * Map.create([
43
+ * new Map([
36
44
  * ["a", 1],
37
45
  * ["b", 2],
38
46
  * ]),
@@ -40,13 +48,14 @@
40
48
  * ); // Map(1) { "b" => 2 }
41
49
  *
42
50
  * pipe(
43
- * Map.create([
51
+ * new Map([
44
52
  * ["a", 1],
45
53
  * ["b", 2],
46
54
  * ]),
47
55
  * Map.removeOr("c", null),
48
56
  * ); // null
49
57
  * ```
58
+ *
50
59
  */
51
60
  declare const removeOr: {
52
61
  <K, V, U>(key: NoInfer<K>, or: U): (target: ReadonlyMap<K, V>) => Map<K, V> | U;
@@ -3,17 +3,25 @@ import { cloneMap } from "@monstermann/remmi";
3
3
 
4
4
  //#region src/Map/removeOr.ts
5
5
  /**
6
+ * # removeOr
7
+ *
6
8
  * ```ts
7
- * function Map.removeOr(map, key, or)
9
+ * function Map.removeOr<K, V, U>(
10
+ * target: ReadonlyMap<K, V>,
11
+ * key: NoInfer<K>,
12
+ * or: U,
13
+ * ): Map<K, V> | U
8
14
  * ```
9
15
  *
16
+ * Removes the specified key from the map, or returns the fallback value if the key doesn't exist.
17
+ *
10
18
  * ## Example
11
19
  *
12
- * ```ts
20
+ * ```ts [data-first]
13
21
  * import { Map } from "@monstermann/map";
14
22
  *
15
23
  * Map.removeOr(
16
- * Map.create([
24
+ * new Map([
17
25
  * ["a", 1],
18
26
  * ["b", 2],
19
27
  * ]),
@@ -22,7 +30,7 @@ import { cloneMap } from "@monstermann/remmi";
22
30
  * ); // Map(1) { "b" => 2 }
23
31
  *
24
32
  * Map.removeOr(
25
- * Map.create([
33
+ * new Map([
26
34
  * ["a", 1],
27
35
  * ["b", 2],
28
36
  * ]),
@@ -31,11 +39,11 @@ import { cloneMap } from "@monstermann/remmi";
31
39
  * ); // null
32
40
  * ```
33
41
  *
34
- * ```ts
42
+ * ```ts [data-last]
35
43
  * import { Map } from "@monstermann/map";
36
44
  *
37
45
  * pipe(
38
- * Map.create([
46
+ * new Map([
39
47
  * ["a", 1],
40
48
  * ["b", 2],
41
49
  * ]),
@@ -43,13 +51,14 @@ import { cloneMap } from "@monstermann/remmi";
43
51
  * ); // Map(1) { "b" => 2 }
44
52
  *
45
53
  * pipe(
46
- * Map.create([
54
+ * new Map([
47
55
  * ["a", 1],
48
56
  * ["b", 2],
49
57
  * ]),
50
58
  * Map.removeOr("c", null),
51
59
  * ); // null
52
60
  * ```
61
+ *
53
62
  */
54
63
  const removeOr = dfdlT((target, key, or) => {
55
64
  if (!target.has(key)) return or;
@@ -1,19 +1,24 @@
1
- import { OrElse } from "./internals/types.js";
2
-
3
1
  //#region src/Map/removeOrElse.d.ts
4
-
5
2
  /**
3
+ * # removeOrElse
4
+ *
6
5
  * ```ts
7
- * function Map.removeOrElse(map, key, orElse)
6
+ * function Map.removeOrElse<K, V, U>(
7
+ * target: ReadonlyMap<K, V>,
8
+ * key: NoInfer<K>,
9
+ * orElse: (target: ReadonlyMap<K, V>) => U,
10
+ * ): Map<K, V> | U
8
11
  * ```
9
12
  *
13
+ * Removes the specified key from the map, or calls the fallback function if the key doesn't exist.
14
+ *
10
15
  * ## Example
11
16
  *
12
- * ```ts
17
+ * ```ts [data-first]
13
18
  * import { Map } from "@monstermann/map";
14
19
  *
15
20
  * Map.removeOrElse(
16
- * Map.create([
21
+ * new Map([
17
22
  * ["a", 1],
18
23
  * ["b", 2],
19
24
  * ]),
@@ -22,7 +27,7 @@ import { OrElse } from "./internals/types.js";
22
27
  * ); // Map(1) { "b" => 2 }
23
28
  *
24
29
  * Map.removeOrElse(
25
- * Map.create([
30
+ * new Map([
26
31
  * ["a", 1],
27
32
  * ["b", 2],
28
33
  * ]),
@@ -31,11 +36,11 @@ import { OrElse } from "./internals/types.js";
31
36
  * ); // 2
32
37
  * ```
33
38
  *
34
- * ```ts
39
+ * ```ts [data-last]
35
40
  * import { Map } from "@monstermann/map";
36
41
  *
37
42
  * pipe(
38
- * Map.create([
43
+ * new Map([
39
44
  * ["a", 1],
40
45
  * ["b", 2],
41
46
  * ]),
@@ -43,17 +48,18 @@ import { OrElse } from "./internals/types.js";
43
48
  * ); // Map(1) { "b" => 2 }
44
49
  *
45
50
  * pipe(
46
- * Map.create([
51
+ * new Map([
47
52
  * ["a", 1],
48
53
  * ["b", 2],
49
54
  * ]),
50
55
  * Map.removeOrElse("c", (map) => map.size),
51
56
  * ); // 2
52
57
  * ```
58
+ *
53
59
  */
54
60
  declare const removeOrElse: {
55
- <K, V, U>(key: NoInfer<K>, orElse: OrElse<K, V, U>): (target: ReadonlyMap<K, V>) => Map<K, V> | U;
56
- <K, V, U>(target: ReadonlyMap<K, V>, key: NoInfer<K>, orElse: OrElse<K, V, U>): Map<K, V> | U;
61
+ <K, V, U>(key: NoInfer<K>, orElse: (target: ReadonlyMap<K, V>) => U): (target: ReadonlyMap<K, V>) => Map<K, V> | U;
62
+ <K, V, U>(target: ReadonlyMap<K, V>, key: NoInfer<K>, orElse: (target: ReadonlyMap<K, V>) => U): Map<K, V> | U;
57
63
  };
58
64
  //#endregion
59
65
  export { removeOrElse };
@@ -3,17 +3,25 @@ import { cloneMap } from "@monstermann/remmi";
3
3
 
4
4
  //#region src/Map/removeOrElse.ts
5
5
  /**
6
+ * # removeOrElse
7
+ *
6
8
  * ```ts
7
- * function Map.removeOrElse(map, key, orElse)
9
+ * function Map.removeOrElse<K, V, U>(
10
+ * target: ReadonlyMap<K, V>,
11
+ * key: NoInfer<K>,
12
+ * orElse: (target: ReadonlyMap<K, V>) => U,
13
+ * ): Map<K, V> | U
8
14
  * ```
9
15
  *
16
+ * Removes the specified key from the map, or calls the fallback function if the key doesn't exist.
17
+ *
10
18
  * ## Example
11
19
  *
12
- * ```ts
20
+ * ```ts [data-first]
13
21
  * import { Map } from "@monstermann/map";
14
22
  *
15
23
  * Map.removeOrElse(
16
- * Map.create([
24
+ * new Map([
17
25
  * ["a", 1],
18
26
  * ["b", 2],
19
27
  * ]),
@@ -22,7 +30,7 @@ import { cloneMap } from "@monstermann/remmi";
22
30
  * ); // Map(1) { "b" => 2 }
23
31
  *
24
32
  * Map.removeOrElse(
25
- * Map.create([
33
+ * new Map([
26
34
  * ["a", 1],
27
35
  * ["b", 2],
28
36
  * ]),
@@ -31,11 +39,11 @@ import { cloneMap } from "@monstermann/remmi";
31
39
  * ); // 2
32
40
  * ```
33
41
  *
34
- * ```ts
42
+ * ```ts [data-last]
35
43
  * import { Map } from "@monstermann/map";
36
44
  *
37
45
  * pipe(
38
- * Map.create([
46
+ * new Map([
39
47
  * ["a", 1],
40
48
  * ["b", 2],
41
49
  * ]),
@@ -43,13 +51,14 @@ import { cloneMap } from "@monstermann/remmi";
43
51
  * ); // Map(1) { "b" => 2 }
44
52
  *
45
53
  * pipe(
46
- * Map.create([
54
+ * new Map([
47
55
  * ["a", 1],
48
56
  * ["b", 2],
49
57
  * ]),
50
58
  * Map.removeOrElse("c", (map) => map.size),
51
59
  * ); // 2
52
60
  * ```
61
+ *
53
62
  */
54
63
  const removeOrElse = dfdlT((target, key, orElse) => {
55
64
  if (!target.has(key)) return orElse(target);
@@ -1,16 +1,23 @@
1
1
  //#region src/Map/removeOrThrow.d.ts
2
2
  /**
3
+ * # removeOrThrow
4
+ *
3
5
  * ```ts
4
- * function Map.removeOrThrow(map, key)
6
+ * function Map.removeOrThrow<K, V>(
7
+ * target: ReadonlyMap<K, V>,
8
+ * key: NoInfer<K>,
9
+ * ): Map<K, V>
5
10
  * ```
6
11
  *
12
+ * Removes the specified key from the map, or throws an error 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.removeOrThrow(
13
- * Map.create([
20
+ * new Map([
14
21
  * ["a", 1],
15
22
  * ["b", 2],
16
23
  * ]),
@@ -18,7 +25,7 @@
18
25
  * ); // Map(1) { "b" => 2 }
19
26
  *
20
27
  * Map.removeOrThrow(
21
- * Map.create([
28
+ * new Map([
22
29
  * ["a", 1],
23
30
  * ["b", 2],
24
31
  * ]),
@@ -26,11 +33,11 @@
26
33
  * ); // throws FnError
27
34
  * ```
28
35
  *
29
- * ```ts
36
+ * ```ts [data-last]
30
37
  * import { Map } from "@monstermann/map";
31
38
  *
32
39
  * pipe(
33
- * Map.create([
40
+ * new Map([
34
41
  * ["a", 1],
35
42
  * ["b", 2],
36
43
  * ]),
@@ -38,13 +45,14 @@
38
45
  * ); // Map(1) { "b" => 2 }
39
46
  *
40
47
  * pipe(
41
- * Map.create([
48
+ * new Map([
42
49
  * ["a", 1],
43
50
  * ["b", 2],
44
51
  * ]),
45
52
  * Map.removeOrThrow("c"),
46
53
  * ); // throws FnError
47
54
  * ```
55
+ *
48
56
  */
49
57
  declare const removeOrThrow: {
50
58
  <K, V>(key: NoInfer<K>): (target: ReadonlyMap<K, V>) => Map<K, V>;
@@ -3,17 +3,24 @@ import { cloneMap } from "@monstermann/remmi";
3
3
 
4
4
  //#region src/Map/removeOrThrow.ts
5
5
  /**
6
+ * # removeOrThrow
7
+ *
6
8
  * ```ts
7
- * function Map.removeOrThrow(map, key)
9
+ * function Map.removeOrThrow<K, V>(
10
+ * target: ReadonlyMap<K, V>,
11
+ * key: NoInfer<K>,
12
+ * ): Map<K, V>
8
13
  * ```
9
14
  *
15
+ * Removes the specified key from the map, or throws an error if the key doesn't exist.
16
+ *
10
17
  * ## Example
11
18
  *
12
- * ```ts
19
+ * ```ts [data-first]
13
20
  * import { Map } from "@monstermann/map";
14
21
  *
15
22
  * Map.removeOrThrow(
16
- * Map.create([
23
+ * new Map([
17
24
  * ["a", 1],
18
25
  * ["b", 2],
19
26
  * ]),
@@ -21,7 +28,7 @@ import { cloneMap } from "@monstermann/remmi";
21
28
  * ); // Map(1) { "b" => 2 }
22
29
  *
23
30
  * Map.removeOrThrow(
24
- * Map.create([
31
+ * new Map([
25
32
  * ["a", 1],
26
33
  * ["b", 2],
27
34
  * ]),
@@ -29,11 +36,11 @@ import { cloneMap } from "@monstermann/remmi";
29
36
  * ); // throws FnError
30
37
  * ```
31
38
  *
32
- * ```ts
39
+ * ```ts [data-last]
33
40
  * import { Map } from "@monstermann/map";
34
41
  *
35
42
  * pipe(
36
- * Map.create([
43
+ * new Map([
37
44
  * ["a", 1],
38
45
  * ["b", 2],
39
46
  * ]),
@@ -41,13 +48,14 @@ import { cloneMap } from "@monstermann/remmi";
41
48
  * ); // Map(1) { "b" => 2 }
42
49
  *
43
50
  * pipe(
44
- * Map.create([
51
+ * new Map([
45
52
  * ["a", 1],
46
53
  * ["b", 2],
47
54
  * ]),
48
55
  * Map.removeOrThrow("c"),
49
56
  * ); // throws FnError
50
57
  * ```
58
+ *
51
59
  */
52
60
  const removeOrThrow = dfdlT((target, key) => {
53
61
  if (!target.has(key)) throw new Error("Map.removeOrThrow: Key does not exist.");