/** * edge-lexer * * (c) Edge * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ import { Scanner } from './scanner.js'; import type { Tags, Token, RuntimeTag, RuntimeComment, RuntimeMustache, TokenizerOptions } from './types.js'; /** * Tokenizer converts a bunch of text into an array of tokens. Later * these tokens can be used to build the transformed text. * * Go through the README file to learn more about the syntax and * the tokens output. */ export declare class Tokenizer { #private; /** * Lexer tokens */ tokens: Token[]; /** * Holds the current tag statement, until it is closed */ tagStatement: null | { scanner: Scanner; tag: RuntimeTag; }; /** * Holds the current mustache statement, until it is closed */ mustacheStatement: null | { scanner: Scanner; mustache: RuntimeMustache | RuntimeComment; }; constructor(template: string, tagsDef: Tags, options: TokenizerOptions); /** * Parse the template and generate an AST out of it */ parse(): void; }