aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/scripts/generate-jssink.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/bun.js/scripts/generate-jssink.js')
-rw-r--r--src/bun.js/scripts/generate-jssink.js16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/bun.js/scripts/generate-jssink.js b/src/bun.js/scripts/generate-jssink.js
index ef60efbba..93bf842c4 100644
--- a/src/bun.js/scripts/generate-jssink.js
+++ b/src/bun.js/scripts/generate-jssink.js
@@ -636,17 +636,19 @@ void JS${controllerName}::detach() {
auto readableStream = m_weakReadableStream.get();
auto onClose = m_onClose.get();
- m_onClose.clear();
if (readableStream && onClose) {
- JSC::JSGlobalObject *globalObject = this->globalObject();
auto callData = JSC::getCallData(onClose);
- JSC::MarkedArgumentBuffer arguments;
- arguments.append(readableStream);
- arguments.append(jsUndefined());
- call(globalObject, onClose, callData, JSC::jsUndefined(), arguments);
+ if(callData.type != JSC::CallData::Type::None) {
+ JSC::JSGlobalObject *globalObject = this->globalObject();
+ JSC::MarkedArgumentBuffer arguments;
+ arguments.append(readableStream);
+ arguments.append(jsUndefined());
+ call(globalObject, onClose, callData, JSC::jsUndefined(), arguments);
+ }
}
-
+
+ m_onClose.clear();
m_weakReadableStream.clear();
}
`;