UNPKG

ts-cast

Version:
9 lines (8 loc) 415 B
import { Caster, CasterFn } from '../engine/types'; type CasterTuple<T extends any[]> = { [K in keyof T]: CasterFn<T[K]>; }; type Merge<T extends any[]> = T extends [infer A, ...infer B] ? A & Merge<B> : unknown; export declare const allOf: <T extends any[]>(...schema: CasterTuple<T>) => Caster<Merge<T>>; export declare const prod: <T extends any[]>(...schema: CasterTuple<T>) => Caster<Merge<T>>; export {};