aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/bindings/ProcessBindingConstants.cpp
diff options
context:
space:
mode:
authorGravatar dave caruso <me@paperdave.net> 2023-09-15 11:22:06 -0400
committerGravatar GitHub <noreply@github.com> 2023-09-15 08:22:06 -0700
commit29b22175bf6fc726d0b028c7bf5619ab89fca09a (patch)
treef0664d677e6cd2d130c76db9fb135402ae2c1110 /src/bun.js/bindings/ProcessBindingConstants.cpp
parent75697890ce1040d2c2f9bc50499faf54b3205915 (diff)
downloadbun-29b22175bf6fc726d0b028c7bf5619ab89fca09a.tar.gz
bun-29b22175bf6fc726d0b028c7bf5619ab89fca09a.tar.zst
bun-29b22175bf6fc726d0b028c7bf5619ab89fca09a.zip
feat(runtime): add `process.binding` `uv`/`natives`/`config` + make global object properties lazy (#5355)
* binding uv * we did that * some more bindings * fix doc * fix uv * yo * static hash table nonsense <3 * huge refactor to the global object i am not ready for merge conflicts * it works part 3 * lose --------- Co-authored-by: Jarred Sumner <jarred@jarredsumner.com>
Diffstat (limited to 'src/bun.js/bindings/ProcessBindingConstants.cpp')
-rw-r--r--src/bun.js/bindings/ProcessBindingConstants.cpp20
1 files changed, 11 insertions, 9 deletions
diff --git a/src/bun.js/bindings/ProcessBindingConstants.cpp b/src/bun.js/bindings/ProcessBindingConstants.cpp
index 36a4a7f96..86b34d19f 100644
--- a/src/bun.js/bindings/ProcessBindingConstants.cpp
+++ b/src/bun.js/bindings/ProcessBindingConstants.cpp
@@ -1082,15 +1082,18 @@ static JSValue processBindingConstantsGetZlib(VM& vm, JSObject* bindingObject)
return object;
}
-static const HashTableValue ProcessBindingConstantsValues[] = {
- { "os"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, processBindingConstantsGetOs } },
- { "fs"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, processBindingConstantsGetFs } },
- { "crypto"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, processBindingConstantsGetCrypto } },
- { "zlib"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, processBindingConstantsGetZlib } },
- { "trace"_s, static_cast<unsigned>(PropertyAttribute::PropertyCallback), NoIntrinsic, { HashTableValue::LazyPropertyType, processBindingConstantsGetTrace } },
-};
+/* Source for ProcessBindingConstants.lut.h
+@begin processBindingConstantsTable
+ os processBindingConstantsGetOs PropertyCallback
+ fs processBindingConstantsGetFs PropertyCallback
+ crypto processBindingConstantsGetCrypto PropertyCallback
+ zlib processBindingConstantsGetZlib PropertyCallback
+ trace processBindingConstantsGetTrace PropertyCallback
+@end
+*/
+#include "ProcessBindingConstants.lut.h"
-const ClassInfo ProcessBindingConstants::s_info = { "ProcessBindingConstants"_s, Base::info(), nullptr, nullptr, CREATE_METHOD_TABLE(ProcessBindingConstants) };
+const ClassInfo ProcessBindingConstants::s_info = { "ProcessBindingConstants"_s, Base::info(), &processBindingConstantsTable, nullptr, CREATE_METHOD_TABLE(ProcessBindingConstants) };
ProcessBindingConstants* ProcessBindingConstants::create(VM& vm, Structure* structure)
{
@@ -1107,7 +1110,6 @@ Structure* ProcessBindingConstants::createStructure(VM& vm, JSGlobalObject* glob
void ProcessBindingConstants::finishCreation(JSC::VM& vm)
{
Base::finishCreation(vm);
- reifyStaticProperties(vm, ProcessBindingConstants::info(), ProcessBindingConstantsValues, *this);
ASSERT(inherits(vm, info()));
}