• Creates 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.

    Differences from lodash:

    • does not accept an arrays of functions
    • all functions will be given only 1 argument (in lodash the first one called can take multiple)
    • might not construct a new function when it is not needed

    Contribution to minified bundle size, when it is the only function imported:

    • Lodash: 5,695 bytes
    • Micro-dash: 111 bytes

    Type Parameters

    • R1
    • R2

    Parameters

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

          Returns R2

    Returns (() => R2)

  • Type Parameters

    • R1
    • R2
    • R3

    Parameters

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

          Returns R2

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

          Returns R3

    Returns (() => R3)

  • Type Parameters

    • R1
    • R2
    • R3
    • R4

    Parameters

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

          Returns R2

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

          Returns R3

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

          Returns R4

    Returns (() => R4)

  • Type Parameters

    • R1
    • R2
    • R3
    • R4
    • R5

    Parameters

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

          Returns R2

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

          Returns R3

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

          Returns R4

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

          Returns R5

    Returns (() => R5)

  • Type Parameters

    • R1
    • R2
    • R3
    • R4
    • R5
    • R6

    Parameters

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

          Returns R2

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

          Returns R3

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

          Returns R4

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

          Returns R5

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

          Returns R6

    Returns (() => R6)

  • Type Parameters

    • R1
    • R2
    • R3
    • R4
    • R5
    • R6
    • R7

    Parameters

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

          Returns R2

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

          Returns R3

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

          Returns R4

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

          Returns R5

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

          Returns R6

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

          Returns R7

    Returns (() => R7)

  • Type Parameters

    • A1
    • R1
    • R2

    Parameters

    • f1: ((a1) => R1)
        • (a1): R1
        • Parameters

          Returns R1

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

          Returns R2

    Returns ((a1) => R2)

      • (a1): R2
      • Parameters

        Returns R2

  • Type Parameters

    • A1
    • R1
    • R2
    • R3

    Parameters

    • f1: ((a1) => R1)
        • (a1): R1
        • Parameters

          Returns R1

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

          Returns R2

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

          Returns R3

    Returns ((a1) => R3)

      • (a1): R3
      • Parameters

        Returns R3

  • Type Parameters

    • A1
    • R1
    • R2
    • R3
    • R4

    Parameters

    • f1: ((a1) => R1)
        • (a1): R1
        • Parameters

          Returns R1

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

          Returns R2

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

          Returns R3

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

          Returns R4

    Returns ((a1) => R4)

      • (a1): R4
      • Parameters

        Returns R4

  • Type Parameters

    • A1
    • R1
    • R2
    • R3
    • R4
    • R5

    Parameters

    • f1: ((a1) => R1)
        • (a1): R1
        • Parameters

          Returns R1

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

          Returns R2

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

          Returns R3

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

          Returns R4

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

          Returns R5

    Returns ((a1) => R5)

      • (a1): R5
      • Parameters

        Returns R5

  • Type Parameters

    • A1
    • R1
    • R2
    • R3
    • R4
    • R5
    • R6

    Parameters

    • f1: ((a1) => R1)
        • (a1): R1
        • Parameters

          Returns R1

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

          Returns R2

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

          Returns R3

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

          Returns R4

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

          Returns R5

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

          Returns R6

    Returns ((a1) => R6)

      • (a1): R6
      • Parameters

        Returns R6

  • Type Parameters

    • A1
    • R1
    • R2
    • R3
    • R4
    • R5
    • R6
    • R7

    Parameters

    • f1: ((a1) => R1)
        • (a1): R1
        • Parameters

          Returns R1

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

          Returns R2

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

          Returns R3

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

          Returns R4

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

          Returns R5

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

          Returns R6

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

          Returns R7

    Returns ((a1) => R7)

      • (a1): R7
      • Parameters

        Returns R7

  • Type Parameters

    • T

    Parameters

    • Rest ...funcs: readonly ((val) => T)[]

    Returns ((val) => T)

      • (val): T
      • Parameters

        • val: T

        Returns T