valia
Version:
A runtime data validator in TypeScript with advanced type inference, built-in validation functions, and seamless integration for server and client environments.
6 lines (5 loc) • 315 B
TypeScript
import type { SetableCriteria, GuardedCriteria } from "./formats";
import { Schema } from "./schema";
export type SchemaInstance = InstanceType<typeof Schema>;
export type SchemaInfer<I> = I extends Schema<infer T> ? GuardedCriteria<T> : never;
export type SchemaType<T extends SetableCriteria> = typeof Schema<T>;