aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/api/bun.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/bun.js/api/bun.zig')
-rw-r--r--src/bun.js/api/bun.zig12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/bun.js/api/bun.zig b/src/bun.js/api/bun.zig
index 5210063ea..fe0aafc25 100644
--- a/src/bun.js/api/bun.zig
+++ b/src/bun.js/api/bun.zig
@@ -3192,24 +3192,24 @@ pub const Hash = struct {
} else {
var seed: u64 = 0;
if (args.nextEat()) |arg| {
- if (arg.isNumber()) {
- seed = arg.toU32();
+ if (arg.isNumber() or arg.isBigInt()) {
+ seed = arg.toUInt64NoTruncate();
}
}
if (comptime std.meta.trait.isNumber(@TypeOf(function_args[0]))) {
- function_args[0] = @as(@TypeOf(function_args[0]), @intCast(seed));
+ function_args[0] = @as(@TypeOf(function_args[0]), @truncate(seed));
function_args[1] = input;
} else {
- function_args[1] = @as(@TypeOf(function_args[1]), @intCast(seed));
function_args[0] = input;
+ function_args[1] = @as(@TypeOf(function_args[1]), @truncate(seed));
}
const value = @call(.auto, Function, function_args);
if (@TypeOf(value) == u32) {
- return JSC.JSValue.jsNumber(@as(i32, @bitCast(value))).asObjectRef();
+ return JSC.JSValue.jsNumber(@as(u32, @bitCast(value))).asObjectRef();
}
- return JSC.JSValue.jsNumber(value).asObjectRef();
+ return JSC.JSValue.fromUInt64NoTruncate(ctx.ptr(), value).asObjectRef();
}
}
};