From 4fe8b8e5b7fb06cb2d3dd9f266e9eee5352abe86 Mon Sep 17 00:00:00 2001 From: Zilin Zhu Date: Thu, 18 Aug 2022 11:14:31 +0800 Subject: Add native process module (#1095) --- src/bun.js/modules/ProcessModule.h | 39 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/bun.js/modules/ProcessModule.h (limited to 'src/bun.js/modules/ProcessModule.h') 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& exportNames, JSC::MarkedArgumentBuffer& exportValues) { + JSC::VM& vm = lexicalGlobalObject->vm(); + GlobalObject* globalObject = reinterpret_cast(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); +} + +} -- cgit v1.2.3