From 48f07a110f9936d67da18b578e60dbeaccbdadab Mon Sep 17 00:00:00 2001 From: Karl Seguin Date: Fri, 16 Jan 2026 17:21:36 +0800 Subject: [PATCH] fix bad great rebase --- src/browser/js/Caller.zig | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/browser/js/Caller.zig b/src/browser/js/Caller.zig index d4ea7691..a3997195 100644 --- a/src/browser/js/Caller.zig +++ b/src/browser/js/Caller.zig @@ -93,6 +93,12 @@ pub fn constructor(self: *Caller, comptime T: type, func: anytype, handle: *cons defer hs.deinit(); const info = FunctionCallbackInfo{ .handle = handle }; + + if (!info.isConstructCall()) { + self.handleError(T, @TypeOf(func), error.InvalidArgument, info, opts); + return; + } + self._constructor(func, info) catch |err| { self.handleError(T, @TypeOf(func), err, info, opts); }; @@ -525,6 +531,10 @@ pub const FunctionCallbackInfo = struct { v8.v8__FunctionCallbackInfo__GetReturnValue(self.handle, &rv); return .{ .handle = rv }; } + + fn isConstructCall(self: FunctionCallbackInfo) bool { + return v8.v8__FunctionCallbackInfo__IsConstructCall(self.handle); + } }; pub const PropertyCallbackInfo = struct {