From 532d5e9d3ea27e11c45245fbc3e6c583b2922ce8 Mon Sep 17 00:00:00 2001 From: Rene Schallner Date: Fri, 20 Jan 2023 20:10:19 +0100 Subject: [PATCH] API-improved json stuff in util.zig --- src/util.zig | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/src/util.zig b/src/util.zig index 021524e..6f1702c 100644 --- a/src/util.zig +++ b/src/util.zig @@ -82,36 +82,22 @@ pub fn stringifyArrayListBuf( return string.items; } -/// provide your own allocator, NOT mutex-protected -pub fn stringifyAlloc( - a: std.mem.Allocator, - value: anytype, - options: std.json.StringifyOptions, -) ?std.ArrayList(u8) { - var string = std.ArrayList(u8).init(a); - if (std.json.stringify(value, options, string.writer())) { - return string; - } else |_| { // error - return null; - } -} - /// provide your own allocator, NOT mutex-protected pub fn stringifyArrayListAlloc( a: std.mem.Allocator, comptime T: anytype, list: *std.ArrayList(T), options: std.json.StringifyOptions, -) !?std.ArrayList(u8) { +) ![]const u8 { var string = std.ArrayList(u8).init(a); var writer = string.writer(); try writer.writeByte('['); var first: bool = true; - for (list.items) |user| { + for (list.items) |item| { if (!first) try writer.writeByte(','); first = false; - try std.json.stringify(user, options, string.writer()); + try std.json.stringify(item, options, string.writer()); } try writer.writeByte(']'); - return string; + return string.toOwnedSlice(); }