UNPKG

@monstermann/fn

Version:

A utility library for TypeScript.

54 lines (52 loc) 937 B
import { dfdlT } from "@monstermann/dfdl"; import { cloneMap } from "@monstermann/remmi"; //#region src/map/remove.ts /** * `remove(map, key)` * * Removes the entry with the specified `key` from `map`, returning a new map. * * ```ts * remove( * new Map([ * ["a", 1], * ["b", 2], * ]), * "a", * ); // Map(1) { "b" => 2 } * * remove( * new Map([ * ["a", 1], * ["b", 2], * ]), * "c", * ); // Map(2) { "a" => 1, "b" => 2 } * ``` * * ```ts * pipe( * new Map([ * ["a", 1], * ["b", 2], * ]), * remove("a"), * ); // Map(1) { "b" => 2 } * * pipe( * new Map([ * ["a", 1], * ["b", 2], * ]), * remove("c"), * ); // Map(2) { "a" => 1, "b" => 2 } * ``` */ const remove = dfdlT((target, key) => { if (!target.has(key)) return target; target = cloneMap(target); target.delete(key); return target; }, 2); //#endregion export { remove };