diff options
-rw-r--r-- | src/javascript/jsc/node/node_fs.zig | 4 | ||||
-rw-r--r-- | src/javascript/jsc/node/types.zig | 14 |
2 files changed, 5 insertions, 13 deletions
diff --git a/src/javascript/jsc/node/node_fs.zig b/src/javascript/jsc/node/node_fs.zig index 444480d2c..42058f1d3 100644 --- a/src/javascript/jsc/node/node_fs.zig +++ b/src/javascript/jsc/node/node_fs.zig @@ -1179,7 +1179,7 @@ const Arguments = struct { if (exception.* != null) return null; - const buffer = StringOrBuffer.fromJS(ctx.ptr(), arguments.next() orelse { + const buffer = StringOrBuffer.fromJS(ctx.ptr(), arguments.arena.allocator(), arguments.next() orelse { if (exception.* == null) { JSC.throwInvalidArguments( "data is required", @@ -1490,7 +1490,7 @@ const Arguments = struct { if (exception.* != null) return null; - const data = StringOrBuffer.fromJS(ctx.ptr(), arguments.next() orelse { + const data = StringOrBuffer.fromJS(ctx.ptr(), arguments.arena.allocator(), arguments.next() orelse { if (exception.* == null) { JSC.throwInvalidArguments( "data is required", diff --git a/src/javascript/jsc/node/types.zig b/src/javascript/jsc/node/types.zig index b02d5ef89..e5d905363 100644 --- a/src/javascript/jsc/node/types.zig +++ b/src/javascript/jsc/node/types.zig @@ -146,19 +146,11 @@ pub const StringOrBuffer = union(Tag) { }; } - pub fn fromJS(global: *JSC.JSGlobalObject, value: JSC.JSValue, exception: JSC.C.ExceptionRef) ?StringOrBuffer { + pub fn fromJS(global: *JSC.JSGlobalObject, allocator: std.mem.Allocator, value: JSC.JSValue, exception: JSC.C.ExceptionRef) ?StringOrBuffer { return switch (value.jsType()) { JSC.JSValue.JSType.String, JSC.JSValue.JSType.StringObject, JSC.JSValue.JSType.DerivedStringObject, JSC.JSValue.JSType.Object => { - var zig_str = JSC.ZigString.init(""); - value.toZigString(&zig_str, global); - // if (zig_str.len == 0) { - // JSC.throwInvalidArguments("Expected string to have length > 0", .{}, global.ref(), exception); - // return null; - // } - - return StringOrBuffer{ - .string = zig_str.slice(), - }; + var zig_str = value.toSlice(global, allocator); + return StringOrBuffer{ .string = zig_str.slice() }; }, JSC.JSValue.JSType.ArrayBuffer => StringOrBuffer{ .buffer = Buffer.fromArrayBuffer(global.ref(), value, exception), |