var newPromiseCapabilityModule = require('../internals/new-promise-capability');
var perform = require('../internals/perform');
var iterate = require('../internals/iterate');
// `Promise.allSettled` method
var newPromiseCapabilityModule = require('../internals/new-promise-capability');
var perform = require('../internals/perform');
var iterate = require('../internals/iterate');
// `Promise.allSettled` method
$({ target: 'Promise', stat: true }, {
allSettled: function allSettled(iterable) {
var C = this;
$({ target: 'Promise', stat: true }, {
allSettled: function allSettled(iterable) {
var C = this;
var resolve = capability.resolve;
var reject = capability.reject;
var result = perform(function () {
var resolve = capability.resolve;
var reject = capability.reject;
var result = perform(function () {
var values = [];
var counter = 0;
var remaining = 1;
iterate(iterable, function (promise) {
var index = counter++;
var alreadyCalled = false;
var values = [];
var counter = 0;
var remaining = 1;
iterate(iterable, function (promise) {
var index = counter++;
var alreadyCalled = false;
if (alreadyCalled) return;
alreadyCalled = true;
values[index] = { status: 'fulfilled', value: value };
if (alreadyCalled) return;
alreadyCalled = true;
values[index] = { status: 'fulfilled', value: value };