4z-stated-promise
v1.2.8
Published
A Promise class with a state property
Downloads
55
Maintainers
Readme
4z-stated-promise
StatedPromise
is a JavaScript class that wraps and mimic standard promises with the ability to get their state, result and error synchronously using additional properties.
Installation
Using yarn :
yarn add 4z-stated-promise
Using npm :
npm install 4z-stated-promise
Usage
The StatedPromise
class is used similarly to the original Promise
class, you simply need to add Stated
as a prefix when using it :
import StatedPromise from "4z-stated-promise";
const p1 = new StatedPromise((resolve, reject) => {
resolve(true);
});
const p2 = new StatedPromise((resolve, reject) => {
setTimeout(resolve, 500, true);
});
The StatedPromise
class can also be used with CommonJS :
const StatedPromise = require("4z-stated-promise");
(...)
You can access the state, result, and reason of the rejection using the properties :
console.log(p1.state);
console.log(p1.result);
console.log(p1.reason)
...or export as JSON :
console.log(p1.toJSON());
Static calls
Promise static functions are also usable :
StatedPromise.all([
new Promise(resolve => resolve(true))
new Promise(resolve => setTimeout(resolve, 500, true))
]);
Compatibility
It is compatible with the following module formats:
- ESM (ECMAScript Module)
- CommonJS
- AMD (Asynchronous Module Definition)
- UMD (Universal Module Definition)
- TypeScript (
/src/index.d.ts
)
The UMD version with sourcemaps for web browser is available at /dist/4z-stated-promise.min.js
.
Examples
You can find usage examples in the /src/examples
directory.
License
This project is licensed under the MIT License.