Function flow

  • Composes a function that returns the result of invoking the given functions with the this binding of the created function, where each successive invocation is supplied the return value of the previous.

    Type Parameters

    • A extends any[]
    • R1
    • R2
    • R3
    • R4
    • R5
    • R6
    • R7

    Parameters

    • f1: ((...args: A) => R1)
        • (...args): R1
        • Parameters

          • Rest...args: A

          Returns R1

    • f2: ((a: R1) => R2)
        • (a): R2
        • Parameters

          Returns R2

    • f3: ((a: R2) => R3)
        • (a): R3
        • Parameters

          Returns R3

    • f4: ((a: R3) => R4)
        • (a): R4
        • Parameters

          Returns R4

    • f5: ((a: R4) => R5)
        • (a): R5
        • Parameters

          Returns R5

    • f6: ((a: R5) => R6)
        • (a): R6
        • Parameters

          Returns R6

    • f7: ((a: R6) => R7)
        • (a): R7
        • Parameters

          Returns R7

    Returns ((...args: A) => R7)

    Returns the new composite function.

      • (...args): R7
      • Parameters

        • Rest...args: A

        Returns R7

    3.0.0

    flowRight

    import add from 'lodash/add'

    function square(n) {
    return n * n
    }

    const addSquare = flow(add, square)
    addSquare(1, 2)
    // => 9
  • Type Parameters

    • A extends any[]
    • R1
    • R2
    • R3
    • R4
    • R5
    • R6

    Parameters

    • f1: ((...args: A) => R1)
        • (...args): R1
        • Parameters

          • Rest...args: A

          Returns R1

    • f2: ((a: R1) => R2)
        • (a): R2
        • Parameters

          Returns R2

    • f3: ((a: R2) => R3)
        • (a): R3
        • Parameters

          Returns R3

    • f4: ((a: R3) => R4)
        • (a): R4
        • Parameters

          Returns R4

    • f5: ((a: R4) => R5)
        • (a): R5
        • Parameters

          Returns R5

    • f6: ((a: R5) => R6)
        • (a): R6
        • Parameters

          Returns R6

    Returns ((...args: A) => R6)

      • (...args): R6
      • Parameters

        • Rest...args: A

        Returns R6

  • Type Parameters

    • A extends any[]
    • R1
    • R2
    • R3
    • R4
    • R5

    Parameters

    • f1: ((...args: A) => R1)
        • (...args): R1
        • Parameters

          • Rest...args: A

          Returns R1

    • f2: ((a: R1) => R2)
        • (a): R2
        • Parameters

          Returns R2

    • f3: ((a: R2) => R3)
        • (a): R3
        • Parameters

          Returns R3

    • f4: ((a: R3) => R4)
        • (a): R4
        • Parameters

          Returns R4

    • f5: ((a: R4) => R5)
        • (a): R5
        • Parameters

          Returns R5

    Returns ((...args: A) => R5)

      • (...args): R5
      • Parameters

        • Rest...args: A

        Returns R5

  • Type Parameters

    • A extends any[]
    • R1
    • R2
    • R3
    • R4

    Parameters

    • f1: ((...args: A) => R1)
        • (...args): R1
        • Parameters

          • Rest...args: A

          Returns R1

    • f2: ((a: R1) => R2)
        • (a): R2
        • Parameters

          Returns R2

    • f3: ((a: R2) => R3)
        • (a): R3
        • Parameters

          Returns R3

    • f4: ((a: R3) => R4)
        • (a): R4
        • Parameters

          Returns R4

    Returns ((...args: A) => R4)

      • (...args): R4
      • Parameters

        • Rest...args: A

        Returns R4

  • Type Parameters

    • A extends any[]
    • R1
    • R2
    • R3

    Parameters

    • f1: ((...args: A) => R1)
        • (...args): R1
        • Parameters

          • Rest...args: A

          Returns R1

    • f2: ((a: R1) => R2)
        • (a): R2
        • Parameters

          Returns R2

    • f3: ((a: R2) => R3)
        • (a): R3
        • Parameters

          Returns R3

    Returns ((...args: A) => R3)

      • (...args): R3
      • Parameters

        • Rest...args: A

        Returns R3

  • Type Parameters

    • A extends any[]
    • R1
    • R2

    Parameters

    • f1: ((...args: A) => R1)
        • (...args): R1
        • Parameters

          • Rest...args: A

          Returns R1

    • f2: ((a: R1) => R2)
        • (a): R2
        • Parameters

          Returns R2

    Returns ((...args: A) => R2)

      • (...args): R2
      • Parameters

        • Rest...args: A

        Returns R2