Объединить несколько функций в одну

Реализуй функцию compose, которая принимает аргументами любое количество функций, и возвращает функцию, которая при вызове вызовет все функции, которые compose получила аргументом.

  • expect(typeof compose).toBe('function')
  • let num = 10
    function inc() {num += 1}
    const incComposed = compose(inc)
    incComposed()
    expect(num).toBe(11)
    
  • let num = 10
    function inc() {num += 1}
    const incComposed = compose(inc)
    expect(num).toBe(10)
    
  • let num = 10
    function inc() {num += 1}
    const incComposed = compose(inc, inc, inc)
    incComposed()
    expect(num).toBe(13)
    
  • const res = []
    function first() {res.push('uno')}
    function second() {res.push('tuo')}
    function third() {res.push('tre')}
    function fourth() {res.push('quadra')}
    const twoFirst = compose(first, second)
    const lastTwo = compose(third, fourth)
    twoFirst()
    expect(res).toEqual(['uno', 'tuo'])
    lastTwo()
    expect(res).toEqual(['uno', 'tuo', 'tre', 'quadra'])