UNPKG

rawsql-ts

Version:

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

24 lines (23 loc) 1.43 kB
import { SqlComponent } from '../models/SqlComponent'; import { InsertResultSelectOptions } from './InsertResultSelectConverter'; import { UpdateResultSelectOptions } from './UpdateResultSelectConverter'; import { DeleteResultSelectOptions } from './DeleteResultSelectConverter'; import { MergeResultSelectOptions } from './MergeResultSelectConverter'; import { SelectResultSelectOptions } from './SelectResultSelectConverter'; export type SimulatedSelectOptions = InsertResultSelectOptions & UpdateResultSelectOptions & DeleteResultSelectOptions & MergeResultSelectOptions & SelectResultSelectOptions; export declare class SimulatedSelectConverter { /** * Converts a SQL statement into a simulated SELECT statement for previewing results. * * Rules: * 1. INSERT/UPDATE/DELETE/MERGE: Converted to SELECT statement showing affected rows. * 2. SELECT: Preserved as is (with fixtures injected). * 3. CREATE TEMPORARY TABLE ... AS SELECT: Preserved as is (with fixtures injected into inner SELECT). * 4. Other DDL (CREATE TABLE, DROP, ALTER, etc.): Ignored (returns null). * * @param ast The SQL component to convert * @param options Options for conversion (fixtures, table definitions, etc.) * @returns The converted SqlComponent or null if the statement should be ignored. */ static convert(ast: SqlComponent, options?: SimulatedSelectOptions): SqlComponent | null; }