/** Determines if the passed value is of a specific type */ export type TypeTester = (value: any) => boolean; /** * The interface for a type mapping (key => function) to use for {@link getType}. export * The key represents the name of the type. The function represents the {@link TypeTester test method}. * The map should be ordered by testing preference, with more specific tests first. * If a test returns true, it is selected, and the key is returned as the type. */ export interface TypeMap { [type: string]: TypeTester; } export type AnyFunction = Function; export type Nullish = undefined | null; export type NonNullishObject = object; export type NativeClass = abstract new (...args: any) => any; export type AnyNumber = number | Number; export type AnyString = string | String; export type AnyBoolean = boolean | Boolean; export type AnyArray = any[]; export type PlainObject = Record; export type AnyMap = Map; export type AnyWeakMap = WeakMap; export type EmptyArray = []; export type Any = boolean | number | bigint | string | null | undefined | void | symbol | object | PlainObject | AnyArray | AnyMap | AnyWeakMap; /** Get the object type string */ export declare function getObjectType(value?: any): string; /** Checks to see if a value is an object */ export declare function isObject(value: NonNullishObject): true; export declare function isObject(value?: Exclude): false; export declare function isObject(value?: any): value is NonNullishObject; /** Checks to see if a value is an object and only an object */ export declare function isPlainObject(value: PlainObject): true; export declare function isPlainObject(value?: Exclude): false; export declare function isPlainObject(value?: any): value is PlainObject; /** Is ES6+ class */ export declare function isNativeClass(value: NativeClass): true; export declare function isNativeClass(value?: Exclude): false; export declare function isNativeClass(value?: any): value is NativeClass; /** * Is Conventional Class * Looks for function with capital first letter MyClass * First letter is the 9th character * If changed, isClass must also be updated */ export declare function isConventionalClass(value: NativeClass): false; export declare function isConventionalClass(value: Function): boolean; export declare function isConventionalClass(value?: Exclude): false; export declare function isConventionalClass(value?: any): value is Function; /** Is Class */ export declare function isClass(value: NativeClass): true; export declare function isClass(value: Function): boolean; export declare function isClass(value?: Exclude): false; export declare function isClass(value?: any): value is NativeClass | Function; /** Checks to see if a value is an error */ export declare function isError(value: Error): true; export declare function isError(value?: Exclude): false; export declare function isError(value?: any): value is Error; /** Checks to see if a value is a date */ export declare function isDate(value: Date): true; export declare function isDate(value?: Exclude): false; export declare function isDate(value?: any): value is Date; /** Checks to see if a value is an arguments object */ export declare function isArguments(value: IArguments): true; export declare function isArguments(value?: Exclude): false; export declare function isArguments(value?: any): value is IArguments; /** Checks to see if a value is a function but not an asynchronous function */ export declare function isSyncFunction(value: Function): boolean; export declare function isSyncFunction(value?: Exclude): false; export declare function isSyncFunction(value?: any): value is Function; /** Checks to see if a value is an asynchronous function */ export declare function isAsyncFunction(value: Function): boolean; export declare function isAsyncFunction(value?: Exclude): false; export declare function isAsyncFunction(value?: any): value is Function; /** Checks to see if a value is a function */ export declare function isFunction(value: Function): true; export declare function isFunction(value?: Exclude): false; export declare function isFunction(value?: any): value is Function; /** Checks to see if a value is an regex */ export declare function isRegExp(value: RegExp): true; export declare function isRegExp(value?: Exclude): false; export declare function isRegExp(value?: any): value is RegExp; /** Checks to see if a value is an array */ export declare function isArray(value: AnyArray): true; export declare function isArray(value?: Exclude): false; export declare function isArray(value?: any): value is AnyArray; /** Checks to see if a value is a number */ export declare function isNumber(value: AnyNumber): true; export declare function isNumber(value?: Exclude): false; export declare function isNumber(value?: any): value is AnyNumber; /** Checks to see if a value is a string */ export declare function isString(value: AnyString): true; export declare function isString(value?: Exclude): false; export declare function isString(value?: any): value is AnyString; /** Checks to see if a value is a boolean */ export declare function isBoolean(value: AnyBoolean): true; export declare function isBoolean(value?: Exclude): false; export declare function isBoolean(value?: any): value is AnyBoolean; /** Checks to see if a value is null */ export declare function isNull(value: null): true; export declare function isNull(value?: Exclude): false; export declare function isNull(value?: any): value is null; /** Checks to see if a value is undefined */ export declare function isUndefined(value?: undefined): true; export declare function isUndefined(value?: Exclude): false; export declare function isUndefined(value?: any): value is undefined; /** Checks to see if a value is nullish */ export declare function isNullish(value?: Nullish): true; export declare function isNullish(value?: Exclude): false; export declare function isNullish(value?: any): value is Nullish; /** Checks to see if a value is a Map */ export declare function isMap(value: AnyMap): true; export declare function isMap(value?: Exclude): false; export declare function isMap(value?: any): value is AnyMap; /** Checks to see if a value is a WeakMap */ export declare function isWeakMap(value: AnyMap): false; export declare function isWeakMap(value: AnyWeakMap): true; export declare function isWeakMap(value?: Exclude): false; export declare function isWeakMap(value?: any): value is AnyWeakMap; /** * Is empty array * @throws if the value was not an array */ export declare function isEmptyArray(value: EmptyArray): true; export declare function isEmptyArray(value: AnyArray): false; export declare function isEmptyArray(value?: Exclude): never; export declare function isEmptyArray(value?: any): value is EmptyArray; /** * Is empty plain object * @throws if the value was not a plain object */ export declare function isEmptyPlainObject(value: PlainObject): boolean; export declare function isEmptyPlainObject(value?: Exclude): never; export declare function isEmptyPlainObject(value?: any): value is PlainObject; /** * Is empty map * @throws if the value was not a Map */ export declare function isEmptyMap(value: AnyMap): boolean; export declare function isEmptyMap(value?: Exclude): never; export declare function isEmptyMap(value?: any): value is AnyMap; /** * Is empty weak map * @throws if the value was not a WeakMap */ export declare function isEmptyWeakMap(value: AnyMap): never; export declare function isEmptyWeakMap(value: AnyWeakMap): boolean; export declare function isEmptyWeakMap(value?: Exclude): never; export declare function isEmptyWeakMap(value?: any): value is AnyWeakMap; /** Is empty keys */ export declare function isEmptyKeys(value: EmptyArray): true; export declare function isEmptyKeys(value: AnyArray): false; export declare function isEmptyKeys(value: NonNullishObject): boolean; export declare function isEmptyKeys(value?: any): false; /** * The default {@link TypeMap} for {@link getType}. export * AsyncFunction and SyncFunction are missing, as they are more specific types that people can detect afterwards. * @readonly */ export declare const typeMap: TypeMap; /** * Cycle through the passed {@link TypeMap} testing the value, returning the first type that passes, otherwise `null`. * @param value the value to test * @param customTypeMap defaults to {@link typeMap} */ export declare function getType(value: any, customTypeMap?: TypeMap): string | null; //# sourceMappingURL=index.d.ts.map