@lambda-middleware/compose
Version:
A compose function for functional lambda middleware.
11 lines (10 loc) • 2.07 kB
TypeScript
export declare function compose<V extends any[], T1>(fn0: (...args: V) => T1): (...args: V) => T1;
export declare function compose<V extends any[], T1, T2>(fn1: (x: T1) => T2, fn0: (...args: V) => T1): (...args: V) => T2;
export declare function compose<V extends any[], T1, T2, T3>(fn2: (x: T2) => T3, fn1: (x: T1) => T2, fn0: (...args: V) => T1): (...args: V) => T3;
export declare function compose<V extends any[], T1, T2, T3, T4>(fn3: (x: T3) => T4, fn2: (x: T2) => T3, fn1: (x: T1) => T2, fn0: (...args: V) => T1): (...args: V) => T4;
export declare function compose<V extends any[], T1, T2, T3, T4, T5>(fn4: (x: T4) => T5, fn3: (x: T3) => T4, fn2: (x: T2) => T3, fn1: (x: T1) => T2, fn0: (...args: V) => T1): (...args: V) => T5;
export declare function compose<V extends any[], T1, T2, T3, T4, T5, T6>(fn5: (x: T5) => T6, fn4: (x: T4) => T5, fn3: (x: T3) => T4, fn2: (x: T2) => T3, fn1: (x: T1) => T2, fn0: (...args: V) => T1): (...args: V) => T6;
export declare function compose<V extends any[], T1, T2, T3, T4, T5, T6, T7>(fn6: (x: T6) => T7, fn5: (x: T5) => T6, fn4: (x: T4) => T5, fn3: (x: T3) => T4, fn2: (x: T2) => T3, fn1: (x: T1) => T2, fn0: (...args: V) => T1): (...args: V) => T7;
export declare function compose<V extends any[], T1, T2, T3, T4, T5, T6, T7, T8>(fn7: (x: T7) => T8, fn6: (x: T6) => T7, fn5: (x: T5) => T6, fn4: (x: T4) => T5, fn3: (x: T3) => T4, fn2: (x: T2) => T3, fn1: (x: T1) => T2, fn0: (...args: V) => T1): (...args: V) => T8;
export declare function compose<V extends any[], T1, T2, T3, T4, T5, T6, T7, T8, T9>(fn8: (x: T8) => T9, fn7: (x: T7) => T8, fn6: (x: T6) => T7, fn5: (x: T5) => T6, fn4: (x: T4) => T5, fn3: (x: T3) => T4, fn2: (x: T2) => T3, fn1: (x: T1) => T2, fn0: (...args: V) => T1): (...args: V) => T9;
export declare function compose<V extends any[], T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(fn9: (x: T9) => T10, fn8: (x: T8) => T9, fn7: (x: T7) => T8, fn6: (x: T6) => T7, fn5: (x: T5) => T6, fn4: (x: T4) => T5, fn3: (x: T3) => T4, fn2: (x: T2) => T3, fn1: (x: T1) => T2, fn0: (...args: V) => T1): (...args: V) => T10;