blob: d904eb9ea40274a136cbe84848584441d5b733a5 [file] [log] [blame]
'use strict';
var bind = require('function-bind');
var define = require('define-properties');
var requirePromise = require('./requirePromise');
var implementation = require('./implementation');
var getPolyfill = require('./polyfill');
var shim = require('./shim');
requirePromise();
var bound = bind.call(Function.call, getPolyfill());
var rebindable = function allSettled(iterable) {
// eslint-disable-next-line no-invalid-this
return bound(typeof this === 'undefined' ? Promise : this, iterable);
};
define(rebindable, {
getPolyfill: getPolyfill,
implementation: implementation,
shim: shim
});
module.exports = rebindable;