mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-12 03:47:50 +00:00
Update root detection in WeakMap and Set shims.
This commit is contained in:
@@ -9,17 +9,28 @@
|
|||||||
/** Used as the `Set#toString` return value. */
|
/** Used as the `Set#toString` return value. */
|
||||||
var nativeString = String(Object.prototype.toString).replace(/toString/g, 'Set');
|
var nativeString = String(Object.prototype.toString).replace(/toString/g, 'Set');
|
||||||
|
|
||||||
/** Used as a reference to the global object. */
|
|
||||||
var root = (objectTypes[typeof window] && window) || this;
|
|
||||||
|
|
||||||
/** Detect free variable `exports`. */
|
/** Detect free variable `exports`. */
|
||||||
var freeExports = objectTypes[typeof exports] && exports && !exports.nodeType && exports;
|
var freeExports = objectTypes[typeof exports] && exports && !exports.nodeType && exports;
|
||||||
|
|
||||||
/** Detect free variable `global` from Node.js or Browserified code and use it as `root`. */
|
/** Detect free variable `module`. */
|
||||||
var freeGlobal = objectTypes[typeof global] && global;
|
var freeModule = objectTypes[typeof module] && module && !module.nodeType && module;
|
||||||
if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal || freeGlobal.self === freeGlobal)) {
|
|
||||||
root = freeGlobal;
|
/** Detect free variable `global` from Node.js. */
|
||||||
}
|
var freeGlobal = freeExports && freeModule && typeof global == 'object' && global;
|
||||||
|
|
||||||
|
/** Detect free variable `self`. */
|
||||||
|
var freeSelf = objectTypes[typeof self] && self && self.Object && self;
|
||||||
|
|
||||||
|
/** Detect free variable `window`. */
|
||||||
|
var freeWindow = objectTypes[typeof window] && window && window.Object && window;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used as a reference to the global object.
|
||||||
|
*
|
||||||
|
* The `this` value is used if it is the global object to avoid Greasemonkey's
|
||||||
|
* restricted `window` object, otherwise the `window` object is used.
|
||||||
|
*/
|
||||||
|
var root = freeGlobal || ((freeWindow !== (this && this.window)) && freeWindow) || freeSelf || this;
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
/*--------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|||||||
@@ -9,17 +9,28 @@
|
|||||||
/** Used as the `WeakMap#toString` return value. */
|
/** Used as the `WeakMap#toString` return value. */
|
||||||
var nativeString = String(Object.prototype.toString).replace(/toString/g, 'WeakMap');
|
var nativeString = String(Object.prototype.toString).replace(/toString/g, 'WeakMap');
|
||||||
|
|
||||||
/** Used as a reference to the global object. */
|
|
||||||
var root = (objectTypes[typeof window] && window) || this;
|
|
||||||
|
|
||||||
/** Detect free variable `exports`. */
|
/** Detect free variable `exports`. */
|
||||||
var freeExports = objectTypes[typeof exports] && exports && !exports.nodeType && exports;
|
var freeExports = objectTypes[typeof exports] && exports && !exports.nodeType && exports;
|
||||||
|
|
||||||
/** Detect free variable `global` from Node.js or Browserified code and use it as `root`. */
|
/** Detect free variable `module`. */
|
||||||
var freeGlobal = objectTypes[typeof global] && global;
|
var freeModule = objectTypes[typeof module] && module && !module.nodeType && module;
|
||||||
if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal || freeGlobal.self === freeGlobal)) {
|
|
||||||
root = freeGlobal;
|
/** Detect free variable `global` from Node.js. */
|
||||||
}
|
var freeGlobal = freeExports && freeModule && typeof global == 'object' && global;
|
||||||
|
|
||||||
|
/** Detect free variable `self`. */
|
||||||
|
var freeSelf = objectTypes[typeof self] && self && self.Object && self;
|
||||||
|
|
||||||
|
/** Detect free variable `window`. */
|
||||||
|
var freeWindow = objectTypes[typeof window] && window && window.Object && window;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used as a reference to the global object.
|
||||||
|
*
|
||||||
|
* The `this` value is used if it is the global object to avoid Greasemonkey's
|
||||||
|
* restricted `window` object, otherwise the `window` object is used.
|
||||||
|
*/
|
||||||
|
var root = freeGlobal || ((freeWindow !== (this && this.window)) && freeWindow) || freeSelf || this;
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
/*--------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user