CssFunctionToken
Represents a CSS function token.
using AngleSharp.Extensions;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
namespace AngleSharp.Parser.Css
{
internal sealed class CssFunctionToken : CssToken, IEnumerable<CssToken>, IEnumerable
{
private readonly List<CssToken> _arguments;
public IEnumerable<CssToken> ArgumentTokens {
get {
int num = _arguments.Count - 1;
if (num >= 0 && _arguments[num].Type == CssTokenType.RoundBracketClose)
num--;
return _arguments.Take(1 + num);
}
}
public CssFunctionToken(string data, TextPosition position)
: base(CssTokenType.Function, data, position)
{
_arguments = new List<CssToken>();
}
public void AddArgumentToken(CssToken token)
{
_arguments.Add(token);
}
public IEnumerator<CssToken> GetEnumerator()
{
return _arguments.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator();
}
public override string ToValue()
{
return base.Data + "(" + _arguments.ToText();
}
}
}