CssValue
Represents a CSS value.
using AngleSharp.Extensions;
using AngleSharp.Parser.Css;
using System.Collections;
using System.Collections.Generic;
namespace AngleSharp.Dom.Css
{
internal sealed class CssValue : IEnumerable<CssToken>, IEnumerable
{
private readonly List<CssToken> _tokens;
public static CssValue Initial = FromString(Keywords.Initial);
public CssToken this[int index] {
get {
return _tokens[index];
}
}
public int Count => _tokens.Count;
public string CssText => _tokens.ToText();
private CssValue(CssToken token)
{
_tokens = new List<CssToken>();
_tokens.Add(token);
}
public CssValue(IEnumerable<CssToken> tokens)
{
_tokens = new List<CssToken>(tokens);
}
public static CssValue FromString(string text)
{
CssToken token = new CssToken(CssTokenType.Ident, text, TextPosition.Empty);
return new CssValue(token);
}
public IEnumerator<CssToken> GetEnumerator()
{
return _tokens.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator();
}
}
}