node package manager

thenable

Wrap and unwrap thenables so that you can pass them through promises

thenable

Build Status Dependency Status

Wrap and unwrap thenables so that you can pass them through promises

Installation

$ npm install thenable

API

thenable.wrap(thenable)

Return a Wrapped object for that thenable

thenable.unwrap(obj)

If obj is a Wrapped return the thenable that obj wraps, else return obj.

Wrapped#unwrap()

Return the thenable being wrapped.

Example

promise
  .then(function () {
    return thenable.wrap(A);
  })
  .then(function (a) {
    assert(thenable.unwrap(a) === A);
    assert(a.unwrap() === A);
    return 'foo';
  })
  .then(function (foo) {
    assert(thenable.unwrap(foo) === 'foo');
  });

License

MIT