AngleSharp by AngleSharp

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

.NET API 1,224,704 bytes

 IdentifierValueConverter<T>

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