UNPKG

froebel

Version:
8 lines (7 loc) 711 B
/** Checks if `value` is truthy. Literal types are narrowed accordingly. */ export declare const truthy: <T>(value: T) => value is PickTruthy<T>; /** Checks if `value` is falsy. Literal types are narrowed accordingly. */ export declare const falsy: <T>(value: T) => value is PickFalsy<T>; declare type PickTruthy<T> = (true extends T ? true : never) | (T extends string ? Exclude<T, ""> : never) | (T extends number ? Exclude<T, 0> : never) | Exclude<T, undefined | null | string | number | boolean>; declare type PickFalsy<T> = (null extends T ? null : never) | (undefined extends T ? undefined : never) | (false extends T ? false : never) | (0 extends T ? 0 : never) | ("" extends T ? "" : never); export {};