UNPKG

@itrocks/class-type

Version:

Helper types and functions to identify, validate, and manipulate classes, objects, prototypes and their properties

18 lines (17 loc) 1.29 kB
export type AnyObject = Record<string, any>; export type KeyOf<T> = Extract<keyof T, string>; export type ObjectOrType<T extends object = object> = T | Type<T>; export type StringObject = Record<string, string>; export type Type<T extends object = object> = new (...args: any[]) => T; export declare function addReservedClassNames(...classNames: string[]): void; export declare function baseType<T extends object>(target: Type<T>): Type<T>; export declare function inherits<T extends object, S extends object>(type: Type<S | T>, superType: Type<S>): type is Type<S & T>; export declare function isAnyFunction(value: any): value is Function; export declare function isAnyFunctionOrType(value: any): value is Function | Type; export declare function isAnyObject<T extends object = object>(value: any): value is T; export declare function isAnyType(value: any): value is Type; export declare function isObject<T extends object>(target: ObjectOrType<T>): target is T; export declare function isType<T extends object>(target: ObjectOrType<T>): target is Type<T>; export declare function prototypeTargetOf<T extends object>(target: ObjectOrType<T>): T; export declare function typeIdentifier(type: Type): symbol; export declare function typeOf<T extends object>(target: ObjectOrType<T>): Type<T>;