diff options
author | 2022-08-18 11:14:31 +0800 | |
---|---|---|
committer | 2022-08-17 20:14:31 -0700 | |
commit | 4fe8b8e5b7fb06cb2d3dd9f266e9eee5352abe86 (patch) | |
tree | 0f50097e28cd13db1a4b9e5c95c7cf1b8ed53056 /src/bun.js/modules/ProcessModule.h | |
parent | cb1114dba63452060b6e46c45c785b8b01d36b5a (diff) | |
download | bun-4fe8b8e5b7fb06cb2d3dd9f266e9eee5352abe86.tar.gz bun-4fe8b8e5b7fb06cb2d3dd9f266e9eee5352abe86.tar.zst bun-4fe8b8e5b7fb06cb2d3dd9f266e9eee5352abe86.zip |
Add native process module (#1095)
Diffstat (limited to 'src/bun.js/modules/ProcessModule.h')
-rw-r--r-- | src/bun.js/modules/ProcessModule.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/bun.js/modules/ProcessModule.h b/src/bun.js/modules/ProcessModule.h new file mode 100644 index 000000000..2c82d6b3d --- /dev/null +++ b/src/bun.js/modules/ProcessModule.h @@ -0,0 +1,39 @@ +#include "../bindings/ZigGlobalObject.h" +#include "JavaScriptCore/JSGlobalObject.h" + +namespace Zig { + +inline void generateProcessSourceCode(JSC::JSGlobalObject* lexicalGlobalObject, JSC::Identifier moduleKey, Vector<JSC::Identifier, 4>& exportNames, JSC::MarkedArgumentBuffer& exportValues) { + JSC::VM& vm = lexicalGlobalObject->vm(); + GlobalObject* globalObject = reinterpret_cast<GlobalObject*>(lexicalGlobalObject); + + JSC::JSObject* process = globalObject->processObject(); + + auto exportFromProcess = [&] (const String& string) { + auto identifier = JSC::Identifier::fromString(vm, string); + exportNames.append(identifier); + exportValues.append(process->getDirect(vm, identifier)); + }; + + exportFromProcess("arch"_s); + exportFromProcess("argv"_s); + exportFromProcess("browser"_s); + exportFromProcess("chdir"_s); + exportFromProcess("cwd"_s); + exportFromProcess("dlopen"_s); + exportFromProcess("exitCode"_s); + exportFromProcess("exit"_s); + exportFromProcess("hrtime"_s); + exportFromProcess("pid"_s); + exportFromProcess("ppid"_s); + exportFromProcess("nextTick"_s); + exportFromProcess("revision"_s); + exportFromProcess("title"_s); + exportFromProcess("version"_s); + exportFromProcess("versions"_s); + exportFromProcess("platform"_s); + + exportFromProcess("isBun"_s); +} + +} |