Compare commits
2 Commits
cf21c48771
...
259c22999c
Author | SHA1 | Date | |
---|---|---|---|
259c22999c | |||
ab0202a5f7 |
@ -27,27 +27,5 @@ pub fn main() !void {
|
|||||||
};
|
};
|
||||||
defer doc.deinit();
|
defer doc.deinit();
|
||||||
|
|
||||||
std.debug.print("\n-----\n\n", .{});
|
try std.json.stringify(doc.root, .{}, std.io.getStdOut().writer());
|
||||||
|
|
||||||
dump(doc.root);
|
|
||||||
}
|
|
||||||
|
|
||||||
fn dump(val: yaml.Value) void {
|
|
||||||
switch (val) {
|
|
||||||
.scalar => |str| std.debug.print("scalar: {s}\n", .{str}),
|
|
||||||
.list => |list| {
|
|
||||||
std.debug.print("list: \n", .{});
|
|
||||||
for (list) |item| dump(item);
|
|
||||||
std.debug.print("end list\n", .{});
|
|
||||||
},
|
|
||||||
.map => |map| {
|
|
||||||
std.debug.print("map: \n", .{});
|
|
||||||
var iter = map.iterator();
|
|
||||||
while (iter.next()) |entry| {
|
|
||||||
std.debug.print("key: {s}\n", .{entry.key_ptr.*});
|
|
||||||
dump(entry.value_ptr.*);
|
|
||||||
}
|
|
||||||
std.debug.print("end map\n", .{});
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
16
src/yaml.zig
16
src/yaml.zig
@ -297,4 +297,20 @@ pub const Value = union(enum) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
pub fn jsonStringify(value: @This(), jws: anytype) !void {
|
||||||
|
switch (value) {
|
||||||
|
.scalar => |scalar| try jws.write(scalar),
|
||||||
|
.list => |list| try jws.write(list),
|
||||||
|
.map => |map| {
|
||||||
|
try jws.beginObject();
|
||||||
|
var it = map.iterator();
|
||||||
|
while (it.next()) |entry| {
|
||||||
|
try jws.objectField(entry.key_ptr.*);
|
||||||
|
try jws.write(entry.value_ptr.*);
|
||||||
|
}
|
||||||
|
try jws.endObject();
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user