📄
YouTubeId.cs
using System.Text.Json.Serialization; namespace MSearch.SearchProviders.YouTube; [JsonPolymorphic( TypeDiscriminatorPropertyName = "kind", IgnoreUnrecognizedTypeDiscriminators = true, UnknownDerivedTypeHandling = JsonUnknownDerivedTypeHandling.FallBackToBaseType )] [JsonDerivedType(typeof(Channel), "youtube#channel")] [JsonDerivedType(typeof(Video), "youtube#video")] internal record YouTubeId { private YouTubeId() { } public sealed record Channel([property: JsonPropertyName("channelId")] string Id) : YouTubeId(); public sealed record Video([property: JsonPropertyName("videoId")] string Id) : YouTubeId(); }