flip-promise

Flip/Reverse Promise

Usage no npm install needed!

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

README

Flip Promise Build Status

NPM

Codecov block

To flip promise returning result.

Install

Via npm package manager

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

Usage

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