Nine Pounds of Mayonnaise

    curry2

    1.0.3 • Public • Published

    curry2

    Curry a binary function.

    Build Status Code Climate js-standard-style

    npm install curry2 --save

    You can also use Duo, Bower or download the files manually.

    npm stats

    npm NPM downloads Dependency Status

    API Example

    require
    var curry2 = require('curry2')
    function to curry
    var add = curry2(function (a, b) {
      return a + b
    })
    full application
    add(5, 2)
    //=> 7
    partial application
    var add10 = add(10)
    add(5)
    //=> 15
    iteratee
    [100, 200, 300].map(add10)
    //=> [ 110, 210, 310 ]
    uncurry
    var orig = add.uncurry()
     
    typeof orig
    //=> 'function'
     
    orig.length
    //=> 2

    Features

    • Binary functions...that's it.
    • Will always be less than 20 LOC (not including comments).
    • No dependencies.

    Anti-Features

    • Will not attempt to curry n-ary functions.
    • Will never eval your functions.

    Limitations

    • You will lose fn.name.

    API

    curry2(fn)

    arguments
    • fn: (Function) Binary function to curry.
    • [self]: (Object) Function this context.
    returns
    • (Function|*) If partially applied, return unary function, otherwise, return result of full application..

    .uncurry()

    returns
    • (Function) returns original function.

    Reference

    Alternatives

    Contributing

    SEE: contributing.md

    Licenses

    GitHub license

    Install

    npm i curry2

    DownloadsWeekly Downloads

    48,227

    Version

    1.0.3

    License

    MIT

    Last publish

    Collaborators

    • wilmoore