UNPKG

@monstermann/fn

Version:

A utility library for TypeScript.

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