validata
Version:
Type safe data validation and sanitization
27 lines (26 loc) • 1.45 kB
TypeScript
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 {};