// zig fmt: off const std = @import("std"); const json_utils = @import("../json_utils.zig"); const Resource = @import("./resource.zig"); const Store = @import("../store.zig"); const SimpleItem = @import("./simple_item.zig"); const SkillInfoDetails = @This(); pub const Items = SimpleItem.BoundedArray(Resource.max_drops); xp: u64, items: Items, pub fn parse(store: *Store, obj: std.json.ObjectMap) !SkillInfoDetails { const xp = try json_utils.getPositiveIntegerRequired(obj, "xp"); const items = json_utils.getArray(obj, "items") orelse return error.MissingProperty; return SkillInfoDetails{ .xp = xp, .items = try Items.parse(store, items) }; }