diff options
author | 2022-09-05 23:05:22 -0700 | |
---|---|---|
committer | 2022-09-05 23:05:22 -0700 | |
commit | 11aa17a57cc679d34e8e6f6f7aa665f565cb7305 (patch) | |
tree | ccb9a605cb4bcc42c6b2665ddbf8d04af72d94c7 /src/bun.js/modules/BufferModule.h | |
parent | d2397b60e79e4386c6a7b7a9783a6f8e379a5ae0 (diff) | |
download | bun-11aa17a57cc679d34e8e6f6f7aa665f565cb7305.tar.gz bun-11aa17a57cc679d34e8e6f6f7aa665f565cb7305.tar.zst bun-11aa17a57cc679d34e8e6f6f7aa665f565cb7305.zip |
Support async `onLoad` callbacks in `Bun.plugin`
Diffstat (limited to 'src/bun.js/modules/BufferModule.h')
-rw-r--r-- | src/bun.js/modules/BufferModule.h | 67 |
1 files changed, 40 insertions, 27 deletions
diff --git a/src/bun.js/modules/BufferModule.h b/src/bun.js/modules/BufferModule.h index 9032f0d2e..8a9bf8c27 100644 --- a/src/bun.js/modules/BufferModule.h +++ b/src/bun.js/modules/BufferModule.h @@ -1,33 +1,46 @@ -#include "../bindings/ZigGlobalObject.h" #include "../bindings/JSBuffer.h" +#include "../bindings/ZigGlobalObject.h" #include "JavaScriptCore/JSGlobalObject.h" namespace Zig { - -inline void generateBufferSourceCode(JSC::JSGlobalObject* lexicalGlobalObject, JSC::Identifier moduleKey, Vector<JSC::Identifier, 4>& exportNames, JSC::MarkedArgumentBuffer& exportValues) { - JSC::VM& vm = lexicalGlobalObject->vm(); - GlobalObject* globalObject = reinterpret_cast<GlobalObject*>(lexicalGlobalObject); - - exportNames.append(JSC::Identifier::fromString(vm, "Buffer"_s)); - exportValues.append(WebCore::JSBuffer::getConstructor(vm, globalObject)); - - auto* slowBuffer = JSC::JSFunction::create(vm, globalObject, 0, "SlowBuffer"_s, WebCore::constructSlowBuffer, ImplementationVisibility::Public, NoIntrinsic, WebCore::constructSlowBuffer); - slowBuffer->putDirect(vm, vm.propertyNames->prototype, WebCore::JSBuffer::prototype(vm, *jsCast<JSDOMGlobalObject*>(lexicalGlobalObject)), JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontEnum | JSC::PropertyAttribute::DontDelete); - exportNames.append(JSC::Identifier::fromString(vm, "SlowBuffer"_s)); - exportValues.append(slowBuffer); - - // substitute after JSBlob is implemented. - exportNames.append(JSC::Identifier::fromString(vm, "Blob"_s)); - exportValues.append(JSC::jsUndefined()); - - exportNames.append(JSC::Identifier::fromString(vm, "INSPECT_MAX_BYTES"_s)); - exportValues.append(JSC::jsNumber(50)); - - exportNames.append(JSC::Identifier::fromString(vm, "kMaxLength"_s)); - exportValues.append(JSC::jsNumber(4294967296LL)); - - exportNames.append(JSC::Identifier::fromString(vm, "kMaxLength"_s)); - exportValues.append(JSC::jsNumber(536870888)); +using namespace WebCore; + +inline void generateBufferSourceCode(JSC::JSGlobalObject *lexicalGlobalObject, + JSC::Identifier moduleKey, + Vector<JSC::Identifier, 4> &exportNames, + JSC::MarkedArgumentBuffer &exportValues) { + JSC::VM &vm = lexicalGlobalObject->vm(); + GlobalObject *globalObject = + reinterpret_cast<GlobalObject *>(lexicalGlobalObject); + + exportNames.append(JSC::Identifier::fromString(vm, "Buffer"_s)); + exportValues.append(WebCore::JSBuffer::getConstructor(vm, globalObject)); + + auto *slowBuffer = JSC::JSFunction::create( + vm, globalObject, 0, "SlowBuffer"_s, WebCore::constructSlowBuffer, + ImplementationVisibility::Public, NoIntrinsic, + WebCore::constructSlowBuffer); + slowBuffer->putDirect( + vm, vm.propertyNames->prototype, + WebCore::JSBuffer::prototype( + vm, *jsCast<JSDOMGlobalObject *>(lexicalGlobalObject)), + JSC::PropertyAttribute::ReadOnly | JSC::PropertyAttribute::DontEnum | + JSC::PropertyAttribute::DontDelete); + exportNames.append(JSC::Identifier::fromString(vm, "SlowBuffer"_s)); + exportValues.append(slowBuffer); + + // substitute after JSBlob is implemented. + exportNames.append(JSC::Identifier::fromString(vm, "Blob"_s)); + exportValues.append(JSC::jsUndefined()); + + exportNames.append(JSC::Identifier::fromString(vm, "INSPECT_MAX_BYTES"_s)); + exportValues.append(JSC::jsNumber(50)); + + exportNames.append(JSC::Identifier::fromString(vm, "kMaxLength"_s)); + exportValues.append(JSC::jsNumber(4294967296LL)); + + exportNames.append(JSC::Identifier::fromString(vm, "kMaxLength"_s)); + exportValues.append(JSC::jsNumber(536870888)); } -} +} // namespace Zig |