Skip to content

Commit b4bcf95

Browse files
committed
1 parent f093a50 commit b4bcf95

File tree

2 files changed

+14
-15
lines changed

2 files changed

+14
-15
lines changed

platform.js

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,25 @@
33
* Copyright 2010-2014 John-David Dalton <http://allyoucanleet.com/>
44
* Available under MIT license <http://mths.be/mit>
55
*/
6-
;(function(root) {
6+
;(function() {
77
'use strict';
88

9-
/** Backup possible global object */
10-
var oldRoot = root;
11-
129
/** Used to determine if values are of the language type Object */
1310
var objectTypes = {
14-
'boolean': false,
1511
'function': true,
16-
'object': true,
17-
'number': false,
18-
'string': false,
19-
'undefined': false
12+
'object': true
2013
};
2114

15+
/** Used as a reference to the global object */
16+
var root = (objectTypes[typeof window] && window) || this;
17+
18+
/** Backup possible global object */
19+
var oldRoot = root;
20+
2221
/** Detect free variable `exports` */
2322
var freeExports = objectTypes[typeof exports] && exports;
2423

25-
/** Detect free variable `global` */
24+
/** Detect free variable `global`, from Node.js or Browserified code, and use it as `root` */
2625
var freeGlobal = objectTypes[typeof global] && global;
2726
if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal)) {
2827
root = freeGlobal;
@@ -1016,4 +1015,4 @@
10161015
else {
10171016
root.platform = parse();
10181017
}
1019-
}(this));
1018+
}.call(this));

test/test.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -127,12 +127,12 @@
127127
return Function('options',
128128
('return ' +
129129
/\(function[\s\S]+?(?=if\s*\(typeof define)/.exec(code)[0] +
130-
' return parse()}(this))')
130+
' return parse()}.call(this))')
131131
.replace('/internal|\\n/i.test(toString.toString())', '!me.likeChrome')
132-
.replace(/(function\s*\(\s*root\s*\)[^\n]+\n)/, '$1me=options;\n')
132+
.replace(/\broot\s*=[^\n]+?(;\n)/, 'root=options$1')
133+
.replace(/\boldRoot\s*=[^\n]+?(;\n)/, 'oldRoot=options$1')
133134
.replace(/\bvar thisBinding\s*=[^\n]+?(;\n)/, '')
134-
.replace(/\boldWin\s*=[^\n]+?(;\n)/, 'oldWin=options$1')
135-
.replace(/\bfreeGlobal\s*=(?:.|\n)+?(;\n)/, 'freeGlobal=options.global$1')
135+
.replace(/\bfreeGlobal\s*=(?:.|\n)+?(;\n)\s*if[^}]+\}/, 'freeGlobal=options.global$1')
136136
.replace(/\buserAgent\s*=[^\n]+?(;\n)/, 'userAgent=me.ua$1')
137137
.replace(/\b(?:thisBinding|root)\b/g, 'me')
138138
.replace(/([^.])\bsystem\b/g, '$1me.system')

0 commit comments

Comments
 (0)