UNPKG

@mobily/ts-belt

Version:

🔧 Fast, modern, and practical utility library for FP in TypeScript.

75 lines (73 loc) • 1.67 kB
// @flow /** * Performs left-to-right function composition (the first argument must be a value). */ declare export function pipe<A, B>(value: A, fn1: (arg: A) => B): B; declare export function pipe<A, B, C>( value: A, fn1: (arg: A) => B, fn2: (arg: B) => C ): C; declare export function pipe<A, B, C, D>( value: A, fn1: (arg: A) => B, fn2: (arg: B) => C, fn3: (arg: C) => D ): D; declare export function pipe<A, B, C, D, E>( value: A, fn1: (arg: A) => B, fn2: (arg: B) => C, fn3: (arg: C) => D, fn4: (arg: D) => E ): E; declare export function pipe<A, B, C, D, E, F>( value: A, fn1: (arg: A) => B, fn2: (arg: B) => C, fn3: (arg: C) => D, fn4: (arg: D) => E, fn5: (arg: E) => F ): F; declare export function pipe<A, B, C, D, E, F, G>( value: A, fn1: (arg: A) => B, fn2: (arg: B) => C, fn3: (arg: C) => D, fn4: (arg: D) => E, fn5: (arg: E) => F, fn6: (arg: F) => G ): G; declare export function pipe<A, B, C, D, E, F, G, H>( value: A, fn1: (arg: A) => B, fn2: (arg: B) => C, fn3: (arg: C) => D, fn4: (arg: D) => E, fn5: (arg: E) => F, fn6: (arg: F) => G, fn7: (arg: G) => H ): H; declare export function pipe<A, B, C, D, E, F, G, H, I>( value: A, fn1: (arg: A) => B, fn2: (arg: B) => C, fn3: (arg: C) => D, fn4: (arg: D) => E, fn5: (arg: E) => F, fn6: (arg: F) => G, fn7: (arg: G) => H, fn8: (arg: H) => I ): I; declare export function pipe<A, B, C, D, E, F, G, H, I, J>( value: A, fn1: (arg: A) => B, fn2: (arg: B) => C, fn3: (arg: C) => D, fn4: (arg: D) => E, fn5: (arg: E) => F, fn6: (arg: F) => G, fn7: (arg: G) => H, fn8: (arg: H) => I, fn9: (arg: I) => J ): J;