| /** |
| * @license |
| * Copyright 2013 The Emscripten Authors |
| * SPDX-License-Identifier: MIT |
| */ |
| |
| // *** Environment setup code *** |
| var arguments_ = []; |
| |
| var ENVIRONMENT_IS_NODE = typeof process === 'object'; |
| 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 |
| print = function(x) { |
| process['stdout'].write(x + '\n'); |
| }; |
| printErr = function(x) { |
| process['stderr'].write(x + '\n'); |
| }; |
| |
| var nodeFS = require('fs'); |
| |
| read = function(filename) { |
| var ret = nodeFS['readFileSync'](filename).toString(); |
| if (!ret && filename[0] != '/') { |
| filename = __dirname.split('/').slice(0, -1).join('/') + '/src/' + filename; |
| ret = nodeFS['readFileSync'](filename).toString(); |
| } |
| return ret; |
| }; |
| |
| arguments_ = process['argv'].slice(2); |
| |
| } else if (ENVIRONMENT_IS_SHELL) { |
| // Polyfill over SpiderMonkey/V8 differences |
| if (!this['read']) { |
| this['read'] = function(f) { snarf(f) }; |
| } |
| |
| if (typeof scriptArgs != 'undefined') { |
| arguments_ = scriptArgs; |
| } else if (typeof arguments != 'undefined') { |
| arguments_ = arguments; |
| } |
| |
| } else if (ENVIRONMENT_IS_WEB) { |
| this['print'] = printErr = function(x) { |
| console.log(x); |
| }; |
| |
| this['read'] = function(url) { |
| var xhr = new XMLHttpRequest(); |
| xhr.open('GET', url, false); |
| xhr.send(null); |
| return xhr.responseText; |
| }; |
| |
| if (this['arguments']) { |
| arguments_ = arguments; |
| } |
| } else if (ENVIRONMENT_IS_WORKER) { |
| // We can do very little here... |
| |
| } else { |
| throw 'Unknown runtime environment. Where are we?'; |
| } |
| |
| if (typeof printErr === 'undefined') { |
| this['printErr'] = function(){}; |
| } |
| |
| if (typeof print === 'undefined') { |
| this['print'] = printErr; |
| } |
| // *** Environment setup code *** |
| |
| print('hello, world!'); |
| |