Observed since 20 Oct, 20:19 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
4z-stated-promise
A Promise class with a state property
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.
Using yarn :
yarn add 4z-stated-promise
Using npm :
npm install 4z-stated-promise
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());
Promise static functions are also usable :
StatedPromise.all([
new Promise(resolve => resolve(true))
new Promise(resolve => setTimeout(resolve, 500, true))
]);
It is compatible with the following module formats:
/src/index.d.ts)The UMD version with sourcemaps for web browser is available at /dist/4z-stated-promise.min.js.
You can find usage examples in the /src/examples directory.
This project is licensed under the MIT License.
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
@rollup/plugin-terserEnvironment{
"local_name": "@rollup/plugin-terser",
"alias": false,
"peer_metadata": null
} | ^0.4.4 | development |
jestEnvironment{
"local_name": "jest",
"alias": false,
"peer_metadata": null
} | ^29.7.0 | development |
rollupEnvironment{
"local_name": "rollup",
"alias": false,
"peer_metadata": null
} | ^4.12.0 | development |
rollup-plugin-licenseEnvironment{
"local_name": "rollup-plugin-license",
"alias": false,
"peer_metadata": null
} | ^3.2.0 | development |
Source distribution
{
"integrity": "sha512-jncuAnhj05iwqLWxbr10iJWLpzB+ZM9gV0Q/db2R9j7ewT1FRREmhNtJrH/yrXW500S54l9LRSAC8vYOweTCpQ==",
"shasum": "278659618776345c44211f61ba3ebb7a1f6402cb",
"tarball": "https://registry.npmjs.org/4z-stated-promise/-/4z-stated-promise-1.2.6.tgz",
"fileCount": 16,
"unpackedSize": 58615,
"signatures": [
{
"keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
"sig": "MEUCIQDUG8zKiHNg2KCMTLroYILTBhmON/SoSn016aPTFFB6gQIgcysP1IjzI/pzJo0TQ2bmrDfPXhsyvhxb5InPc54X9Vs="
}
]
}Shared repository data · GitHub
Observed since 20 Oct, 20:19 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:482aa27b814ccf4bdd0ea15b5a3e214aecceb6692405c1fd1b1768ca00a79c37