@empjourney/keyed-promise
Version:
A wrapper over Promise.allSettled that returns results keyed by object properties.
17 lines (16 loc) • 590 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.keyedAllSettled = keyedAllSettled;
async function keyedAllSettled(keyedPromises) {
const entries = Object.entries(keyedPromises);
const results = await Promise.allSettled(entries.map(([, p]) => p));
const out = {};
entries.forEach(([key], idx) => {
const res = results[idx];
out[key] =
res.status === "fulfilled"
? { status: "fulfilled", value: res.value }
: { status: "rejected", reason: res.reason };
});
return out;
}