UNPKG

@ibrokethat/curry

Version:
29 lines (20 loc) 595 B
'use strict'; module.exports = function curry(fn) { return _curry(fn.length, fn); }; function _curry(length, fn) { return function () { for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } if (args.length === 0) { throw new Error(fn.name + ': called with no arguments'); } if (args.length >= length) { return fn.apply(undefined, args); } else { return _curry(length - args.length, fn.bind.apply(fn, [null].concat(args))); } }; } //# sourceMappingURL=index.js.map