removeOrElse
ts
function Map.removeOrElse<K, V, U>(
target: ReadonlyMap<K, V>,
key: NoInfer<K>,
orElse: (target: ReadonlyMap<K, V>) => U,
): Map<K, V> | URemoves the specified key from the map, or calls the fallback function if the key doesn't exist.
Example
ts
import { Map } from "@monstermann/map";
Map.removeOrElse(
new Map([
["a", 1],
["b", 2],
]),
"a",
() => null,
); // Map(1) { "b" => 2 }
Map.removeOrElse(
new Map([
["a", 1],
["b", 2],
]),
"c",
(map) => map.size,
); // 2ts
import { Map } from "@monstermann/map";
pipe(
new Map([
["a", 1],
["b", 2],
]),
Map.removeOrElse("a", () => null),
); // Map(1) { "b" => 2 }
pipe(
new Map([
["a", 1],
["b", 2],
]),
Map.removeOrElse("c", (map) => map.size),
); // 2