instapromise

    2.0.7 • Public • Published

    Instapromise Circle CI

    Promisify Node-style asynchronous functions by putting a .promise after them (or after the object for methods).

    npm package

    If you use this library then if you put .promise after a Node-style asynchronous function, it will turn it into a function that returns a promise instead of taking a callback.

    import 'instapromise';
    import fs from 'fs';
     
    let p = fs.readFile.promise('/tmp/hello', 'utf8');
    p.then(console.log);

    The original function is available as a property on the promise-generating function (.___instapromiseOriginalFunction___).

    If you want to promisify methods, use .promise after the object and before the method name.

    import 'instapromise';
    import fs from 'fs';
     
    let p = fs.promise.readFile('/tmp/hello', 'utf8');
    p.then(console.log);

    Changelog

    2.0.7

    Non-enumerable properties like class methods are now promisified. Functions with names that would cause syntax errors (like default) are supported.

    2.0.3

    The ___instapromiseOriginalFunction___ property is now non-enumerable so it doesn't show up when serializing functions whose promise property has been accessed before.

    2.0.0

    The Promise polyfill is no longer provided. 1.x provided a polyfill for environments without a native Promise implementation, but in general, most environments you'll use now provide Promise.

    Credits

    This code is based on the proxying code used in fibrous.

    Install

    npm i instapromise

    DownloadsWeekly Downloads

    1,342

    Version

    2.0.7

    License

    MIT

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar