UNPKG

valia

Version:

A runtime data validator in TypeScript with advanced type inference, built-in validation functions, and seamless integration for server and client environments.

39 lines (33 loc) 951 B
import type { SetableCriteriaTemplate, ClassicTypesTemplate, GenericTypesTemplate, SetableCriteria, MountedCriteria, GuardedCriteria, KeyofFormatClassicTypes } from "../types"; export interface ArraySetableCriteria< T extends KeyofFormatClassicTypes = KeyofFormatClassicTypes > extends SetableCriteriaTemplate<"array"> { /** @default true */ empty?: boolean; min?: number; max?: number; item: SetableCriteria<T>; } export interface ArrayDefaultCriteria { empty: boolean; } export interface ArrayClassicTypes<T extends KeyofFormatClassicTypes> extends ClassicTypesTemplate< ArraySetableCriteria<T>, ArrayDefaultCriteria > {} export interface ArrayMountedCriteria { item: MountedCriteria; } type ArrayGuardedCriteria<T extends ArraySetableCriteria> = GuardedCriteria<T['item']>[]; export interface ArrayGenericTypes<T extends ArraySetableCriteria> extends GenericTypesTemplate< ArrayMountedCriteria, ArrayGuardedCriteria<T> > {}