zames

3.0.0 • Public • Published

Zames License NPM version Dependency Status Build Status Coverage Status

zames converts callback-based functions to Promises and apply currying to arguments.

zames = currify + promisify.

Install

npm i zames --save

API

zames(fn [,ctx])

  • fn - function
  • ctx - context

zames can take just a function:

const zames = require('zames');
 
const promise = zames((a, b, fn) => {
    fn(null, a + b);
});
 
const add = promise('hello ');
 
add('world').then((a) => {
    console.log(a);
    // output
    'hello world';
});
 

Or can be used with ctx as well:

const ctx = {
    error: 'hello',
    log: function(a, b, fn) {
        fn(this.error);
    }
}
 
const withContext = zames(ctx.log, ctx);
 
withContext(1, 2)
    .catch((e) => {
        console.error(e.message);
        // output
        'hello';
    });
 

Related

  • currify - translate the evaluation of a function that takes multiple arguments into evaluating a sequence of functions, each with a single or more arguments.

  • fullstore - functional variables.

  • wraptile - translate the evaluation of a function that takes multiple arguments into evaluating a sequence of 2 functions, each with a any count of arguments.

License

MIT

Package Sidebar

Install

npm i zames

Weekly Downloads

24,772

Version

3.0.0

License

MIT

Unpacked Size

7.23 kB

Total Files

5

Last publish

Collaborators

  • coderaiser