aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/modules/BufferModule.h
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-09-05 23:05:22 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-09-05 23:05:22 -0700
commit11aa17a57cc679d34e8e6f6f7aa665f565cb7305 (patch)
treeccb9a605cb4bcc42c6b2665ddbf8d04af72d94c7 /src/bun.js/modules/BufferModule.h
parentd2397b60e79e4386c6a7b7a9783a6f8e379a5ae0 (diff)
downloadbun-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.h67
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