UNPKG

@worker-tools/middleware

Version:

A suite of standalone HTTP server middlewares for Worker Runtimes.

27 lines 1.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.unsettle = exports.isRejected = exports.isFulfilled = void 0; const aggregate_error_js_1 = require("./aggregate-error.js"); const isFulfilled = (r) => { return r.status === 'fulfilled'; }; exports.isFulfilled = isFulfilled; const isRejected = (r) => { return r.status === 'rejected'; }; exports.isRejected = isRejected; /** * Helper function that unwinds `Promise.allSettled`: * Takes the promise returned and throws a `AggregateError` iff at least one promise settled with a rejection. * Otherwise returns the list of fulfilled values. * @param allSettledPromise A promise returned by `Promise.allSettled` * @returns List of fulfilled values */ const unsettle = async (allSettledPromise) => { const rs = await allSettledPromise; if (rs.every(exports.isFulfilled)) return rs.map(r => r.value); throw new aggregate_error_js_1.AggregateError(rs.filter(exports.isRejected).map(r => r.reason), "One or more Promises in 'unsettle' were rejected"); }; exports.unsettle = unsettle; //# sourceMappingURL=unsettle.js.map