authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-07-10 19:59:01 -07:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-07-10 19:59:01 -07:00
log888ecef1039e97e1812cfcefcb4bfde2441ed353
tree06177a7c9e7d6c2941c4e62975de1dcfb1c3d090
parent9d82b10737a799ec3be42d1e84389ed0f63dea7d
signaturebadge-check Signed by SSH key SHA256:4hHJbtBRU58AYXwjL7fkz2fnQHdiye8x1QpTCQ0sHNw

stringify: support unions


1 files changed, 14 insertions(+), 0 deletions(-)

json.zig+14
...@@ -808,6 +808,20 @@ pub fn stringify(writer: anytype, value: anytype, options: std.json.Stringify.Op...@@ -808,6 +808,20 @@ pub fn stringify(writer: anytype, value: anytype, options: std.json.Stringify.Op
808 .bool => {808 .bool => {
809 try writer.writeAll(if (value) "true" else "false");809 try writer.writeAll(if (value) "true" else "false");
810 },810 },
811 .@"union" => {
812 switch (value) {
813 inline else => |v, t| {
814 try writer.writeAll("{");
815 try stringify(writer, @tagName(t), options);
816 try writer.writeAll(":");
817 try stringify(writer, v, options);
818 try writer.writeAll("}");
819 },
820 }
821 },
822 .void => {
823 try writer.writeAll("{}");
824 },
811 else => @compileError(@typeName(T)),825 else => @compileError(@typeName(T)),
812 }826 }
813}827}