UNPKG

dilswer

Version:

Blazingly fast data validation library with TypeScript integration.

19 lines (18 loc) 881 B
import type { AnyType } from "../data-types/type-types"; import type { InferDType, ReWrap } from "../data-types/type-utils"; import { AggregateValidationError, ValidationError } from "./validation-error/validation-error"; type ValidationResults<T> = { success: false; error: ValidationError | AggregateValidationError; } | { success: true; value: T; }; type Validator<T> = (data: unknown) => data is T; type ValidatorWithDetails<T> = (data: unknown) => ValidationResults<T>; export declare function validator<DT extends AnyType>(dataType: DT): Validator<ReWrap<InferDType<DT>>>; export declare function validator<DT extends AnyType>(dataType: DT, options: { details: true; }): ValidatorWithDetails<ReWrap<InferDType<DT>>>; export declare function validateWith<DT extends AnyType>(dataType: DT, value: any): ValidationResults<ReWrap<InferDType<DT>>>; export {};