es-promisify

1.1.2 • Public • Published

ES2015 Promisify Library

Build Status

This library enables node-styled functions to work as Promises through the use of ES2015 syntax.

Examples

Single-valued callback with multiple parameters

For a snipped like the following:

'use strict';
 
const Promisify = require('es-promisify');
 
// Test a promise that returns a single value
function sum (a, b, callback) {
    callback(null, a + b);
}
 
async function main () {
    let sumPromise = Promisify(sum);
    console.log(await sumPromise(2, 2));
}
 
main();

We'd expect to have an output like this one:

4

Multiple-valued output with multiple arguments

For a snippet like the following

'use strict';
 
const Promisify = require('es-promisify');
 
// Test return of multiple values
function multiOutput (a, b, callback) {
    callback(null, a, b);
}
 
async function main () {
    let multiOutputPromise = Promisify(multiOutput);
    console.log(await multiOutputPromise('a', 'b');
}
 
main();

We'd expect to have an output like this one:

['a''b']

Function bound to an object state

For a snippet like the following:

'use strict';
 
const Promisify = require('es-promisify');
 
// Test binding of methods inside objects
class Bindable {
    constructor () {
        this._prop = 3;
    }
 
    get prop () {
        return this._prop;
    }
 
    increment (callback) {
        this._prop += 1;
        callback(null, this.prop);
    }
}
 
async function main () {
    let bindable = new Bindable();
    let incrementPromise = Promisify(bindable.increment, bindable);
    console.log(await incrementPromise());
}
 
main();

We'd expect an output like this one:

4

Readme

Keywords

none

Package Sidebar

Install

npm i es-promisify

Weekly Downloads

3

Version

1.1.2

License

MIT

Unpacked Size

6.05 kB

Total Files

7

Last publish

Collaborators

  • cebor