rawsql-ts
Version:
[beta]High-performance SQL parser and AST analyzer written in TypeScript. Provides fast parsing and advanced transformation capabilities.
23 lines • 1.01 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.JoinUsingClauseParser = void 0;
const Clause_1 = require("../models/Clause");
const Lexeme_1 = require("../models/Lexeme");
const ValueParser_1 = require("./ValueParser");
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_1.ValueParser.parseArgument(Lexeme_1.TokenType.OpenParen, Lexeme_1.TokenType.CloseParen, lexemes, idx);
const usingColumns = result.value;
idx = result.newIndex;
const joinUsing = new Clause_1.JoinUsingClause(usingColumns);
return { value: joinUsing, newIndex: idx };
}
return null;
}
}
exports.JoinUsingClauseParser = JoinUsingClauseParser;
//# sourceMappingURL=JoinUsingClauseParser.js.map
;