4z-stated-promise
TypeScript icon, indicating that this package has built-in type declarations

1.2.8 • Public • Published

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.

Package Sidebar

Install

npm i 4z-stated-promise

Weekly Downloads

19

Version

1.2.8

License

MIT

Unpacked Size

41 kB

Total Files

16

Last publish

Collaborators

  • cedrictailly