DictionaryValueConverter<T>
using AngleSharp.Extensions;
using AngleSharp.Parser.Css;
using System;
using System.Collections.Generic;
namespace AngleSharp.Css.ValueConverters
{
internal sealed class DictionaryValueConverter<T> : IValueConverter<T>, IValueConverter
{
private readonly Dictionary<string, T> _values;
public DictionaryValueConverter(Dictionary<string, T> values)
{
_values = values;
}
public bool TryConvert(IEnumerable<CssToken> value, Action<T> setResult)
{
T mode = default(T);
if (ValueExtensions.TryGetValue<T>(_values, value, out mode)) {
setResult(mode);
return true;
}
return false;
}
public bool Validate(IEnumerable<CssToken> value)
{
T mode = default(T);
return ValueExtensions.TryGetValue<T>(_values, value, out mode);
}
}
}