UNPKG

ts-sum-types

Version:

Algebraic sum types for TypeScript, designed after Rust's enums

11 lines (10 loc) 775 B
export interface ValueFactory<Args extends unknown[], Value extends unknown[]> { (...args: Args): Value; } export declare function id<T extends unknown[] = never[]>(): ValueFactory<T, T>; export declare function id<T extends Exclude<unknown, unknown[]>>(): ValueFactory<[T], [T]>; export declare function id<T1, T2>(): ValueFactory<[T1, T2], [T1, T2]>; export declare function id<T1, T2, T3>(): ValueFactory<[T1, T2, T3], [T1, T2, T3]>; export declare function id<T1, T2, T3, T4>(): ValueFactory<[T1, T2, T3, T4], [T1, T2, T3, T4]>; export declare function id<T1, T2, T3, T4, T5>(): ValueFactory<[T1, T2, T3, T4, T5], [T1, T2, T3, T4, T5]>; export declare function id<T1, T2, T3, T4, T5, T6>(): ValueFactory<[T1, T2, T3, T4, T5, T6], [T1, T2, T3, T4, T5, T6]>;