JavaScripting

The definitive source of the best
JavaScript libraries, frameworks, and plugins.


  • ×

    Functional Js

    A functional js library that facilitates currying and point-free / tacit programming
    Filed under  › 

    • 🔾23%Overall
    • 224
    • 6.5 days
    • 🕩13
    • 👥3

    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(arg1, arg2) {
        return arg1 + arg2;
    });
    
    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
    

    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

    Show All