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.

13 lines (9 loc) 535 B
import type { SetableCriteria, MountedCriteria, GuardedCriteria, Format } from "./formats"; import { Schema } from "./schema"; export type SchemaInfer<T> = T extends Schema<infer U> ? GuardedCriteria<MountedCriteria<U>> : never; export type SchemaInstance<T extends SetableCriteria = SetableCriteria> = InstanceType<typeof Schema<T>>; export type SchemaParameters<T extends SetableCriteria = SetableCriteria> = ConstructorParameters<typeof Schema<T>>; export interface SchemaPlugin { formats: Format[]; [key: PropertyKey]: any; }