6696dfc6a1ec82a1cdd4ca1f077c243570cadac8
[aai/esr-gui.git] /
1 /*global self*/
2 import Promise from './promise';
3
4 export default function polyfill() {
5   var local;
6
7   if (typeof global !== 'undefined') {
8       local = global;
9   } else if (typeof self !== 'undefined') {
10       local = self;
11   } else {
12       try {
13           local = Function('return this')();
14       } catch (e) {
15           throw new Error('polyfill failed because global object is unavailable in this environment');
16       }
17   }
18
19   var P = local.Promise;
20
21   if (P && Object.prototype.toString.call(P.resolve()) === '[object Promise]' && !P.cast) {
22     return;
23   }
24
25   local.Promise = Promise;
26 }