maybe-promise-factory
The maybePromiseFactory normalizes synchronous values and asynchronous values by always returning a Promise.
- The factory uses the ES6 Promise implementation by default but can use other Promise implementations.
- The returned maybePromise function accepts an argument and converts it to a promise if it is another type of value.
- If it is passed a function, it invokes it and applies the same rules to the result of the function to promisify it.
- If the invoked function throws an exception, it is caught and a rejected Promise is returned.
Installation
Install with npm install maybe-promise-factory
.
Usage Examples
const maybePromise = ; // If passed a non-Promise value, coerces it into an immediately-resolved Promise.; // 42// If passed a Promise, simply returns the Promise.; // 42 // If passed a function, invokes the function. If the function returns a non-Promise value,// coerces the result into an immediately-resolved Promise.; // 3// If passed a function, invokes the function. Thrown exceptions are caught and the Promise// is rejected with the exception.
Testing
Tests are written with Mocha and Should. They can be run with npm test
.