@beenotung/tslib
Version:
utils library in Typescript
33 lines (32 loc) • 976 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CheckedPromise = void 0;
exports.checkPromise = checkPromise;
class CheckedPromise {
[Symbol.toStringTag];
hasCatch = false;
promise;
constructor(executor) {
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));
}