rawsql-ts
Version:
[beta]High-performance SQL parser and AST analyzer written in TypeScript. Provides fast parsing and advanced transformation capabilities.
26 lines (25 loc) • 883 B
TypeScript
import { SourceExpression } from '../../models/Clause';
import { DataFlowGraph } from '../models/DataFlowGraph';
/**
* Handles the processing of data sources (tables, CTEs, subqueries)
*/
export declare class DataSourceHandler {
private graph;
constructor(graph: DataFlowGraph);
/**
* Processes a source expression and returns the node ID
*/
processSource(sourceExpr: SourceExpression, cteNames: Set<string>, queryProcessor: (query: any, context: string, cteNames: Set<string>) => string): string;
/**
* Processes a table source (including CTE references)
*/
private processTableSource;
/**
* Processes a subquery source
*/
private processSubquerySource;
/**
* Extracts table node IDs from a FROM clause for WHERE subqueries
*/
extractTableNodeIds(fromClause: any, cteNames: Set<string>): string[];
}