Curry a Function
Curry a function so partial application returns a new function until every argument is supplied, enabling reusable configured variants.
Code
export function curry(fn) {
const arity = fn.length;
return function curried(...args) {
if (args.length >= arity) {
return fn.apply(this, args);
}
return function next(...more) {
return curried.apply(this, args.concat(more));
};
};
}Report a problem with this exampleOpens a pre-filled issue on GitHub.