using System.Text.Json.Nodes; using InnovEnergy.Lib.Utils; namespace InnovEnergy.Lib.Victron.VictronVRM; public readonly record struct Reply(JsonNode Json) { public Boolean Success => Json.TryGetBoolean("success") is not null or true; public IReadOnlyList Tags => Json.GetArray("tags"); public IReadOnlyList Alarms => Json.GetArray("alarms"); public JsonArray Records => Json.GetArray("records"); public IReadOnlyList Devices => Json["records"]! .GetArray("devices") .NotNull() .Select(d => new Device(d)) .ToList(); }