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)());
