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
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)
Running the tests
Just run make
. It will install and start a development server leaving the tests waiting for you at