rawsql-ts
Version:
[beta]High-performance SQL parser and AST analyzer written in TypeScript. Provides fast parsing and advanced transformation capabilities.
19 lines • 806 B
JavaScript
import { JoinUsingClause } from "../models/Clause";
import { TokenType } from "../models/Lexeme";
import { ValueParser } from "./ValueParser";
export class JoinUsingClauseParser {
static tryParse(lexemes, index) {
let idx = index;
if (idx < lexemes.length && lexemes[idx].value === 'using') {
idx++; // Skip 'using' keyword
// Parse the columns in parentheses
const result = ValueParser.parseArgument(TokenType.OpenParen, TokenType.CloseParen, lexemes, idx);
const usingColumns = result.value;
idx = result.newIndex;
const joinUsing = new JoinUsingClause(usingColumns);
return { value: joinUsing, newIndex: idx };
}
return null;
}
}
//# sourceMappingURL=JoinUsingClauseParser.js.map