AngleSharp by Florian Rappl

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

.NET API 1,171,968 bytes

 DictionaryValueConverter<T>

using AngleSharp.Dom.Css; using AngleSharp.Extensions; using System; using System.Collections.Generic; namespace AngleSharp.Css.ValueConverters { internal sealed class DictionaryValueConverter<T> : IValueConverter<T>, IValueConverter { private readonly Dictionary<string, T> _values; public int MinArgs => 1; public int MaxArgs => 1; public DictionaryValueConverter(Dictionary<string, T> values) { _values = values; } public bool TryConvert(ICssValue value, Action<T> setResult) { T mode = default(T); if (!ValueExtensions.TryGetValue<T>(_values, value, out mode)) return false; setResult(mode); return true; } public bool Validate(ICssValue value) { T mode = default(T); return ValueExtensions.TryGetValue<T>(_values, value, out mode); } } }