UNPKG

webpack-global-object-x

Version:
47 lines (37 loc) 984 B
module.exports = function() { 'use strict'; var ObjectCtr = {}.constructor; var objectPrototype = ObjectCtr.prototype; var defineProperty = ObjectCtr.defineProperty; var $globalThis; var getGlobalFallback = function() { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } return void 0; }; var returnThis = function() { return this; }; try { if (defineProperty) { defineProperty(objectPrototype, '$$globalThis$$', { get: returnThis, configurable: true }); } else { objectPrototype.__defineGetter__('$$globalThis$$', returnThis); } $globalThis = typeof $$globalThis$$ === 'undefined' ? getGlobalFallback() : $$globalThis$$; delete objectPrototype.$$globalThis$$; return $globalThis; } catch (error) { return getGlobalFallback(); } };