UNPKG

@monstermann/fn

Version:

A utility library for TypeScript.

67 lines (65 loc) 1.22 kB
import { NonNil } from "../internals/types.js"; //#region src/map/getOrThrow.d.ts /** * `getOrThrow(map, key)` * * Gets the value associated with `key` from `map`, throwing an error if the key doesn't exist or the value is nullable. * * ```ts * getOrThrow( * new Map([ * ["a", 1], * ["b", 2], * ]), * "a", * ); // 1 * * getOrThrow( * new Map([ * ["a", 1], * ["b", null], * ]), * "b", * ); // throws FnError * * getOrThrow( * new Map([ * ["a", 1], * ["b", 2], * ]), * "c", * ); // throws FnError * ``` * * ```ts * pipe( * new Map([ * ["a", 1], * ["b", 2], * ]), * getOrThrow("a"), * ); // 1 * * pipe( * new Map([ * ["a", 1], * ["b", null], * ]), * getOrThrow("b"), * ); // throws FnError * * pipe( * new Map([ * ["a", 1], * ["b", 2], * ]), * getOrThrow("c"), * ); // throws FnError * ``` */ declare const getOrThrow: { <K, V>(key: NoInfer<K>): (target: ReadonlyMap<K, V>) => NonNil<V>; <K, V>(target: ReadonlyMap<K, V>, key: NoInfer<K>): NonNil<V>; }; //#endregion export { getOrThrow };