'use strict';
+require('../../modules/es.array.iterator');
+require('../../modules/es.object.to-string');
require('../../modules/es.promise');
require('../../modules/es.promise.all-settled');
require('../../modules/es.string.iterator');
-require('../../modules/web.dom-collections.iterator');
+var call = require('../../internals/function-call');
+var isCallable = require('../../internals/is-callable');
var path = require('../../internals/path');
var Promise = path.Promise;
var $allSettled = Promise.allSettled;
module.exports = function allSettled(iterable) {
- return $allSettled.call(typeof this === 'function' ? this : Promise, iterable);
+ return call($allSettled, isCallable(this) ? this : Promise, iterable);
};