curry.js 394 B

123456789101112131415
  1. var toArr = require('./toArr');
  2. exports = function(fn) {
  3. var len = fn.length;
  4. return function curriedFn() {
  5. var args = toArr(arguments);
  6. if (args.length < len) {
  7. return function() {
  8. return curriedFn.apply(null, args.concat(toArr(arguments)));
  9. };
  10. }
  11. return fn.apply(null, args);
  12. };
  13. };
  14. module.exports = exports;