import{Delim as e,Ident as t,Url as r,Function as i,Number as s,Percentage as n,Dimension as h,String as a,LeftSquareBracket as c,LeftParenthesis as o,Comma as u,Hash as k}from"../../tokenizer/types.mjs";import"../../tokenizer/char-code-definitions.mjs";import"../../tokenizer/TokenStream.mjs";function m(m){switch(this.tokenType){case k:return this.Hash();case u:return this.Operator();case o:return this.Parentheses(this.readSequence,m.recognizer);case c:return this.Brackets(this.readSequence,m.recognizer);case a:return this.String();case h:return this.Dimension();case n:return this.Percentage();case s:return this.Number();case i:return this.cmpStr(this.tokenStart,this.tokenEnd,"url(")?this.Url():this.Function(this.readSequence,m.recognizer);case r:return this.Url();case t:return this.cmpChar(this.tokenStart,117)&&this.cmpChar(this.tokenStart+1,43)?this.UnicodeRange():this.Identifier();case e:{const e=this.charCodeAt(this.tokenStart);if(47===e||42===e||43===e||45===e)return this.Operator();35===e&&this.error("Hex or identifier is expected",this.tokenStart+1);break}}}export{m as default};