This expression is not callable

type StepFn = (val: number) => number | StepFn;

function add(val: number): number | StepFn {
  if (val) {
    return function sum(next) {
      if (!next) {
        return val;
      }
      return add(val + next);
    };
  } else {
    return 0;
  }
}

export default add;

console.log(add());
console.log(add(1)(2)());
console.log(add(2)(4)(6)());
console.log(add(4)(6)(8)(10)());

Screen


Ответы (0 шт):