UNPKG

froebel

Version:
15 lines (14 loc) 653 B
/** Checks if `value` is nullish. Literal types are narrowed accordingly. */ export declare const nullish: <T>(value: T) => value is Nullish<T>; declare type Nullish<T> = PickNullish<T> extends never ? Extract<T, undefined | null> : PickNullish<T>; declare type PickNullish<T> = (null extends T ? null : never) | (undefined extends T ? undefined : never); /** * Checks if `value` is not nullish. Literal types are narrowed accordingly. * * @example * ``` * const nums = (...values: (number | undefined)[]): number[] => values.filter(notNullish) * ``` */ export declare const notNullish: <T>(value: T | null | undefined) => value is T; export {};