@naverpay/hidash
Version:
improved lodash
11 lines (9 loc) • 1.77 kB
text/typescript
type Func<TArgs extends unknown[], TResult> = (...args: TArgs) => TResult;
declare function flow<TArgs extends unknown[], TResult>(fn: Func<TArgs, TResult>): Func<TArgs, TResult>;
declare function flow<TArgs extends unknown[], TResult1, TResult2>(fn1: Func<TArgs, TResult1>, fn2: Func<[TResult1], TResult2>): Func<TArgs, TResult2>;
declare function flow<TArgs extends unknown[], TResult1, TResult2, TResult3>(fn1: Func<TArgs, TResult1>, fn2: Func<[TResult1], TResult2>, fn3: Func<[TResult2], TResult3>): Func<TArgs, TResult3>;
declare function flow<TArgs extends unknown[], TResult1, TResult2, TResult3, TResult4>(fn1: Func<TArgs, TResult1>, fn2: Func<[TResult1], TResult2>, fn3: Func<[TResult2], TResult3>, fn4: Func<[TResult3], TResult4>): Func<TArgs, TResult4>;
declare function flow<TArgs extends unknown[], TResult1, TResult2, TResult3, TResult4, TResult5>(fn1: Func<TArgs, TResult1>, fn2: Func<[TResult1], TResult2>, fn3: Func<[TResult2], TResult3>, fn4: Func<[TResult3], TResult4>, fn5: Func<[TResult4], TResult5>): Func<TArgs, TResult5>;
declare function flow<TArgs extends unknown[], TResult1, TResult2, TResult3, TResult4, TResult5, TResult6>(fn1: Func<TArgs, TResult1>, fn2: Func<[TResult1], TResult2>, fn3: Func<[TResult2], TResult3>, fn4: Func<[TResult3], TResult4>, fn5: Func<[TResult4], TResult5>, fn6: Func<[TResult5], TResult6>): Func<TArgs, TResult6>;
declare function flow<TArgs extends unknown[], TResult1, TResult2, TResult3, TResult4, TResult5, TResult6, TResult7>(fn1: Func<TArgs, TResult1>, fn2: Func<[TResult1], TResult2>, fn3: Func<[TResult2], TResult3>, fn4: Func<[TResult3], TResult4>, fn5: Func<[TResult4], TResult5>, fn6: Func<[TResult5], TResult6>, fn7: Func<[TResult6], TResult7>): Func<TArgs, TResult7>;
export { flow as default, flow };