Started with cleanup
This commit is contained in:
Родитель
e6db1869ff
Коммит
4f77ace363
|
@ -4,6 +4,7 @@ namespace AngleSharp.Css.Declarations
|
|||
using AngleSharp.Css.Values;
|
||||
using AngleSharp.Text;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using static ValueConverters;
|
||||
|
||||
static class BorderBottomDeclaration
|
||||
|
@ -28,20 +29,13 @@ namespace AngleSharp.Css.Declarations
|
|||
|
||||
sealed class BorderBottomAggregator : IValueAggregator, IValueConverter
|
||||
{
|
||||
public ICssValue Convert(StringSource source)
|
||||
{
|
||||
return BorderSideConverter.Convert(source);
|
||||
}
|
||||
public ICssValue Convert(StringSource source) => BorderSideConverter.Convert(source);
|
||||
|
||||
public ICssValue Merge(ICssValue[] values)
|
||||
{
|
||||
var width = values[0];
|
||||
var style = values[1];
|
||||
var color = values[2];
|
||||
|
||||
if (width != null || style != null || color != null)
|
||||
if (values.Length == 3)
|
||||
{
|
||||
return new CssTupleValue(new[] { width, style, color });
|
||||
return new CssTupleValue(values);
|
||||
}
|
||||
|
||||
return null;
|
||||
|
@ -49,16 +43,9 @@ namespace AngleSharp.Css.Declarations
|
|||
|
||||
public ICssValue[] Split(ICssValue value)
|
||||
{
|
||||
var options = value as CssTupleValue;
|
||||
|
||||
if (options != null)
|
||||
if (value is CssTupleValue options)
|
||||
{
|
||||
return new[]
|
||||
{
|
||||
options.Items[0],
|
||||
options.Items[1],
|
||||
options.Items[2],
|
||||
};
|
||||
return options.ToArray();
|
||||
}
|
||||
|
||||
return null;
|
||||
|
|
|
@ -5,6 +5,7 @@ namespace AngleSharp.Css.Declarations
|
|||
using AngleSharp.Css.Values;
|
||||
using AngleSharp.Text;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using static ValueConverters;
|
||||
|
||||
static class BorderColorDeclaration
|
||||
|
@ -32,21 +33,13 @@ namespace AngleSharp.Css.Declarations
|
|||
{
|
||||
private static readonly IValueConverter converter = Or(CurrentColorConverter.Periodic(), AssignInitial());
|
||||
|
||||
public ICssValue Convert(StringSource source)
|
||||
{
|
||||
return converter.Convert(source);
|
||||
}
|
||||
public ICssValue Convert(StringSource source) => converter.Convert(source);
|
||||
|
||||
public ICssValue Merge(ICssValue[] values)
|
||||
{
|
||||
var top = values[0];
|
||||
var right = values[1];
|
||||
var bottom = values[2];
|
||||
var left = values[3];
|
||||
|
||||
if (top != null && right != null && bottom != null && left != null)
|
||||
if (values.Length > 0)
|
||||
{
|
||||
return new CssPeriodicValue(new[] { top, right, bottom, left });
|
||||
return new CssPeriodicValue(values);
|
||||
}
|
||||
|
||||
return null;
|
||||
|
@ -54,17 +47,9 @@ namespace AngleSharp.Css.Declarations
|
|||
|
||||
public ICssValue[] Split(ICssValue value)
|
||||
{
|
||||
var periodic = value as CssPeriodicValue;
|
||||
|
||||
if (periodic != null)
|
||||
if (value is CssPeriodicValue periodic)
|
||||
{
|
||||
return new[]
|
||||
{
|
||||
periodic.Top,
|
||||
periodic.Right,
|
||||
periodic.Bottom,
|
||||
periodic.Left,
|
||||
};
|
||||
return periodic.ToArray();
|
||||
}
|
||||
|
||||
return null;
|
||||
|
|
|
@ -4,7 +4,6 @@ namespace AngleSharp.Css.Values
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
/// <summary>
|
||||
/// Represents a periodic CSS value.
|
||||
|
@ -108,10 +107,15 @@ namespace AngleSharp.Css.Values
|
|||
|
||||
#region Methods
|
||||
|
||||
IEnumerator<ICssValue> IEnumerable<ICssValue>.GetEnumerator() =>
|
||||
_values.OfType<ICssValue>().GetEnumerator();
|
||||
IEnumerator<ICssValue> IEnumerable<ICssValue>.GetEnumerator()
|
||||
{
|
||||
yield return Top;
|
||||
yield return Right;
|
||||
yield return Bottom;
|
||||
yield return Left;
|
||||
}
|
||||
|
||||
IEnumerator IEnumerable.GetEnumerator() => _values.GetEnumerator();
|
||||
IEnumerator IEnumerable.GetEnumerator() => ((IEnumerable<ICssValue>)this).GetEnumerator();
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче