diff options
author | 2023-09-15 11:22:06 -0400 | |
---|---|---|
committer | 2023-09-15 08:22:06 -0700 | |
commit | 29b22175bf6fc726d0b028c7bf5619ab89fca09a (patch) | |
tree | f0664d677e6cd2d130c76db9fb135402ae2c1110 /src/bun.js/bindings/ProcessBindingConstants.cpp | |
parent | 75697890ce1040d2c2f9bc50499faf54b3205915 (diff) | |
download | bun-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.cpp | 20 |
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())); } |