diff options
Diffstat (limited to 'src/bun.js/api/bun.zig')
-rw-r--r-- | src/bun.js/api/bun.zig | 35 |
1 files changed, 24 insertions, 11 deletions
diff --git a/src/bun.js/api/bun.zig b/src/bun.js/api/bun.zig index 8408ce339..ac5366a45 100644 --- a/src/bun.js/api/bun.zig +++ b/src/bun.js/api/bun.zig @@ -231,7 +231,7 @@ pub fn registerMacro( return js.JSValueMakeUndefined(ctx); } - if (!js.JSValueIsObject(ctx, arguments[1]) or !js.JSObjectIsFunction(ctx, arguments[1])) { + if (!arguments[1].?.value().isCell() or !arguments[1].?.value().isCallable(ctx.vm())) { JSError(getAllocator(ctx), "Macro must be a function. Received: {s}", .{@tagName(js.JSValueGetType(ctx, arguments[1]))}, ctx, exception); return js.JSValueMakeUndefined(ctx); } @@ -1283,20 +1283,33 @@ pub const Crypto = struct { }, ); - pub const Class = JSC.NewClass( + pub const codgen = JSC.codegen( @This(), + @as(string, name), .{ - .name = name, + .update = JSC.wrapSync(@This(), "update"), + .digest = JSC.wrapSync(@This(), "digest"), + .finalize = finalize, + + .byteLength = .{ + .get = byteLength2, + }, }, .{ - .update = .{ - .rfn = JSC.wrapSync(@This(), "update"), - }, - .digest = .{ - .rfn = JSC.wrapSync(@This(), "digest"), + .constructor = constructor, + .hash = JSC.wrapWithHasContainer(@This(), "hash", false, false, true), + .byteLength = .{ + .get = byteLength, }, - .finalize = finalize, }, + ); + + pub const Class = JSC.NewClass( + @This(), + .{ + .name = name, + }, + .{}, .{ .byteLength = .{ .get = byteLength2, @@ -1620,12 +1633,12 @@ pub export fn Bun__escapeHTML( globalObject: *JSGlobalObject, callframe: *JSC.CallFrame, ) JSC.JSValue { - const arguments = callframe.arguments(); + const arguments = callframe.arguments(2); if (arguments.len < 1) { return ZigString.Empty.toValue(globalObject); } - const input_value = arguments[0]; + const input_value = arguments.ptr[0]; const zig_str = input_value.getZigString(globalObject); if (zig_str.len == 0) return ZigString.Empty.toValue(globalObject); |