From c95c2301565603856ff6fcaecaa63bdcdd689bc1 Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Thu, 11 Apr 2024 03:21:33 -0700 Subject: [PATCH] add back missing StringerJsonStringifyMixin --- src/StringerJsonStringifyMixin.zig | 18 ++++++++++++++++++ src/lib.zig | 1 + 2 files changed, 19 insertions(+) create mode 100644 src/StringerJsonStringifyMixin.zig diff --git a/src/StringerJsonStringifyMixin.zig b/src/StringerJsonStringifyMixin.zig new file mode 100644 index 0000000000000000000000000000000000000000..495e87d2ee1aa32d98ef82cb9cc2da93ffb7bdcc --- /dev/null +++ b/src/StringerJsonStringifyMixin.zig @@ -0,0 +1,18 @@ +const std = @import("std"); +const string = []const u8; +const extras = @import("./lib.zig"); + +pub fn StringerJsonStringifyMixin(comptime S: type) type { + return struct { + pub fn jsonStringify(self: S, options: std.json.StringifyOptions, out_stream: anytype) !void { + var buf: [1024]u8 = undefined; + var fba = std.heap.FixedBufferAllocator.init(&buf); + const alloc = fba.allocator(); + var list = std.ArrayList(u8).init(alloc); + errdefer list.deinit(); + const writer = list.writer(); + try writer.writeAll(try self.toString(alloc)); + try std.json.stringify(list.toOwnedSlice(), options, out_stream); + } + }; +} diff --git a/src/lib.zig b/src/lib.zig index ae8f621a785326811ac817e0c1cd898c5277d494..ba0c8ab8ea943c44e1a7f77985dadd36012190e0 100644 --- a/src/lib.zig +++ b/src/lib.zig @@ -22,6 +22,7 @@ pub usingnamespace @import("./fileSize.zig"); pub usingnamespace @import("./dirSize.zig"); pub usingnamespace @import("./hashFile.zig"); pub usingnamespace @import("./pipe.zig"); +pub usingnamespace @import("./StringerJsonStringifyMixin.zig"); pub usingnamespace @import("./TagNameJsonStringifyMixin.zig"); pub usingnamespace @import("./countScalar.zig"); pub usingnamespace @import("./ptrCast.zig"); -- 2.54.0