using System.Text.Json; namespace Discord.Serialization.Converters { internal class OptionalPropertyConverter : IPropertyConverter> { private readonly IPropertyConverter _innerConverter; public OptionalPropertyConverter(IPropertyConverter innerConverter) { _innerConverter = innerConverter; } public Optional ReadJson(JsonReader reader, bool read = true) => new Optional(_innerConverter.ReadJson(reader, read)); public void WriteJson(JsonWriter writer, Optional value) { if (value.IsSpecified) _innerConverter.WriteJson(writer, value.Value); } } }