Flip/Reverse Promise

Usage no npm install needed!

<script type="module">
  import flipPromise from 'https://cdn.skypack.dev/flip-promise';


Flip Promise Build Status


Codecov block

To flip promise returning result.


Via npm package manager

npm install --save flip-promise
#or with yarn
yarn add flip-promise


There is only one function from default import

import flipPromise from 'flip-promise'

flipPromise takes one argument, return a new promise that will be resolved with error rejected by input promise, or be rejected with resolved result from input promise or the input argument value itself unless the input argument is a promise.

Usage example:

import flipPromise from 'flip-promise'

flipPromise(Promise.reject(1)).then(console.log) // print 1
flipPromise(flipPromise(2)).then(console.log) // print 2
flipPromise(3).catch(console.log) // print 3
flipPromise(Promise.resolve(4)).catch(console.log) // print 4

This is useful when writing test to make sure a promise being rejected.

Another example:

const myPromise = Promise.reject(true)
expect(await flipPromise(myPromise)).to.be.true