From 5ed385991441fbf60d59f67fc374e00adfc4a433 Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Wed, 18 Feb 2026 16:35:01 -0800 Subject: [PATCH] use writeNTimes --- json.zig | 12 ++++++------ test.zig | 5 +++++ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/json.zig b/json.zig index d5f5c1f2527d36dbaeaf849e47dc1863895bdbef..05319cbac3b54b3c24ef73746bff450b3fafc409 100644 --- a/json.zig +++ b/json.zig @@ -432,9 +432,9 @@ pub const Document = struct { return std.fmt.format(writer, "{}", .{this.root}); } - pub fn stringify(this: *const Document, writer: anytype, space: Space, indent: u8) @TypeOf(writer).Error!void { + pub fn stringify(this: *const Document, writer: anytype, space: Space, indent: u8) Instance(@TypeOf(writer)).WriteError!void { const fill = space.fill(); - for (0..indent) |_| try writer.writeAll(fill); + try writer.writeNTimes(fill, indent); return @errorCast(this.root.stringify(writer, space, indent)); } }; @@ -582,11 +582,11 @@ pub const ArrayIndex = enum(u32) { for (items, 0..) |item, i| { if (i > 0) try writer.writeAll(","); if (fill.len > 0) try writer.writeAll("\n"); - for (0..indent + 1) |_| try writer.writeAll(fill); + try writer.writeNTimes(fill, indent + 1); try item.stringify(writer, space, indent + 1); } if (fill.len > 0) try writer.writeAll("\n"); - for (0..indent) |_| try writer.writeAll(fill); + try writer.writeNTimes(fill, indent); try writer.writeAll("]"); } @@ -623,13 +623,13 @@ pub const ObjectIndex = enum(u32) { for (keys, values, 0..) |k, v, i| { if (i > 0) try writer.writeAll(","); if (fill.len > 0) try writer.writeAll("\n"); - for (0..indent + 1) |_| try writer.writeAll(fill); + try writer.writeNTimes(fill, indent + 1); try k.stringify(writer); try writer.writeAll(":"); try v.stringify(writer, space, indent + 1); } if (fill.len > 0) try writer.writeAll("\n"); - for (0..indent) |_| try writer.writeAll(fill); + try writer.writeNTimes(fill, indent); try writer.writeAll("}"); } diff --git a/test.zig b/test.zig index 72ae61ab7da11fcf1957b3339ac86c65acd4a758..8cc0b3bd20ef31db3f5d884d9efbacf1d56af819 100644 --- a/test.zig +++ b/test.zig @@ -580,6 +580,11 @@ fn expectCanonical(buffer: []const u8) !void { doc.acquire(); defer doc.release(); try std.testing.expectFmt(buffer, "{}", .{doc}); + + var buf: [4096]u8 = undefined; + var out: nio.FixedBufferStream([]u8) = .init(&buf); + try doc.stringify(&out, .{ .count = 0 }, 0); + try std.testing.expectEqualStrings(buffer, out.buffer[0..out.pos]); } // zig fmt: off -- 2.54.0