Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
decorate a function so it will curry if not given enough arguments
JavaScript
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
test
.gitignore
.npmignore
License
Makefile
Readme.md
component.json
index.js
package.json

Readme.md

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

Something went wrong with that request. Please try again.