AngleSharp by Florian Rappl

<PackageReference Include="AngleSharp" Version="0.8.0" />

.NET API 1,171,968 bytes

 OptionValueConverter<T>

using AngleSharp.Dom.Css; using System; namespace AngleSharp.Css.ValueConverters { internal sealed class OptionValueConverter<T> : IValueConverter<T>, IValueConverter { private readonly IValueConverter<T> _converter; private readonly T _default; public int MinArgs => 0; public int MaxArgs => _converter.MaxArgs; public OptionValueConverter(IValueConverter<T> converter, T default) { _converter = converter; _default = default; } public bool TryConvert(ICssValue value, Action<T> setResult) { if (value == null) { setResult(_default); return true; } return _converter.TryConvert(value, setResult); } public bool Validate(ICssValue value) { if (value != null) return _converter.Validate(value); return true; } } }