UNPKG

crocks

Version:

A collection of well known Algebraic Datatypes for your utter enjoyment.

22 lines (16 loc) 536 B
/** @license ISC License (c) copyright 2017 original and current authors */ /** @author Ian Hofmann-Hicks (evil) */ function curryN(n, fn) { return function() { var xs = [], len = arguments.length; while ( len-- ) xs[ len ] = arguments[ len ]; var args = xs.length ? xs : [ undefined ] var remaining = Math.floor(n) - args.length return remaining > 0 ? curryN(remaining, Function.bind.apply(fn, [ null ].concat(args))) : fn.apply(null, args.slice(0, n)) } } module.exports = curryN