diff options
Diffstat (limited to 'thirdparty/systemjs/lib/global-eval.js')
-rw-r--r-- | thirdparty/systemjs/lib/global-eval.js | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/thirdparty/systemjs/lib/global-eval.js b/thirdparty/systemjs/lib/global-eval.js deleted file mode 100644 index f27efc222..000000000 --- a/thirdparty/systemjs/lib/global-eval.js +++ /dev/null @@ -1,142 +0,0 @@ -// we define a __exec for globally-scoped execution -// used by module format implementations -var __exec; - -(function() { - - var hasBuffer = typeof Buffer != 'undefined'; - try { - if (hasBuffer && new Buffer('a').toString('base64') != 'YQ==') - hasBuffer = false; - } - catch(e) { - hasBuffer = false; - } - - var sourceMapPrefix = '\n//# sourceMappingURL=data:application/json;base64,'; - function inlineSourceMap(sourceMapString) { - if (hasBuffer) - return sourceMapPrefix + new Buffer(sourceMapString).toString('base64'); - else if (typeof btoa != 'undefined') - return sourceMapPrefix + btoa(unescape(encodeURIComponent(sourceMapString))); - else - return ''; - } - - function getSource(load, wrap) { - var lastLineIndex = load.source.lastIndexOf('\n'); - - // wrap ES formats with a System closure for System global encapsulation - if (load.metadata.format == 'global') - wrap = false; - - var sourceMap = load.metadata.sourceMap; - if (sourceMap) { - if (typeof sourceMap != 'object') - throw new TypeError('load.metadata.sourceMap must be set to an object.'); - - sourceMap = JSON.stringify(sourceMap); - } - - return (wrap ? '(function(System, SystemJS) {' : '') + load.source + (wrap ? '\n})(System, System);' : '') - // adds the sourceURL comment if not already present - + (load.source.substr(lastLineIndex, 15) != '\n//# sourceURL=' - ? '\n//# sourceURL=' + load.address + (sourceMap ? '!transpiled' : '') : '') - // add sourceMappingURL if load.metadata.sourceMap is set - + (sourceMap && inlineSourceMap(sourceMap) || ''); - } - - var curLoad; - - // System.register, System.registerDynamic, AMD define pipeline - // if currently evalling code here, immediately reduce the registered entry against the load record - hook('pushRegister_', function() { - return function(register) { - if (!curLoad) - return false; - - this.reduceRegister_(curLoad, register); - return true; - }; - }); - - // System clobbering protection (mostly for Traceur) - var curSystem; - var callCounter = 0; - function preExec(loader, load) { - curLoad = load; - if (callCounter++ == 0) - curSystem = __global.System; - __global.System = __global.SystemJS = loader; - } - function postExec() { - if (--callCounter == 0) - __global.System = __global.SystemJS = curSystem; - curLoad = undefined; - } - - var useVm; - var vm; - __exec = function(load) { - if (!load.source) - return; - if ((load.metadata.integrity || load.metadata.nonce) && supportsScriptExec) - return scriptExec.call(this, load); - try { - preExec(this, load); - curLoad = load; - // global scoped eval for node (avoids require scope leak) - if (!vm && this._nodeRequire) { - vm = this._nodeRequire('vm'); - useVm = vm.runInThisContext("typeof System !== 'undefined' && System") === this; - } - if (useVm) - vm.runInThisContext(getSource(load, true), { filename: load.address + (load.metadata.sourceMap ? '!transpiled' : '') }); - else - (0, eval)(getSource(load, true)); - postExec(); - } - catch(e) { - postExec(); - throw addToError(e, 'Evaluating ' + load.address); - } - }; - - var supportsScriptExec = false; - if (isBrowser && typeof document != 'undefined' && document.getElementsByTagName) { - if (!(window.chrome && window.chrome.extension || navigator.userAgent.match(/^Node\.js/))) - supportsScriptExec = true; - } - - // script execution via injecting a script tag into the page - // this allows CSP integrity and nonce to be set for CSP environments - var head; - function scriptExec(load) { - if (!head) - head = document.head || document.body || document.documentElement; - - var script = document.createElement('script'); - script.text = getSource(load, false); - var onerror = window.onerror; - var e; - window.onerror = function(_e) { - e = addToError(_e, 'Evaluating ' + load.address); - if (onerror) - onerror.apply(this, arguments); - } - preExec(this, load); - - if (load.metadata.integrity) - script.setAttribute('integrity', load.metadata.integrity); - if (load.metadata.nonce) - script.setAttribute('nonce', load.metadata.nonce); - - head.appendChild(script); - head.removeChild(script); - postExec(); - window.onerror = onerror; - if (e) - throw e; - } - -})(); |