UNPKG

@monstermann/fn

Version:

A utility library for TypeScript.

26 lines (24 loc) 805 B
import { NonNil } from "../internals/types.js"; import { AllUnionFields } from "type-fest"; //#region src/object/getOrThrow.d.ts /** * `getOrThrow(target, key)` * * Returns the value of `key` property from `target` object, or throws an error if not found or null/undefined. * * ```ts * getOrThrow({ a: 1, b: 2 }, "a"); // 1 * getOrThrow({ a: 1, b: 2 }, "c"); // throws FnError * ``` * * ```ts * pipe({ a: 1, b: 2 }, getOrThrow("a")); // 1 * pipe({ a: 1, b: 2 }, getOrThrow("c")); // throws FnError * ``` */ declare const getOrThrow: { <T extends object, U extends keyof AllUnionFields<T>>(key: U): (target: T) => NonNil<AllUnionFields<T>[U]>; <T extends object, U extends keyof AllUnionFields<T>>(target: T, key: U): NonNil<AllUnionFields<T>[U]>; }; //#endregion export { getOrThrow };