rawsql-ts
Version:
[beta]High-performance SQL parser and AST analyzer written in TypeScript. Provides fast parsing and advanced transformation capabilities.
38 lines (37 loc) • 1.25 kB
TypeScript
import { SelectQuery } from '../models/SelectQuery';
export interface BaseMermaidOptions {
/** Diagram title */
title?: string;
}
export interface FlowDiagramOptions extends BaseMermaidOptions {
/** Show detailed information (columns, conditions) */
showDetails?: boolean;
/** Include CTE dependencies */
showCTEDependencies?: boolean;
/** Direction of flow (top-down, left-right) */
direction?: 'TD' | 'LR' | 'TB' | 'RL';
}
/**
* QueryFlowDiagramGenerator using model-based architecture
* Generates Mermaid diagrams from SQL queries following consistent principles
*/
export declare class QueryFlowDiagramGenerator {
private graph;
private dataSourceHandler;
private joinHandler;
private processHandler;
private cteHandler;
constructor();
generateMermaidFlow(query: SelectQuery | string, options?: FlowDiagramOptions): string;
static generate(sql: string): string;
private processQuery;
private processSimpleQuery;
private processBinaryQuery;
private processSimpleBinaryOperation;
private processMultiPartOperation;
private handleOutputNode;
/**
* Flattens a binary operation chain into individual parts
*/
private flattenBinaryChain;
}