UNPKG

validata

Version:

Type safe data validation and sanitization

27 lines (26 loc) 1.45 kB
import { CommonConvertOptions, CommonValidationOptions, MaybeOptions, WithDefault } from './common'; import { Contract, ValueProcessor } from './types'; interface AdditionalOptions { stripExtraProperties?: boolean; ignoreExtraProperties?: boolean; } interface ConvertOptions { reviver?: Reviver; } interface ValidationOptions<T> extends CommonValidationOptions<T> { } type Reviver = (key: string, value: any) => any; export type ObjectOptions<T> = ValidationOptions<T> & AdditionalOptions; export declare const isObject: <T extends { [key: string]: any; }>(contract?: Contract<T> | undefined, options?: ObjectOptions<T> | undefined) => ValueProcessor<T>; export declare const maybeObject: <T extends { [key: string]: any; }>(contract?: Contract<T> | undefined, options?: (ValidationOptions<T> & AdditionalOptions & MaybeOptions) | undefined) => ValueProcessor<T | undefined>; export declare const asObject: <T extends { [key: string]: any; }>(contract?: Contract<T> | undefined, options?: (ValidationOptions<T> & AdditionalOptions & WithDefault<T> & CommonConvertOptions<T> & ConvertOptions) | undefined) => ValueProcessor<T>; export declare const maybeAsObject: <T extends { [key: string]: any; }>(contract?: Contract<T> | undefined, options?: (ValidationOptions<T> & AdditionalOptions & WithDefault<T> & CommonConvertOptions<T> & MaybeOptions & ConvertOptions) | undefined) => ValueProcessor<T | undefined>; export {};