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

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

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 in your project
npm i @bit/bit.ramda.utils.curry
Copied

curry (fn:Function) : Function

Returns a curried equivalent of the provided function. The curried function has two unusual capabilities. First, its arguments needn’t be provided one at a time. If f is a ternary function and g is R.curry(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 addFourNumbers = (a, b, c, d) => a + b + c + d;

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

Argument

fn: Function

The function to curry.

Returns

Function

A new, curried function.