pub fn jsonParseFromValue(allocator: Allocator, source: Value, options: ParseOptions) !@This() allocator: Allocatorsource: Valueoptions: ParseOptions52
53
54
55
56
57
58
59
60
61
62
63 pub fn jsonParseFromValue(allocator: Allocator, source: Value, options: ParseOptions) !@This() {
if (source != .object) return error.UnexpectedToken;
var map: std.array_hash_map.String(T) = .empty;
errdefer map.deinit(allocator);
var it = source.object.iterator();
while (it.next()) |kv| {
try map.put(allocator, kv.key_ptr.*, try innerParseFromValue(T, allocator, kv.value_ptr.*, options));
}
return .{ .map = map };
}