| try { |
| this['Module'] = Module; |
| Module.test; |
| } catch(e) { |
| this['Module'] = Module = {}; |
| } |
| |
| // The environment setup code below is customized to use Module. |
| // *** Environment setup code *** |
| var ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function'; |
| var ENVIRONMENT_IS_WEB = typeof window === 'object'; |
| var ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; |
| var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; |
| |
| if (ENVIRONMENT_IS_NODE) { |
| // Expose functionality in the same simple way that the shells work |
| // Note that we pollute the global namespace here, otherwise we break in node |
| Module['print'] = function(x) { |
| process['stdout'].write(x + '\n'); |
| }; |
| Module['printErr'] = function(x) { |
| process['stderr'].write(x + '\n'); |
| }; |
| |
| var nodeFS = require('fs'); |
| var nodePath = require('path'); |
| |
| Module['read'] = function(filename, binary) { |
| filename = nodePath['normalize'](filename); |
| var ret = nodeFS['readFileSync'](filename); |
| // The path is absolute if the normalized version is the same as the resolved. |
| if (!ret && filename != nodePath['resolve'](filename)) { |
| filename = path.join(__dirname, '..', 'src', filename); |
| ret = nodeFS['readFileSync'](filename); |
| } |
| if (ret && !binary) ret = ret.toString(); |
| return ret; |
| }; |
| |
| Module['readBinary'] = function(filename) { return Module['read'](filename, true) }; |
| |
| Module['load'] = function(f) { |
| globalEval(read(f)); |
| }; |
| |
| if (!Module['arguments']) { |
| Module['arguments'] = process['argv'].slice(2); |
| } |
| |
| module.exports = Module; |
| } |
| |
| if (ENVIRONMENT_IS_SHELL) { |
| Module['print'] = print; |
| if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm |
| |
| Module['read'] = read; |
| Module['readBinary'] = function(f) { |
| return read(f, 'binary'); |
| }; |
| |
| if (!Module['arguments']) { |
| if (typeof scriptArgs != 'undefined') { |
| Module['arguments'] = scriptArgs; |
| } else if (typeof arguments != 'undefined') { |
| Module['arguments'] = arguments; |
| } |
| } |
| |
| this['{{{ EXPORT_NAME }}}'] = Module; |
| } |
| |
| if (ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER) { |
| if (!Module['print']) { |
| Module['print'] = function(x) { |
| console.log(x); |
| }; |
| } |
| |
| if (!Module['printErr']) { |
| Module['printErr'] = function(x) { |
| console.log(x); |
| }; |
| } |
| |
| this['{{{ EXPORT_NAME }}}'] = Module; |
| } |
| |
| if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { |
| Module['read'] = function(url) { |
| var xhr = new XMLHttpRequest(); |
| xhr.open('GET', url, false); |
| xhr.send(null); |
| return xhr.responseText; |
| }; |
| |
| if (!Module['arguments']) { |
| if (typeof arguments != 'undefined') { |
| Module['arguments'] = arguments; |
| } |
| } |
| } |
| |
| if (ENVIRONMENT_IS_WORKER) { |
| // We can do very little here... |
| var TRY_USE_DUMP = false; |
| if (!Module['print']) { |
| Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { |
| dump(x); |
| }) : (function(x) { |
| // self.postMessage(x); // enable this if you want stdout to be sent as messages |
| })); |
| } |
| |
| Module['load'] = importScripts; |
| } |
| |
| if (!ENVIRONMENT_IS_WORKER && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_SHELL) { |
| // Unreachable because SHELL is dependant on the others |
| throw 'Unknown runtime environment. Where are we?'; |
| } |
| |
| function globalEval(x) { |
| eval.call(null, x); |
| } |
| if (!Module['load'] == 'undefined' && Module['read']) { |
| Module['load'] = function(f) { |
| globalEval(Module['read'](f)); |
| }; |
| } |
| if (!Module['print']) { |
| Module['print'] = function(){}; |
| } |
| if (!Module['printErr']) { |
| Module['printErr'] = Module['print']; |
| } |
| if (!Module['arguments']) { |
| Module['arguments'] = []; |
| } |
| // *** Environment setup code *** |
| |
| // Closure helpers |
| Module.print = Module['print']; |
| Module.printErr = Module['printErr']; |
| |
| // Callbacks |
| if (!Module['preRun']) Module['preRun'] = []; |
| if (!Module['postRun']) Module['postRun'] = []; |
| |
| {{BODY}} |
| |
| // {{MODULE_ADDITIONS}} |
| |