succulent
Version:
Powerful and easy runtime type checking
5 lines (4 loc) • 344 B
TypeScript
import { Schema, SchemaBase } from "../schema";
export declare function union<T extends readonly unknown[]>(...schemas: readonly [...Schema.WrapAll<T>]): Schema<T[number]>;
export declare function or<X, Y>(x: SchemaBase<X>, y: SchemaBase<Y>): Schema<X | Y>;
export declare function and<X, Y>(x: SchemaBase<X>, y: SchemaBase<Y>): Schema<X & Y>;