From 11aa17a57cc679d34e8e6f6f7aa665f565cb7305 Mon Sep 17 00:00:00 2001 From: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Date: Mon, 5 Sep 2022 23:05:22 -0700 Subject: Support async `onLoad` callbacks in `Bun.plugin` --- src/bun.js/modules/EventsModule.h | 49 +++++++++++++++++++++++---------------- 1 file changed, 29 insertions(+), 20 deletions(-) (limited to 'src/bun.js/modules/EventsModule.h') diff --git a/src/bun.js/modules/EventsModule.h b/src/bun.js/modules/EventsModule.h index 5adb19d01..d1e14a2db 100644 --- a/src/bun.js/modules/EventsModule.h +++ b/src/bun.js/modules/EventsModule.h @@ -1,27 +1,36 @@ -#include "../bindings/ZigGlobalObject.h" #include "JavaScriptCore/JSGlobalObject.h" +#include "ZigGlobalObject.h" namespace Zig { +using namespace WebCore; +inline void generateEventsSourceCode(JSC::JSGlobalObject *lexicalGlobalObject, + JSC::Identifier moduleKey, + Vector &exportNames, + JSC::MarkedArgumentBuffer &exportValues) { + JSC::VM &vm = lexicalGlobalObject->vm(); + GlobalObject *globalObject = + reinterpret_cast(lexicalGlobalObject); -inline void generateEventsSourceCode(JSC::JSGlobalObject* lexicalGlobalObject, JSC::Identifier moduleKey, Vector& exportNames, JSC::MarkedArgumentBuffer& exportValues) { - JSC::VM& vm = lexicalGlobalObject->vm(); - GlobalObject* globalObject = reinterpret_cast(lexicalGlobalObject); + exportNames.append(JSC::Identifier::fromString(vm, "EventEmitter"_s)); + exportValues.append( + WebCore::JSEventEmitter::getConstructor(vm, globalObject)); - exportNames.append(JSC::Identifier::fromString(vm, "EventEmitter"_s)); - exportValues.append(WebCore::JSEventEmitter::getConstructor(vm, globalObject)); - - exportNames.append(JSC::Identifier::fromString(vm, "getEventListeners"_s)); - exportValues.append(JSC::JSFunction::create(vm, lexicalGlobalObject, 0, - MAKE_STATIC_STRING_IMPL("getEventListeners"), Events_functionGetEventListeners, ImplementationVisibility::Public)); - exportNames.append(JSC::Identifier::fromString(vm, "listenerCount"_s)); - exportValues.append(JSC::JSFunction::create(vm, lexicalGlobalObject, 0, - MAKE_STATIC_STRING_IMPL("listenerCount"), Events_functionListenerCount, ImplementationVisibility::Public)); - exportNames.append(JSC::Identifier::fromString(vm, "once"_s)); - exportValues.append(JSC::JSFunction::create(vm, lexicalGlobalObject, 0, - MAKE_STATIC_STRING_IMPL("once"), Events_functionOnce, ImplementationVisibility::Public)); - exportNames.append(JSC::Identifier::fromString(vm, "on"_s)); - exportValues.append(JSC::JSFunction::create(vm, lexicalGlobalObject, 0, - MAKE_STATIC_STRING_IMPL("on"), Events_functionOn, ImplementationVisibility::Public)); + exportNames.append(JSC::Identifier::fromString(vm, "getEventListeners"_s)); + exportValues.append(JSC::JSFunction::create( + vm, lexicalGlobalObject, 0, MAKE_STATIC_STRING_IMPL("getEventListeners"), + Events_functionGetEventListeners, ImplementationVisibility::Public)); + exportNames.append(JSC::Identifier::fromString(vm, "listenerCount"_s)); + exportValues.append(JSC::JSFunction::create( + vm, lexicalGlobalObject, 0, MAKE_STATIC_STRING_IMPL("listenerCount"), + Events_functionListenerCount, ImplementationVisibility::Public)); + exportNames.append(JSC::Identifier::fromString(vm, "once"_s)); + exportValues.append(JSC::JSFunction::create( + vm, lexicalGlobalObject, 0, MAKE_STATIC_STRING_IMPL("once"), + Events_functionOnce, ImplementationVisibility::Public)); + exportNames.append(JSC::Identifier::fromString(vm, "on"_s)); + exportValues.append(JSC::JSFunction::create( + vm, lexicalGlobalObject, 0, MAKE_STATIC_STRING_IMPL("on"), + Events_functionOn, ImplementationVisibility::Public)); } -} +} // namespace Zig -- cgit v1.2.3