@phun-ky/typeof
Version:
A set of JavaScript helper functions to check for types
144 lines (142 loc) • 3.88 kB
TypeScript
/**
* @overload
*/
declare function isString(value: unknown): value is string;
/**
* @overload
*/
declare function isString(value: unknown): boolean;
/**
* @overload
*/
declare function isNotString<T>(value: T): value is Exclude<T, string>;
/**
* @overload
*/
declare function isNotString(value: unknown): boolean;
/**
* @overload
*/
declare function isNumber(value: unknown): value is number;
/**
* @overload
*/
declare function isNumber(value: unknown): boolean;
/**
* @overload
*/
declare function isNotNumber<T>(value: T): value is Exclude<T, number>;
/**
* @overload
*/
declare function isNotNumber(value: unknown): boolean;
/**
* @overload
*/
declare function isBoolean(value: unknown): value is boolean;
/**
* @overload
*/
declare function isBoolean(value: unknown): boolean;
/**
* @overload
*/
declare function isNotBoolean<T>(value: T): value is Exclude<T, boolean>;
/**
* @overload
*/
declare function isNotBoolean(value: unknown): boolean;
/**
* @overload
*/
declare function isUndefined(value: unknown): value is undefined;
/**
* @overload
*/
declare function isUndefined(value: unknown): boolean;
/**
* @overload
*/
declare function isNotUndefined<T>(value: T): value is Exclude<T, undefined>;
/**
* @overload
*/
declare function isNotUndefined(value: unknown): boolean;
/**
* @overload
*/
declare function isDefined<T>(value: T): value is Exclude<T, undefined>;
/**
* @overload
*/
declare function isDefined(value: unknown): boolean;
/**
* @overload
*/
declare function isObjectPlain(value: unknown): value is Record<string, unknown>;
/**
* @overload
*/
declare function isObjectPlain(value: unknown): boolean;
/**
* @overload
*/
declare function isObjectStrict(value: unknown): value is Record<string, unknown>;
/**
* @overload
*/
declare function isObjectStrict(value: unknown): boolean;
/**
* @overload
*/
declare function isObjectLoose(value: unknown): value is object;
/**
* @overload
*/
declare function isObjectLoose(value: unknown): boolean;
type ClassCtor<T = any> = new (...args: any[]) => T;
/**
* @overload
*/
declare function isClass(value: unknown): value is ClassCtor;
/**
* @overload
*/
declare function isClass(value: unknown): boolean;
/**
* A union of standard JavaScript **constructable** built-ins
* (e.g., `Object`, `Array`, `Date`, `Map`, etc.).
*/
type BuiltInConstructor = ObjectConstructor | ArrayConstructor | FunctionConstructor | StringConstructor | NumberConstructor | BooleanConstructor | DateConstructor | RegExpConstructor | ErrorConstructor | EvalErrorConstructor | RangeErrorConstructor | ReferenceErrorConstructor | SyntaxErrorConstructor | TypeErrorConstructor | URIErrorConstructor | MapConstructor | WeakMapConstructor | SetConstructor | WeakSetConstructor | PromiseConstructor;
/**
* @overload
*/
declare function isBuiltInConstructor(value: unknown): value is BuiltInConstructor;
/**
* @overload
*/
declare function isBuiltInConstructor(value: unknown): boolean;
/**
* Built-in globals that are **callable**:
* - All standard constructors (above)
* - Plus callable, **non-constructable** built-ins: `BigInt` and `Symbol`
*/
type BuiltInCallable = BuiltInConstructor | typeof BigInt | typeof Symbol;
/**
* @overload
*/
declare function isBuiltInCallable(value: unknown): value is BuiltInCallable;
/**
* @overload
*/
declare function isBuiltInCallable(value: unknown): boolean;
/**
* @overload
*/
declare function isInstanceOfUnknownClass(value: unknown): value is object;
/**
* @overload
*/
declare function isInstanceOfUnknownClass(value: unknown): boolean;
export { isBoolean, isBuiltInCallable, isBuiltInConstructor, isClass, isDefined, isInstanceOfUnknownClass, isNotBoolean, isNotNumber, isNotString, isNotUndefined, isNumber, isObjectLoose, isObjectPlain, isObjectStrict, isString, isUndefined };
export type { BuiltInCallable, BuiltInConstructor };