1.0.1 • Published 9 years ago
currying v1.0.1
currying.js
Usage
var currying = require('currying')
var max5 = currying(Math.max)(5)
console.log(max5(3)) // 5
console.log(max5(30)) // 30
Tests
var assert = require('assert')
var currying = require('./index')
var testFunc = (a1, a2, a3, a4) => a1 + a2 + a3 + a4;
var curryingTestFunc = currying(testFunc);
assert.equal(curryingTestFunc(1)(2)(3)(4), testFunc(1, 2, 3, 4));
assert.equal(curryingTestFunc(1, 2)(3)(4), testFunc(1, 2, 3, 4));
assert.equal(curryingTestFunc(1)(2, 3)(4), testFunc(1, 2, 3, 4));
assert.equal(curryingTestFunc(1)(2)(3, 4), testFunc(1, 2, 3, 4));
assert.equal(curryingTestFunc(1, 2, 3)(4), testFunc(1, 2, 3, 4));
assert.equal(curryingTestFunc(1)(2, 3, 4), testFunc(1, 2, 3, 4));
assert.equal(curryingTestFunc(1, 2, 3, 4), testFunc(1, 2, 3, 4));
var curryingTestFunc_2_3 = curryingTestFunc(2, 3);
assert.equal(curryingTestFunc_2_3(4)(5), testFunc(2, 3, 4, 5));
assert.equal(curryingTestFunc_2_3(5)(6), testFunc(2, 3, 5, 6));
assert.equal(curryingTestFunc_2_3(8, 9), testFunc(2, 3, 8, 9));
var curryingCurryingTestFunc_2_3 = currying(curryingTestFunc(2, 3));
assert.equal(curryingCurryingTestFunc_2_3(4)(5), testFunc(2, 3, 4, 5));
assert.equal(curryingCurryingTestFunc_2_3(5)(6), testFunc(2, 3, 5, 6));
assert.equal(curryingCurryingTestFunc_2_3(8, 9), testFunc(2, 3, 8, 9));