AngleSharp by AngleSharp

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

.NET API 1,230,336 bytes

 MediaFeature

Represents a feature expression within a media query.
using AngleSharp.Css; using AngleSharp.Extensions; using System.IO; namespace AngleSharp.Dom.Css { internal abstract class MediaFeature : CssNode, IMediaFeature, ICssNode, IStyleFormattable { private readonly bool _min; private readonly bool _max; private readonly string _name; private CssValue _value; public string Name => _name; public bool IsMinimum => _min; public bool IsMaximum => _max; public string Value { get { if (!HasValue) return string.Empty; return _value.CssText; } } public bool HasValue { get { if (_value != null) return _value.Count > 0; return false; } } internal abstract IValueConverter Converter { get; } internal MediaFeature(string name) { _name = name; _min = name.StartsWith("min-"); _max = name.StartsWith("max-"); } internal bool TrySetValue(CssValue value) { bool flag = false; flag = ((value != null) ? (Converter.Convert(value) != null) : (!IsMinimum && !IsMaximum && Converter.HasDefault())); if (flag) _value = value; return flag; } public abstract bool Validate(RenderDevice device); public override void ToCss(TextWriter writer, IStyleFormatter formatter) { string value = HasValue ? Value : null; writer.Write(formatter.Constraint(_name, value)); } } }