@beenotung/tslib
Version:
utils library in Typescript
31 lines • 1.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.checkPromise = exports.CheckedPromise = void 0;
class CheckedPromise {
constructor(executor) {
this.hasCatch = false;
this.promise = new Promise(executor).catch(reason => {
if (!this.hasCatch) {
console.error('Uncaught Rejection:', reason);
throw new Error(reason);
}
return Promise.reject(reason);
});
}
then(onfulfilled, onrejected) {
return this.promise.then(onfulfilled, onrejected);
}
catch(onrejected) {
this.hasCatch = true;
return this.promise.catch(onrejected);
}
finally(onfinally) {
return this.promise.finally(onfinally);
}
}
exports.CheckedPromise = CheckedPromise;
function checkPromise(p) {
return new CheckedPromise((resolve, reject) => p.then(resolve).catch(reject));
}
exports.checkPromise = checkPromise;
//# sourceMappingURL=checked-promise.js.map