validata
Version:
Type safe data validation and sanitization
16 lines (15 loc) • 1.12 kB
TypeScript
import { CommonConvertOptions, CommonValidationOptions, MaybeOptions, WithDefault } from './common';
import { ValueProcessor } from './types';
interface ItemProcessor {
coerceMaxLength?: number;
}
interface ValidationOptions<I, T extends I[] = I[]> extends CommonValidationOptions<T> {
maxLength?: number;
minLength?: number;
}
export type ArrayOptions<I, T extends I[] = I[]> = ItemProcessor & ValidationOptions<I, T>;
export declare const isArray: <I, T extends I[] = I[]>(item?: ValueProcessor<I>, options?: ArrayOptions<I, T>) => ValueProcessor<T>;
export declare const maybeArray: <I, T extends I[] = I[]>(item?: ValueProcessor<I>, options?: ArrayOptions<I, T> & MaybeOptions) => ValueProcessor<T | undefined>;
export declare const asArray: <I, T extends I[] = I[]>(item?: ValueProcessor<I>, options?: ArrayOptions<I, T> & WithDefault<T> & CommonConvertOptions<T>) => ValueProcessor<T>;
export declare const maybeAsArray: <I, T extends I[] = I[]>(item?: ValueProcessor<I>, options?: ArrayOptions<I, T> & MaybeOptions & WithDefault<T> & CommonConvertOptions<T>) => ValueProcessor<T | undefined>;
export {};