frontend/.pnpm-store/v3/files/d4/0e9755d57588178d0c9910607a45917bd55e76217cdb0b41ab58b1ee0589b6527dd8fbab8f0b47533e02f39864a31a967880493601b215f5ff62faed70e72f

38 lines
1.0 KiB
Plaintext

'use strict';
var requirePromise = require('./requirePromise');
requirePromise();
var PromiseResolve = require('es-abstract/2022/PromiseResolve');
var Type = require('es-abstract/2022/Type');
var iterate = require('iterate-value');
var map = require('array.prototype.map');
var GetIntrinsic = require('get-intrinsic');
var callBind = require('call-bind');
var all = callBind(GetIntrinsic('%Promise.all%'));
var reject = callBind(GetIntrinsic('%Promise.reject%'));
module.exports = function allSettled(iterable) {
var C = this;
if (Type(C) !== 'Object') {
throw new TypeError('`this` value must be an object');
}
var values = iterate(iterable);
return all(C, map(values, function (item) {
var onFulfill = function (value) {
return { status: 'fulfilled', value: value };
};
var onReject = function (reason) {
return { status: 'rejected', reason: reason };
};
var itemPromise = PromiseResolve(C, item);
try {
return itemPromise.then(onFulfill, onReject);
} catch (e) {
return reject(C, e);
}
}));
};