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(a, b) {
return a + b;
});
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
const add = fjs.curry((a, b) => a + b);
const 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); // => "$152.00"
poundsToEUR(50); // => "€63.50"