Zames
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
- functionctx
- 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);
'hello world';
});
Or could 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);
'hello';
});
Environments
In old node.js
environments that not fully supports es2015
, zames
could be used with:
var zames = require('zames/legacy');
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