UNPKG

1.54 kBTypeScriptView Raw
1export interface Indexable {
2 [key: string]: any;
3}
4export interface ValidationError {
5 error: string;
6 message?: string;
7 path?: string;
8 value: any;
9}
10export interface Validator {
11 (value: any): ValidationError[] | undefined;
12}
13export interface ErrorMessageCallback {
14 (error: string, value: any): string | undefined;
15}
16export interface Options {
17 message?: string | ErrorMessageCallback;
18}
19export interface Schema {
20 [key: string]: Validator;
21}
22export declare function matchesBoolean(options?: Options): Validator;
23export declare function matchesString(options?: Options): Validator;
24export declare function matchesPositiveInteger(options?: Options): Validator;
25export declare function matchesPositiveNumber(options?: Options): Validator;
26/**
27 * Returns a validator that matches values in the given enum
28 * @param type - enum to use for match values
29 * @public
30 */
31export declare function matchesEnum(types: Indexable, options?: Options): Validator;
32export declare function matchesArray(validator?: Validator, options?: Options): Validator;
33export declare function matchesObject(schema: Schema, options?: Options): Validator;
34export declare function makeOptional(validator: Validator): (value: any) => ValidationError[] | undefined;
35export declare function composeSchemas(...validators: Validator[]): Validator;
36export declare function validate(obj: any, validator: Validator | Validator): {
37 path: string | undefined;
38 error: string;
39 message?: string | undefined;
40 value: any;
41}[] | undefined;