UNPKG

@monstermann/fn

Version:

A utility library for TypeScript.

69 lines (67 loc) 1.02 kB
import { dfdlT } from "@monstermann/dfdl"; //#region src/map/getOr.ts /** * `getOr(map, key, or)` * * Gets the value associated with `key` from `map`, returning `or` if the key doesn't exist or the value is nullable. * * ```ts * getOr( * new Map([ * ["a", 1], * ["b", null], * ]), * "a", * 0, * ); // 1 * * getOr( * new Map([ * ["a", 1], * ["b", null], * ]), * "b", * 0, * ); // 0 * * getOr( * new Map([ * ["a", 1], * ["b", null], * ]), * "c", * 0, * ); // 0 * ``` * * ```ts * pipe( * new Map([ * ["a", 1], * ["b", null], * ]), * getOr("a", 0), * ); // 1 * * pipe( * new Map([ * ["a", 1], * ["b", null], * ]), * getOr("b", 0), * ); // 0 * * pipe( * new Map([ * ["a", 1], * ["b", null], * ]), * getOr("c", 0), * ); // 0 * ``` */ const getOr = dfdlT((target, key, or) => { return target.get(key) ?? or; }, 3); //#endregion export { getOr };