using Newtonsoft.Json.Linq; namespace Common.Extensions; public static class JsonNetExtensions { public static JEnumerable Children(this JToken token, string key) where T : JToken { return token[key]?.Children() ?? JEnumerable.Empty; } public static T ValueOrThrow(this JToken token, string key) where T : class { var value = token.Value(key); if (value is null) { throw new ArgumentNullException(token.Path); } return value; } }