validata
Version:
Type safe data validation and sanitization
27 lines (26 loc) • 1.27 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>, options?: ObjectOptions<T>) => ValueProcessor<T>;
export declare const maybeObject: <T extends {
[key: string]: any;
}>(contract?: Contract<T>, options?: ObjectOptions<T> & MaybeOptions) => ValueProcessor<T | undefined>;
export declare const asObject: <T extends {
[key: string]: any;
}>(contract?: Contract<T>, options?: ObjectOptions<T> & WithDefault<T> & CommonConvertOptions<T> & ConvertOptions) => ValueProcessor<T>;
export declare const maybeAsObject: <T extends {
[key: string]: any;
}>(contract?: Contract<T>, options?: ObjectOptions<T> & WithDefault<T> & CommonConvertOptions<T> & MaybeOptions & ConvertOptions) => ValueProcessor<T | undefined>;
export {};