/** * Liquid Lexer * Tokenizes Liquid template syntax: {{ output }}, {% tags %} * Shopify-compatible implementation */ export declare enum LiquidTokenType { TEXT = "TEXT", VAR_START = "VAR_START",// {{ VAR_END = "VAR_END",// }} TAG_START = "TAG_START",// {% TAG_END = "TAG_END",// %} ID = "ID", STRING = "STRING", NUMBER = "NUMBER", DOT = "DOT", PIPE = "PIPE", COLON = "COLON", COMMA = "COMMA", LBRACKET = "LBRACKET", RBRACKET = "RBRACKET", RANGE = "RANGE",// .. EQUALS = "EQUALS",// = EQ = "EQ",// == NE = "NE",// != or <> LT = "LT", LE = "LE", GT = "GT", GE = "GE", CONTAINS = "CONTAINS", AND = "AND", OR = "OR", EOF = "EOF" } export interface LiquidToken { type: LiquidTokenType; value: string; line: number; column: number; } export declare class LiquidLexer { private source; private pos; private line; private column; private tokens; constructor(source: string); tokenize(): LiquidToken[]; private scanToken; private checkRawTag; private scanRawBlock; private scanText; private scanExpression; private scanExpressionToken; private scanString; private scanNumber; private scanIdentifier; private isAtEnd; private peek; private peekNext; private advance; private check; private match; private skipWhitespace; private isDigit; private isAlpha; private isAlphaNumeric; private addToken; } //# sourceMappingURL=lexer.d.ts.map