Share your code. Components are building blocks, you are the architect.

utils/curry-n
v1.1.0
1.1.0
MIT
PUBLIC
3
Build: fail
BuildFail
Build Status: fail
Returns a curried equivalent of the provided function, with the specified

Please configure Bit as a scoped registry to install components with NPM.Learn more

npm config set '@bit:registry' https://node.bitsrc.io
Use utils/curry-n in your project
npm i @bit/bit.ramda.utils.curry-n
Copied

curryN (length:Number, fn:Function) : Function

Returns a curried equivalent of the provided function, with the specified arity. The curried function has two unusual capabilities. First, its arguments needn’t be provided one at a time. If g is R.curryN(3, f), the following are equivalent:

  • g(1)(2)(3)
  • g(1)(2, 3)
  • g(1, 2)(3)
  • g(1, 2, 3)

Secondly, the special placeholder value R.__ may be used to specify "gaps", allowing partial application of any combination of arguments, regardless of their positions. If g is as above and _ is R.__, the following are equivalent:

  • g(1, 2, 3)
  • g(_, 2, 3)(1)
  • g(_, _, 3)(1)(2)
  • g(_, _, 3)(1, 2)
  • g(_, 2)(1)(3)
  • g(_, 2)(1, 3)
  • g(_, 2)(_, 3)(1)

Example

var sumArgs = (...args) => R.sum(args);

     var curriedAddFourNumbers = R.curryN(4, sumArgs);
     var f = curriedAddFourNumbers(1, 2);
     var g = f(3);
     g(4); //=> 10

Arguments

length: Number

The arity for the returned function.

fn: Function

The function to curry.

Returns

Function

A new, curried function.