UNPKG

@qntm-code/utils

Version:

A collection of useful utility functions with associated TypeScript types. All functions have been unit tested.

15 lines (14 loc) 738 B
declare namespace Empty { type String = ''; type Object = Record<string, never>; type Array = never[]; type _Set = Set<never>; type _Map = Map<never, never>; } type Empty = Empty.Array | Empty.Object | Empty.String | Empty._Set | Empty._Map; type EmptyResult<T> = T extends string ? Empty.String : T extends any[] ? Empty.Array : T extends Set<unknown> ? Empty._Set : T extends Map<unknown, unknown> ? Empty._Map : T extends object ? Empty.Object : never; /** * Checks if a given value is empty */ export declare function isEmpty<T extends string | Set<unknown> | Map<unknown, unknown> | any[] | object | null | undefined>(value: T | Empty | null | undefined): value is EmptyResult<T> | null | undefined; export {};