UNPKG

@beenotung/tslib

Version:
33 lines (32 loc) 976 B
"use strict"; 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)); }