aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/bindings/Process.cpp
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2023-01-21 23:52:51 -0800
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2023-01-21 23:52:51 -0800
commit5ce2b8e604047d99c0ff33a41194c6f4d0d23c39 (patch)
treeacfc59203af1aa5652c96eff26e22a22f4eb1e6f /src/bun.js/bindings/Process.cpp
parentee9893c4e193a84f71f122b85cf2b8d91e3303d5 (diff)
downloadbun-5ce2b8e604047d99c0ff33a41194c6f4d0d23c39.tar.gz
bun-5ce2b8e604047d99c0ff33a41194c6f4d0d23c39.tar.zst
bun-5ce2b8e604047d99c0ff33a41194c6f4d0d23c39.zip
Implement `process.execArgv`
Diffstat (limited to 'src/bun.js/bindings/Process.cpp')
-rw-r--r--src/bun.js/bindings/Process.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/bun.js/bindings/Process.cpp b/src/bun.js/bindings/Process.cpp
index 085010e06..bce4db8a6 100644
--- a/src/bun.js/bindings/Process.cpp
+++ b/src/bun.js/bindings/Process.cpp
@@ -572,6 +572,18 @@ JSC_DEFINE_CUSTOM_GETTER(Process_lazyArgv0Getter, (JSC::JSGlobalObject * globalO
return ret;
}
+JSC_DEFINE_CUSTOM_GETTER(Process_lazyExecArgvGetter, (JSC::JSGlobalObject * globalObject, JSC::EncodedJSValue thisValue, JSC::PropertyName name))
+{
+ JSC::JSObject* thisObject = JSValue::decode(thisValue).getObject();
+ EncodedJSValue ret = Bun__Process__getExecArgv(globalObject);
+
+ if (LIKELY(thisObject)) {
+ thisObject->putDirect(globalObject->vm(), name, JSValue::decode(ret), 0);
+ }
+
+ return ret;
+}
+
JSC_DEFINE_CUSTOM_GETTER(Process_lazyExecPathGetter, (JSC::JSGlobalObject * globalObject, JSC::EncodedJSValue thisValue, JSC::PropertyName name))
{
JSC::JSObject* thisObject = JSValue::decode(thisValue).getObject();
@@ -703,6 +715,9 @@ void Process::finishCreation(JSC::VM& vm)
this->putDirectCustomAccessor(vm, JSC::PropertyName(JSC::Identifier::fromString(vm, "execPath"_s)),
JSC::CustomGetterSetter::create(vm, Process_lazyExecPathGetter, Process_defaultSetter), 0);
+ this->putDirectCustomAccessor(vm, JSC::PropertyName(JSC::Identifier::fromString(vm, "execArgv"_s)),
+ JSC::CustomGetterSetter::create(vm, Process_lazyExecArgvGetter, Process_defaultSetter), 0);
+
this->putDirectNativeFunction(vm, globalObject, JSC::Identifier::fromString(this->vm(), "uptime"_s),
0, Process_functionUptime, ImplementationVisibility::Public, NoIntrinsic, 0);