authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2024-04-11 03:21:33 -07:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2024-04-11 03:21:33 -07:00
logc95c2301565603856ff6fcaecaa63bdcdd689bc1
treed94f60f4a72b3e6826f05f3d933ec510af7cdce8
parent904e3259be1f73dd03860a3fcd6532235a07b069

add back missing StringerJsonStringifyMixin


2 files changed, 19 insertions(+), 0 deletions(-)

src/StringerJsonStringifyMixin.zig created+18
......@@ -0,0 +1,18 @@
1const std = @import("std");
2const string = []const u8;
3const extras = @import("./lib.zig");
4
5pub fn StringerJsonStringifyMixin(comptime S: type) type {
6 return struct {
7 pub fn jsonStringify(self: S, options: std.json.StringifyOptions, out_stream: anytype) !void {
8 var buf: [1024]u8 = undefined;
9 var fba = std.heap.FixedBufferAllocator.init(&buf);
10 const alloc = fba.allocator();
11 var list = std.ArrayList(u8).init(alloc);
12 errdefer list.deinit();
13 const writer = list.writer();
14 try writer.writeAll(try self.toString(alloc));
15 try std.json.stringify(list.toOwnedSlice(), options, out_stream);
16 }
17 };
18}
src/lib.zig+1
......@@ -22,6 +22,7 @@ pub usingnamespace @import("./fileSize.zig");
2222pub usingnamespace @import("./dirSize.zig");
2323pub usingnamespace @import("./hashFile.zig");
2424pub usingnamespace @import("./pipe.zig");
25pub usingnamespace @import("./StringerJsonStringifyMixin.zig");
2526pub usingnamespace @import("./TagNameJsonStringifyMixin.zig");
2627pub usingnamespace @import("./countScalar.zig");
2728pub usingnamespace @import("./ptrCast.zig");