diff options
author | 2023-04-07 02:20:12 -0500 | |
---|---|---|
committer | 2023-04-07 02:20:12 -0500 | |
commit | d115f278def29c9330c84cd51b1bd84921ece897 (patch) | |
tree | 5f8577a184cbd0ea5f6bd55b3f3f14aa823527ae /src/bun.js/bindings | |
parent | f3d593c9bdeb163b556d292020669e2755580bc6 (diff) | |
download | bun-derrick/fix/event-emitter-async-iter.tar.gz bun-derrick/fix/event-emitter-async-iter.tar.zst bun-derrick/fix/event-emitter-async-iter.zip |
fix(node:events): correct `node:events.once`, add testsderrick/fix/event-emitter-async-iter
Diffstat (limited to 'src/bun.js/bindings')
-rw-r--r-- | src/bun.js/bindings/headers-cpp.h | 2 | ||||
-rw-r--r-- | src/bun.js/bindings/headers.h | 2 | ||||
-rw-r--r-- | src/bun.js/bindings/webcore/JSEventEmitter.cpp | 53 | ||||
-rw-r--r-- | src/bun.js/bindings/webcore/JSEventEmitter.h | 2 |
4 files changed, 2 insertions, 57 deletions
diff --git a/src/bun.js/bindings/headers-cpp.h b/src/bun.js/bindings/headers-cpp.h index 5eac6785d..fcf694b8e 100644 --- a/src/bun.js/bindings/headers-cpp.h +++ b/src/bun.js/bindings/headers-cpp.h @@ -1,4 +1,4 @@ -//-- AUTOGENERATED FILE -- 1680635796 +//-- AUTOGENERATED FILE -- 1680843050 // clang-format off #pragma once diff --git a/src/bun.js/bindings/headers.h b/src/bun.js/bindings/headers.h index 5b0e9527c..b842848da 100644 --- a/src/bun.js/bindings/headers.h +++ b/src/bun.js/bindings/headers.h @@ -1,5 +1,5 @@ // clang-format off -//-- AUTOGENERATED FILE -- 1680635796 +//-- AUTOGENERATED FILE -- 1680843050 #pragma once #include <stddef.h> diff --git a/src/bun.js/bindings/webcore/JSEventEmitter.cpp b/src/bun.js/bindings/webcore/JSEventEmitter.cpp index aa9fb4832..2a573b3b5 100644 --- a/src/bun.js/bindings/webcore/JSEventEmitter.cpp +++ b/src/bun.js/bindings/webcore/JSEventEmitter.cpp @@ -573,57 +573,4 @@ JSC_DEFINE_HOST_FUNCTION(Events_functionListenerCount, RELEASE_AND_RETURN(throwScope, JSC::JSValue::encode(JSC::jsNumber(impl.listenerCount(eventType)))); } -JSC_DEFINE_HOST_FUNCTION(Events_functionOnce, - (JSC::JSGlobalObject * lexicalGlobalObject, JSC::CallFrame* callFrame)) -{ - auto& vm = JSC::getVM(lexicalGlobalObject); - auto throwScope = DECLARE_THROW_SCOPE(vm); - UNUSED_PARAM(throwScope); - UNUSED_PARAM(callFrame); - - if (UNLIKELY(callFrame->argumentCount() < 3)) - return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject)); - auto argument0 = jsEventEmitterCastFast(vm, lexicalGlobalObject, callFrame->uncheckedArgument(0)); - if (UNLIKELY(!argument0)) { - throwException(lexicalGlobalObject, throwScope, createError(lexicalGlobalObject, "Expected EventEmitter"_s)); - return JSValue::encode(JSC::jsUndefined()); - } - auto& impl = argument0->wrapped(); - auto eventType = callFrame->uncheckedArgument(1).toPropertyKey(lexicalGlobalObject); - RETURN_IF_EXCEPTION(throwScope, encodedJSValue()); - EnsureStillAliveScope argument2 = callFrame->uncheckedArgument(2); - auto listener = convert<IDLNullable<IDLEventListener<JSEventListener>>>(*lexicalGlobalObject, argument2.value(), *argument0, [](JSC::JSGlobalObject& lexicalGlobalObject, JSC::ThrowScope& scope) { throwArgumentMustBeObjectError(lexicalGlobalObject, scope, 2, "listener", "EventEmitter", "removeListener"); }); - RETURN_IF_EXCEPTION(throwScope, encodedJSValue()); - RETURN_IF_EXCEPTION(throwScope, encodedJSValue()); - vm.writeBarrier(argument0, argument2.value()); - RELEASE_AND_RETURN(throwScope, JSC::JSValue::encode(argument0)); -} - -// JSC_DEFINE_HOST_FUNCTION(Events_functionOn, -// (JSC::JSGlobalObject * lexicalGlobalObject, JSC::CallFrame* callFrame)) -// { -// auto& vm = JSC::getVM(lexicalGlobalObject); -// auto throwScope = DECLARE_THROW_SCOPE(vm); -// UNUSED_PARAM(throwScope); -// UNUSED_PARAM(callFrame); - -// if (UNLIKELY(callFrame->argumentCount() < 3)) -// return throwVMError(lexicalGlobalObject, throwScope, createNotEnoughArgumentsError(lexicalGlobalObject)); -// auto argument0 = jsEventEmitterCastFast(vm, lexicalGlobalObject, callFrame->uncheckedArgument(0)); -// if (UNLIKELY(!argument0)) { -// throwException(lexicalGlobalObject, throwScope, createError(lexicalGlobalObject, "Expected EventEmitter"_s)); -// return JSValue::encode(JSC::jsUndefined()); -// } -// auto& impl = argument0->wrapped(); -// auto eventType = callFrame->uncheckedArgument(1).toPropertyKey(lexicalGlobalObject); -// RETURN_IF_EXCEPTION(throwScope, encodedJSValue()); -// EnsureStillAliveScope argument2 = callFrame->uncheckedArgument(2); -// auto listener = convert<IDLNullable<IDLEventListener<JSEventListener>>>(*lexicalGlobalObject, argument2.value(), *argument0, [](JSC::JSGlobalObject& lexicalGlobalObject, JSC::ThrowScope& scope) { throwArgumentMustBeObjectError(lexicalGlobalObject, scope, 2, "listener", "EventEmitter", "removeListener"); }); -// RETURN_IF_EXCEPTION(throwScope, encodedJSValue()); -// auto result = JSValue::encode(toJS<IDLUndefined>(*lexicalGlobalObject, throwScope, [&]() -> decltype(auto) { return impl.addListenerForBindings(WTFMove(eventType), WTFMove(listener), false, false); })); -// RETURN_IF_EXCEPTION(throwScope, encodedJSValue()); -// vm.writeBarrier(argument0, argument2.value()); -// return result; -// } - } diff --git a/src/bun.js/bindings/webcore/JSEventEmitter.h b/src/bun.js/bindings/webcore/JSEventEmitter.h index 855241011..d09854afd 100644 --- a/src/bun.js/bindings/webcore/JSEventEmitter.h +++ b/src/bun.js/bindings/webcore/JSEventEmitter.h @@ -9,8 +9,6 @@ namespace WebCore { JSC_DECLARE_HOST_FUNCTION(Events_functionGetEventListeners); JSC_DECLARE_HOST_FUNCTION(Events_functionListenerCount); -JSC_DECLARE_HOST_FUNCTION(Events_functionOnce); -JSC_DECLARE_HOST_FUNCTION(Events_functionOn); class JSEventEmitter : public JSDOMWrapper<EventEmitter> { public: |