Files
30-seconds-of-code/test/uncurry/uncurry.js
Angelos Chalaris 5612671121 Add uncurry
2018-02-14 11:56:44 +02:00

6 lines
236 B
JavaScript

const uncurry = (fn, n = 1) => (...args) => {
const next = acc => args => args.reduce((x, y) => x(y), acc);
if (n > args.length) throw new RangeError('Arguments too few!');
return next(fn)(args.slice(0, n));
};
module.exports = uncurry;