Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

functional.js

0.8.0 • Public • Published

functional.js (fjs) Build Status npm version devDependency Status

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); // => 18

Curry 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); // => 18

Curry 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); // => 18

Real 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"

License

MIT License

install

npm i functional.js

Downloadsweekly downloads

4,473

version

0.8.0

license

none

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability