Function compose

  • Perform right-to-left function composition.

    Type Parameters

    • T1
    • T2

    Parameters

    • op1: ((input: T1) => T2)
        • (input): T2
        • Parameters

          Returns T2

    Returns ((input: T1) => T2)

      • (input): T2
      • Parameters

        Returns T2

    const func = compose(
    arr => arr.map(v => v + 2)
    (arr: number[]) => arr.map(v => v * 2),
    )
    // [4, 6, 8, 10]
    //
  • Type Parameters

    • T1
    • T2
    • T3

    Parameters

    • op2: ((input: T2) => T3)
        • (input): T3
        • Parameters

          Returns T3

    • op1: ((input: T1) => T2)
        • (input): T2
        • Parameters

          Returns T2

    Returns ((input: T1) => T3)

      • (input): T3
      • Parameters

        Returns T3

  • Type Parameters

    • T1
    • T2
    • T3
    • T4

    Parameters

    • op3: ((input: T3) => T4)
        • (input): T4
        • Parameters

          Returns T4

    • op2: ((input: T2) => T3)
        • (input): T3
        • Parameters

          Returns T3

    • op1: ((input: T1) => T2)
        • (input): T2
        • Parameters

          Returns T2

    Returns ((input: T1) => T4)

      • (input): T4
      • Parameters

        Returns T4

  • Type Parameters

    • T1
    • T2
    • T3
    • T4
    • T5

    Parameters

    • op4: ((input: T4) => T5)
        • (input): T5
        • Parameters

          Returns T5

    • op3: ((input: T3) => T4)
        • (input): T4
        • Parameters

          Returns T4

    • op2: ((input: T2) => T3)
        • (input): T3
        • Parameters

          Returns T3

    • op1: ((input: T1) => T2)
        • (input): T2
        • Parameters

          Returns T2

    Returns ((input: T1) => T5)

      • (input): T5
      • Parameters

        Returns T5

  • Type Parameters

    • T1
    • T2
    • T3
    • T4
    • T5
    • T6

    Parameters

    • op5: ((input: T5) => T6)
        • (input): T6
        • Parameters

          Returns T6

    • op4: ((input: T4) => T5)
        • (input): T5
        • Parameters

          Returns T5

    • op3: ((input: T3) => T4)
        • (input): T4
        • Parameters

          Returns T4

    • op2: ((input: T2) => T3)
        • (input): T3
        • Parameters

          Returns T3

    • op1: ((input: T1) => T2)
        • (input): T2
        • Parameters

          Returns T2

    Returns ((input: T1) => T6)

      • (input): T6
      • Parameters

        Returns T6

  • Type Parameters

    • T1
    • T2
    • T3
    • T4
    • T5
    • T6
    • T7

    Parameters

    • op6: ((input: T6) => T7)
        • (input): T7
        • Parameters

          Returns T7

    • op5: ((input: T5) => T6)
        • (input): T6
        • Parameters

          Returns T6

    • op4: ((input: T4) => T5)
        • (input): T5
        • Parameters

          Returns T5

    • op3: ((input: T3) => T4)
        • (input): T4
        • Parameters

          Returns T4

    • op2: ((input: T2) => T3)
        • (input): T3
        • Parameters

          Returns T3

    • op1: ((input: T1) => T2)
        • (input): T2
        • Parameters

          Returns T2

    Returns ((input: T1) => T7)

      • (input): T7
      • Parameters

        Returns T7

  • Type Parameters

    • T1
    • T2
    • T3
    • T4
    • T5
    • T6
    • T7
    • T8

    Parameters

    • op7: ((input: T7) => T8)
        • (input): T8
        • Parameters

          Returns T8

    • op6: ((input: T6) => T7)
        • (input): T7
        • Parameters

          Returns T7

    • op5: ((input: T5) => T6)
        • (input): T6
        • Parameters

          Returns T6

    • op4: ((input: T4) => T5)
        • (input): T5
        • Parameters

          Returns T5

    • op3: ((input: T3) => T4)
        • (input): T4
        • Parameters

          Returns T4

    • op2: ((input: T2) => T3)
        • (input): T3
        • Parameters

          Returns T3

    • op1: ((input: T1) => T2)
        • (input): T2
        • Parameters

          Returns T2

    Returns ((input: T1) => T8)

      • (input): T8
      • Parameters

        Returns T8

  • Parameters

    • Rest...operations: ((value: unknown) => unknown)[]

    Returns ((value: unknown) => unknown)

      • (value): unknown
      • Parameters

        • value: unknown

        Returns unknown