functional.js
v0.8.0
Published
A functional JavaScript library that facilitates currying and point-free programming, with optional lambda expressions.
Downloads
33,075
Maintainers
Readme
functional.js (fjs)

functional.js is a functional JavaScript library.
It facilitates currying and point-free / tacit programming, with optional lambda expressions.
Documentation
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.
Curry function example
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); // => 18Curry expression example
var add = fjs.curry("a, b => a + b");
var add3 = add(3);
add(1, 2, 3); // => 6
add3(1, 2, 3, 4, 5); // => 18Curry ES6 example
const add = fjs.curry((a, b) => a + b);
const add3 = add(3);
add(1, 2, 3); // => 6
add3(1, 2, 3, 4, 5); // => 18Real world example
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"