AngleSharp by Florian Rappl

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

.NET API 1,171,968 bytes

 CssBorderImageRepeatProperty

More information available at: https://developer.mozilla.org/en-US/docs/Web/CSS/border-image-repeat
using AngleSharp.Css; using AngleSharp.Extensions; namespace AngleSharp.Dom.Css { internal sealed class CssBorderImageRepeatProperty : CssProperty, ICssBorderImageRepeatProperty, ICssProperty { internal static readonly BorderRepeat Default = BorderRepeat.Stretch; internal static readonly IValueConverter<BorderRepeat[]> Converter = Map.BorderRepeatModes.ToConverter().Many(1, 2); private BorderRepeat _horizontal; private BorderRepeat _vertical; public BorderRepeat Horizontal => _horizontal; public BorderRepeat Vertical => _vertical; internal CssBorderImageRepeatProperty(CssStyleDeclaration rule) : base(PropertyNames.BorderImageRepeat, rule, PropertyFlags.None) { } private void SetRepeat(BorderRepeat horizontal, BorderRepeat vertical) { _horizontal = horizontal; _vertical = vertical; } internal override void Reset() { _horizontal = Default; _vertical = Default; } protected override bool IsValid(ICssValue value) { return Converter.TryConvert(value, delegate(BorderRepeat[] m) { SetRepeat(m[0], (m.Length == 2) ? m[1] : m[0]); }); } } }