curry-n

v0.9.6arrow_drop_down
v0.9.6
STATUS
Passing
DOWNLOADS
49
VISIBILITY
Public
PUBLISHED
5 years ago
SIZE
1 KB
Returns a curried equivalent of the provided function, with the specified arity.
1 contributor
Install curry-n as a package?
Copied
npm i @bit/justin-capalbo.ramda.curry-n
Set Bit as a scoped registryLearn more
npm config set '@bit:registry' https://node.bit.cloud
Component Example
React
React
Vue
Angular
React Native
Add dependency... help_outline
Just
import
any of the 1 million components
and packages in Bit or NPM to the example.
import Button from '@bit/grommet.grommet.button';
import Lodash from 'lodash';
toggle layout
No preview available
modifieddraft
chevron_left
chevron_right
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
const sumArgs = (...args) => R.sum(args);

     const curriedAddFourNumbers = R.curryN(4, sumArgs);
     const f = curriedAddFourNumbers(1, 2);
     const 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.

Help and resources