2.0.7 • Published 8 years ago

instapromise v2.0.7

Weekly downloads
2,422
License
MIT
Repository
github
Last release
8 years ago

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.

2.0.7

8 years ago

2.0.7-rc.1

8 years ago

2.0.6

8 years ago

2.0.5

8 years ago

2.0.4

8 years ago

2.0.3

8 years ago

2.0.2

9 years ago

2.0.1

9 years ago

2.0.0

9 years ago

1.0.0

9 years ago

0.1.0

9 years ago

0.8.0

9 years ago

0.0.10

9 years ago

0.0.9

9 years ago

0.0.8

9 years ago