UNPKG

variable-type

Version:

Runtime type checking for variable and similar objects.

35 lines (34 loc) 1.1 kB
/** * Created by hustcc on 17/08/01. * * 👏 08-01 is my birthday on ID card. */ import Type, { TypeChecker } from './Type'; declare type TypeTransformer = (type: Type) => Type; declare type TypeCombiner = (types: Type[]) => Type; declare type TypeGenerator = (toCheck: any) => Type; declare type EnumValidator = (toCheck: any[]) => Type; export declare type VariableType = { readonly undefined: Type; readonly bool: Type; readonly func: Type; readonly number: Type; readonly string: Type; readonly null: Type; readonly object: Type; readonly array: Type; readonly any: Type; readonly and: TypeCombiner; readonly or: TypeCombiner; readonly not: TypeTransformer; readonly instanceOf: TypeGenerator; readonly typeOf: TypeGenerator; readonly in: EnumValidator; readonly oneOf: EnumValidator; readonly oneOfType: TypeCombiner; readonly arrayOf: TypeTransformer; readonly shape: (typeShape: Record<string, Type>) => Type; readonly apply: (func: TypeChecker) => Type; }; declare const VT: VariableType; export default VT;