/*global self*/ import Promise from './promise'; export default function polyfill() { let local; if (typeof global !== 'undefined') { local = global; } else if (typeof self !== 'undefined') { local = self; } else { try { local = Function('return this')(); } catch (e) { throw new Error('polyfill failed because global object is unavailable in this environment'); } } let P = local.Promise; if (P) { var promiseToString = null; try { promiseToString = Object.prototype.toString.call(P.resolve()); } catch(e) { // silently ignored } if (promiseToString === '[object Promise]' && !P.cast){ return; } } local.Promise = Promise; }