@typed/io
Version:
Runtime IO type system
7 lines • 618 B
TypeScript
import { Flatten, UnNest } from '@typed/common';
import { Decoder, TypeOf } from './Decoder';
export declare const intersection: <A extends readonly Decoder<any>[]>(decoders: A) => Decoder<UnNest<Flatten<ToDecoderTypeConsList<A>, unknown>, unknown>>;
declare type IntersectionType<A extends readonly any[]> = UnNest<Flatten<ToDecoderTypeConsList<A>, unknown>>;
declare type ToDecoderTypeConsList<A extends readonly any[]> = [] extends A ? unknown : ((...a: A) => any) extends (t: infer T, ...ts: infer TS) => any ? [TypeOf<T>, ToDecoderTypeConsList<TS>] : unknown;
export {};
//# sourceMappingURL=Intersection.d.ts.map