@daisugi/kintsugi
Version:
Kintsugi is a set of utilities to help build a fault tolerant services.
34 lines • 805 B
JavaScript
export function deferredPromise() {
let isPending = true;
let isRejected = false;
let isFulfilled = false;
let resolve;
let reject;
const promise = new Promise((privateResolve, privateReject) => {
resolve = privateResolve;
reject = privateReject;
}).then((value) => {
isFulfilled = true;
isPending = false;
return value;
}, (reason) => {
isRejected = true;
isPending = false;
throw reason;
});
return {
isFulfilled() {
return isFulfilled;
},
isPending() {
return isPending;
},
isRejected() {
return isRejected;
},
resolve,
reject,
promise,
};
}
//# sourceMappingURL=deferred_promise.js.map