diff options
author | 2023-01-21 23:52:51 -0800 | |
---|---|---|
committer | 2023-01-21 23:52:51 -0800 | |
commit | 5ce2b8e604047d99c0ff33a41194c6f4d0d23c39 (patch) | |
tree | acfc59203af1aa5652c96eff26e22a22f4eb1e6f /src/bun.js/bindings/Process.cpp | |
parent | ee9893c4e193a84f71f122b85cf2b8d91e3303d5 (diff) | |
download | bun-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.cpp | 15 |
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); |