UNPKG

payload-is

Version:

A comprehensive TypeScript/JavaScript type checking library providing functions to check data types, collections, primitives, and built-in objects

258 lines (257 loc) 5.2 kB
export type PrimitiveType = boolean | number | string | bigint | symbol | null | undefined; export type PlainObject = Record<PropertyKey, any>; export type AnyFunction = (...args: any[]) => any; export type AnyAsyncFunction = (...args: any[]) => Promise<any>; export type AnyClass = new (...args: any[]) => any; export type DataTypeResult = { type: "undefined"; data: undefined; } | { type: "number"; data: number; } | { type: "bigint"; data: bigint; } | { type: "boolean"; data: boolean; } | { type: "string"; data: string; } | { type: "symbol"; data: symbol; } | { type: "null"; data: null; } | { type: "function"; subtype: "Function"; data: AnyFunction; } | { type: "function"; subtype: "AsyncFunction"; data: AnyAsyncFunction; } | { type: "function"; subtype: "GeneratorFunction"; data: GeneratorFunction; } | { type: "function"; subtype: "AsyncGeneratorFunction"; data: AsyncGeneratorFunction; } | { type: "object"; subtype: "Segmenter String Iterator"; data: Intl.SegmentIterator<Intl.SegmentData>; } | { type: "object"; subtype: "RegExp String Iterator"; data: RegExpStringIterator<RegExpMatchArray>; } | { type: "object"; subtype: "String Iterator"; data: StringIterator<string>; } | { type: "object"; subtype: "Array Iterator"; data: ArrayIterator<unknown>; } | { type: "object"; subtype: "Map Iterator"; data: MapIterator<unknown>; } | { type: "object"; subtype: "Set Iterator"; data: SetIterator<unknown>; } | { type: "object"; subtype: "Generator"; data: Generator; } | { type: "object"; subtype: "Iterator"; data: Iterator<unknown>; } | { type: "object"; subtype: "AsyncGenerator"; data: AsyncGenerator; } | { type: "object"; subtype: "AsyncIterator"; data: AsyncIterator<unknown>; } | { type: "object"; subtype: "ArrayBuffer"; data: ArrayBuffer; } | { type: "object"; subtype: "SharedArrayBuffer"; data: SharedArrayBuffer; } | { type: "object"; subtype: "DataView"; data: DataView; } | { type: "object"; subtype: "Int8Array"; data: Int8Array; } | { type: "object"; subtype: "Uint8Array"; data: Uint8Array; } | { type: "object"; subtype: "Uint8ClampedArray"; data: Uint8ClampedArray; } | { type: "object"; subtype: "Int16Array"; data: Int16Array; } | { type: "object"; subtype: "Uint16Array"; data: Uint16Array; } | { type: "object"; subtype: "Int32Array"; data: Int32Array; } | { type: "object"; subtype: "Uint32Array"; data: Uint32Array; } | { type: "object"; subtype: "Float32Array"; data: Float32Array; } | { type: "object"; subtype: "Float64Array"; data: Float64Array; } | { type: "object"; subtype: "BigInt64Array"; data: BigInt64Array; } | { type: "object"; subtype: "BigUint64Array"; data: BigUint64Array; } | { type: "object"; subtype: "String"; data: String; } | { type: "object"; subtype: "Number"; data: Number; } | { type: "object"; subtype: "BigInt"; data: BigInt; } | { type: "object"; subtype: "Boolean"; data: Boolean; } | { type: "object"; subtype: "Symbol"; data: Symbol; } | { type: "object"; subtype: "Error"; data: Error; } | { type: "object"; subtype: "Array"; data: unknown[]; } | { type: "object"; subtype: "Set"; data: Set<unknown>; } | { type: "object"; subtype: "Map"; data: Map<unknown, unknown>; } | { type: "object"; subtype: "WeakSet"; data: WeakSet<WeakKey>; } | { type: "object"; subtype: "WeakMap"; data: WeakMap<WeakKey, unknown>; } | { type: "object"; subtype: "WeakRef"; data: WeakRef<WeakKey>; } | { type: "object"; subtype: "Promise"; data: Promise<unknown>; } | { type: "object"; subtype: "Date"; data: Date; } | { type: "object"; subtype: "RegExp"; data: RegExp; } | { type: "object"; subtype: "URL"; data: URL; } | { type: "object"; subtype: "URLSearchParams"; data: URLSearchParams; } | { type: "object"; subtype: "File"; data: File; } | { type: "object"; subtype: "Blob"; data: Blob; } | { type: "object"; subtype: "FormData"; data: FormData; } | { type: "object"; subtype: "Headers"; data: Headers; } | { type: "object"; subtype: "Request"; data: Request; } | { type: "object"; subtype: "Response"; data: Response; } | { type: "object"; subtype: "Arguments"; data: IArguments; } | { type: "object"; subtype: "Atomics"; data: Atomics; } | { type: "object"; subtype: "JSON"; data: JSON; } | { type: "object"; subtype: "Reflect"; data: typeof Reflect; } | { type: "object"; subtype: "FinalizationRegistry"; data: FinalizationRegistry<unknown>; } | { type: "object"; subtype: "Object"; data: object; }; export declare function getTag(payload: unknown): string; export declare const getType: typeof getTag;