Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

functionaljs/functional-js

Open more actions menu

Repository files navigation

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); // => "$152.00"
poundsToEUR(50); // => "€63.50"

License

MIT License

About

A functional JavaScript library that facilitates currying and point-free programming

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 6

Morty Proxy This is a proxified and sanitized view of the page, visit original site.