curryable

decorate a function so it will curry if not given enough arguments

npm install curryable
9 downloads in the last month

curryable

decorate a function so it will curry if not given enough arguments. See why curry helps for a good explanation of the concept.

Installation

With component, packin or npm

$ {package mananger} install jkroso/curryable

then in your app:

var curryable = require('curryable')

API

curryable(fn:function, [arity]:Number)

make fn curryable

var add = curryable(function(a, b){
  return a + b
})
var add1 = add(1)
add1(1) == add(1, 1) == 2 // => true

The optional arity argument allows you to specify how many arguments are optional

var add = curryable(function(a, b, c){
  return a + b + (c || 0)
}, -1)
add(1)(2) == add(1)(2, 0) // => true

Running the tests

Just run make. It will install and start a development server leaving the tests waiting for you at

npm loves you