Skip to content

Commit f093a50

Browse files
committed
Add objectTypes and fix detection of global variables for Browserify [closes bestiejs#32]
1 parent 1ef7a1c commit f093a50

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

platform.js

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,24 @@
99
/** Backup possible global object */
1010
var oldRoot = root;
1111

12+
/** Used to determine if values are of the language type Object */
13+
var objectTypes = {
14+
'boolean': false,
15+
'function': true,
16+
'object': true,
17+
'number': false,
18+
'string': false,
19+
'undefined': false
20+
};
21+
1222
/** Detect free variable `exports` */
13-
var freeExports = typeof exports == 'object' && exports;
23+
var freeExports = objectTypes[typeof exports] && exports;
1424

1525
/** Detect free variable `global` */
16-
var freeGlobal = typeof global == 'object' && global &&
17-
(global == global.global ? (root = global) : global);
26+
var freeGlobal = objectTypes[typeof global] && global;
27+
if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal)) {
28+
root = freeGlobal;
29+
}
1830

1931
/** Opera regexp */
2032
var reOpera = /Opera/;

0 commit comments

Comments
 (0)