computed-types
Version:
Runtime validation types for TypeScript.
27 lines (26 loc) • 1.85 kB
TypeScript
import Validator, { ValidatorProxy } from './Validator';
import FunctionType, { FunctionParameters } from './schema/FunctionType';
import { ErrorLike } from './schema/errors';
import { ObjectValidator } from './object';
import { StringValidator } from './string';
import { NumberValidator } from './number';
import { BooleanValidator } from './boolean';
import { SchemaResolveType } from './schema/io';
import { ArrayValidator } from './array';
import { Enum, ObjectProperty } from './schema/utils';
import { DateValidator } from './DateType';
export declare class UnknownValidator<P extends FunctionParameters = [unknown]> extends Validator<FunctionType<unknown, P>> {
schema<S>(schema: S, error?: ErrorLike<[unknown]>): ValidatorProxy<Validator<FunctionType<SchemaResolveType<S>, P>>>;
object(error?: ErrorLike<[unknown]>): ValidatorProxy<ObjectValidator<P>>;
array(error?: ErrorLike<[unknown]>): ValidatorProxy<ArrayValidator<unknown[], P>>;
string(error?: ErrorLike<[unknown]>): ValidatorProxy<StringValidator<P>>;
number(error?: ErrorLike<[unknown]>): ValidatorProxy<NumberValidator<P>>;
boolean(error?: ErrorLike<[unknown]>): ValidatorProxy<BooleanValidator<P>>;
date(error?: ErrorLike<[unknown]>): ValidatorProxy<DateValidator<P>>;
enum<E extends Enum<E>>(value: E, error?: ErrorLike<[unknown]>): ValidatorProxy<Validator<FunctionType<E[keyof E], P>>>;
record<K extends ObjectProperty, V>(key: FunctionType<K, [any]>, // eslint-disable-line @typescript-eslint/no-explicit-any
value: FunctionType<V, [any]>, // eslint-disable-line @typescript-eslint/no-explicit-any
error?: ErrorLike<[unknown]>): ValidatorProxy<Validator<FunctionType<Record<K, V>, P>>>;
}
declare const unknown: ValidatorProxy<UnknownValidator<[input: unknown]>, FunctionType<unknown, [input: unknown]>>;
export default unknown;