| 1234567891011121314151617181920212223242526272829 | 'use strict';var define = require('define-properties');var gOPD = require('gopd');var getPolyfill = require('./polyfill');module.exports = function shimGlobal() {	var polyfill = getPolyfill();	if (define.supportsDescriptors) {		var descriptor = gOPD(polyfill, 'globalThis');		if (			!descriptor			|| (				descriptor.configurable				&& (descriptor.enumerable || !descriptor.writable || globalThis !== polyfill)			)		) {			Object.defineProperty(polyfill, 'globalThis', {				configurable: true,				enumerable: false,				value: polyfill,				writable: true			});		}	} else if (typeof globalThis !== 'object' || globalThis !== polyfill) {		polyfill.globalThis = polyfill;	}	return polyfill;};
 |