functional.js is a functional JavaScript library.
It facilitates currying and point-free / tacit programming, with optional lambda expressions.
Visit functionaljs.com for the full documentation including curry, each, map, reduce, fold, apply, every, any, select, pluck, toArray, first, last, best, partition, group, while and more.
var add = fjs.curry(function(arg1, arg2) {
return arg1 + arg2;
});
var add3 = add(3);
add(1, 2, 3); // => 6
add3(1, 2, 3, 4, 5); // => 18
var add = fjs.curry("a, b => a + b");
var add3 = add(3);
add(1, 2, 3); // => 6
add3(1, 2, 3, 4, 5); // => 18
var converter = fjs.curry(function(rate, symbol, input) {
var output = input * rate;
return symbol + output.toFixed(2);
});
var poundsToUSD = converter(1.52, "$");
var poundsToEUR = converter(1.27, "€");
poundsToUSD(100); // => "€63.50"
poundsToEUR(50); // => "$152.00"