diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/bun.js/bindings/JSReadableHelper.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/bun.js/bindings/JSReadableHelper.cpp b/src/bun.js/bindings/JSReadableHelper.cpp index 3845d62f5..0565e3f28 100644 --- a/src/bun.js/bindings/JSReadableHelper.cpp +++ b/src/bun.js/bindings/JSReadableHelper.cpp @@ -115,9 +115,9 @@ JSC_DEFINE_HOST_FUNCTION(jsReadable_resume, (JSGlobalObject * lexicalGlobalObjec JSReadableHelper_EXTRACT_STREAM_STATE auto* jsEmitterWrap - = jsDynamicCast<JSEventEmitter*>(stream); + = jsEventEmitterCastFast(vm, lexicalGlobalObject, stream); - if (!jsEmitterWrap) { + if (UNLIKELY(!jsEmitterWrap)) { throwTypeError(lexicalGlobalObject, throwScope, "stream is not EventEmitter"_s); return JSValue::encode(jsUndefined()); } @@ -169,8 +169,9 @@ EncodedJSValue emitReadable_(JSGlobalObject* lexicalGlobalObject, JSObject* stre auto eventType = clientData->builtinNames().readablePublicName(); MarkedArgumentBuffer args; - auto emitter = jsDynamicCast<JSEventEmitter*>(stream); - if (!emitter) { + auto* emitter + = jsEventEmitterCastFast(vm, lexicalGlobalObject, stream); + if (UNLIKELY(!emitter)) { throwTypeError(lexicalGlobalObject, throwScope, "stream is not EventEmitter"_s); return JSValue::encode(jsUndefined()); } |