UNPKG

rawsql-ts

Version:

[beta]High-performance SQL parser and AST analyzer written in TypeScript. Provides fast parsing and advanced transformation capabilities.

40 lines (39 loc) 1.21 kB
import type { CommentExportMode } from "../types/Formatting"; /** * Represents a comment with its position relative to a token or component */ export interface PositionedComment { position: 'before' | 'after'; comments: string[]; } export declare abstract class SqlComponent { static kind: symbol; getKind(): symbol; accept<T>(visitor: SqlComponentVisitor<T>): T; toSqlString(formatter: SqlComponentVisitor<string>): string; comments: string[] | null; positionedComments: PositionedComment[] | null; /** * Add comments at a specific position */ addPositionedComments(position: 'before' | 'after', comments: string[]): void; /** * Get comments for a specific position */ getPositionedComments(position: 'before' | 'after'): string[]; /** * Get all positioned comments as a flat array in order (before, after) */ getAllPositionedComments(): string[]; } export interface SqlComponentVisitor<T> { visit(expr: SqlComponent): T; } export declare class SqlDialectConfiguration { parameterSymbol: string; identifierEscape: { start: string; end: string; }; exportComment: CommentExportMode; }