@newdash/newdash
Version:
javascript/typescript utility library
22 lines (21 loc) • 564 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.allSettled = void 0;
/**
* Promise.allSettled() implementation
*
* @author Theo Sun
* @since 5.18.0
* @category Async
* @param collection
* @returns
*/
async function allSettled(collection) {
// TODO: native Promise.allSettled()
// @ts-ignore
return Promise.all(collection
.map((item) => item
.then((value) => ({ status: "fulfilled", value }))
.catch((reason) => ({ status: "rejected", reason }))));
}
exports.allSettled = allSettled;