UNPKG

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
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; }