7 lines
243 B
JavaScript
7 lines
243 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;
|