AngleSharp by Florian Rappl

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

.NET API 1,175,040 bytes

 IdentifierValueConverter

using AngleSharp.Dom.Css; using AngleSharp.Parser.Css; using System; using System.Collections.Generic; namespace AngleSharp.Css.ValueConverters { internal sealed class IdentifierValueConverter : IValueConverter { private sealed class IdentifierValue : IPropertyValue { private readonly string _identifier; private readonly CssValue _value; public string CssText => _identifier; public CssValue Original => _value; public IdentifierValue(string identifier, IEnumerable<CssToken> tokens) { _identifier = identifier; _value = new CssValue(tokens); } public CssValue ExtractFor(string name) { return _value; } } private readonly Func<IEnumerable<CssToken>, string> _converter; public IdentifierValueConverter(Func<IEnumerable<CssToken>, string> converter) { _converter = converter; } public IPropertyValue Convert(IEnumerable<CssToken> value) { string text = _converter(value); if (text == null) return null; return new IdentifierValue(text, value); } public IPropertyValue Construct(CssProperty[] properties) { return properties.Guard<IdentifierValue>(); } } }