UNPKG

rawsql-ts

Version:

[beta]High-performance SQL parser and AST analyzer written in TypeScript. Provides fast parsing and advanced transformation capabilities.

31 lines 939 B
import { BaseTokenReader } from './BaseTokenReader'; import { TokenType } from '../models/Lexeme'; /** * Reads SQL symbol tokens (., ,, (, )) */ export class SpecialSymbolTokenReader extends BaseTokenReader { /** * Try to read a symbol token */ tryRead(previous) { if (this.isEndOfInput()) { return null; } const char = this.input[this.position]; // symbol tokens if (char in SpecialSymbolTokenReader.SPECIAL_SYMBOL_TOKENS) { this.position++; return this.createLexeme(SpecialSymbolTokenReader.SPECIAL_SYMBOL_TOKENS[char], char); } return null; } } SpecialSymbolTokenReader.SPECIAL_SYMBOL_TOKENS = { '.': TokenType.Dot, ',': TokenType.Comma, '(': TokenType.OpenParen, ')': TokenType.CloseParen, '[': TokenType.OpenBracket, ']': TokenType.CloseBracket, }; //# sourceMappingURL=SymbolTokenReader.js.map