DoxigAlpha

jsonParseFromValue

Function parameters

Parameters

#

A thin wrapper around `std.StringArrayHashMapUnmanaged` that implements

Functions

#
ArrayHashMap
A thin wrapper around `std.StringArrayHashMapUnmanaged` that implements

Source

Implementation

#
pub fn jsonParseFromValue(allocator: Allocator, source: Value, options: ParseOptions) !@This() {
    if (source != .object) return error.UnexpectedToken;

    var map: std.StringArrayHashMapUnmanaged(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 };
}