UNPKG

typescript-checker

Version:

Powerful data validation library enabling type safety

47 lines (46 loc) 3.62 kB
import { Checker, Check, KeysSchema, ItemsSchema } from "./core"; export declare const TypeUndefined: Checker<unknown, undefined>; export declare const TypeNull: Checker<unknown, null>; export declare const TypeString: Checker<unknown, string>; export declare const TypeBoolean: Checker<unknown, boolean>; export declare const TypeNumber: Checker<unknown, number>; export declare const TypeUnknown: Checker<unknown, unknown>; export declare const TypeFunction: Checker<unknown, Function>; export declare const TypeObject: Checker<unknown, object>; export declare const TypeArray: (value: unknown) => Check<unknown[]>; export declare const TypeEnum: <T>(_enum: T) => Checker<unknown, T[keyof T]>; export declare const TypeEnumString: <T>(_enum: T) => Checker<unknown, T[keyof T]>; export declare const TypeParseInt: Checker<unknown, string>; export declare const TypeParseFloat: Checker<unknown, string>; export declare const TypeParseBoolean: Checker<unknown, string>; export declare const TypeMatches: (name: string, regexp: RegExp) => Checker<string, string>; export declare const TypeMatchesNot: (name: string, regexp: RegExp) => Checker<string, string>; export declare const ConvertJSON: Checker<string, unknown>; export declare const ConvertParseInt: Checker<unknown, number>; export declare const ConvertParseFloat: Checker<unknown, number>; export declare const ConvertParseBoolean: Checker<unknown, boolean>; export declare const Record: <K extends string, T>(checkKey: Checker<string, K>, checkItem: Checker<unknown, T>) => Checker<unknown, Record<K, T>>; export declare const RecordPartial: <K extends string, T>(checkKey: Checker<string, K>, checkItem: Checker<unknown, T>) => Checker<unknown, Partial<Record<K, T>>>; export declare const TypeCheck: <U, T extends U>(check: (value: U) => value is T, type?: string) => (value: U) => Check<T>; export declare const checkInstanceOf: <T>(constructor: { new (...args: any): T; name: string; }) => (value: unknown) => Check<T>; export declare const Keys: (<T>(schema: { readonly [key in keyof Required<T>]: Checker<unknown, Required<T>[key]>; }) => Checker<unknown, T>) & (<T_1, O extends keyof T_1>(schema: { readonly [key_1 in keyof Required<T_1>]: Checker<unknown, Required<T_1>[key_1]>; }, optional: Iterable<O> | readonly O[]) => Checker<unknown, Omit<T_1, O> & Partial<Pick<T_1, O>>>); export declare const Keys1: <T>(schema: { readonly [key in keyof Required<T>]: Checker<unknown, Required<T>[key]>; }) => Checker<unknown, T>; export declare const Keys2: <T_1, O extends keyof T_1>(schema: { readonly [key_1 in keyof Required<T_1>]: Checker<unknown, Required<T_1>[key_1]>; }, optional: Iterable<O> | readonly O[]) => Checker<unknown, Omit<T_1, O> & Partial<Pick<T_1, O>>>; export declare const Items: <T>(schema: ItemsSchema<T, unknown>) => Checker<unknown, T[]>; export declare const parsesAs: <T = never>(check: Checker<T, unknown>) => Checker<T, T>; export declare const ConvertDate: Checker<unknown, Date>; export declare const TypeParseDate: Checker<unknown, string>; export declare const Transform: <T, R>(transformFn: (value: T) => R) => Checker<T, R>; export declare const HasKeys: <T>(schema: { readonly [key in keyof Required<T>]: Checker<unknown, Required<T>[key]>; }) => Checker<unknown, T>; declare type CheckPair = { <T1, T2>(firstChecker: Checker<unknown, T1>, secondChecker: Checker<unknown, T2>): Checker<unknown, [T1, T2]>; <T extends unknown[]>(UCheck: Checker<unknown, T[0]>, TCheck: Checker<unknown, T[1]>): Checker<unknown, [ T[0], T[1] ]>; }; export declare const checkPair: CheckPair; export {};