UNPKG

rawsql-ts

Version:

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

33 lines (32 loc) 1.45 kB
import { SqlComponent } from "../models/SqlComponent"; /** * Utility class for detecting hardcoded parameters in SQL queries. * * This class helps identify existing ParameterExpression nodes in parsed SQL, * which represent hardcoded parameters like :param_name in the original SQL. */ export declare class ParameterDetector { /** * Extracts all hardcoded parameter names from a parsed SQL query. * @param query The parsed SQL query (must be a SqlComponent) * @returns Array of parameter names found in the query */ static extractParameterNames(query: SqlComponent): string[]; /** * Checks if a parameter with the given name exists in the query. * @param query The parsed SQL query (must be a SqlComponent) * @param parameterName The parameter name to check * @returns True if the parameter exists, false otherwise */ static hasParameter(query: SqlComponent, parameterName: string): boolean; /** * Separates filter options into hardcoded parameters and dynamic column filters. * @param query The parsed SQL query (must be a SqlComponent) * @param filter The filter object from DynamicQueryBuilder options * @returns Object with separated hardcoded and dynamic filters */ static separateFilters(query: SqlComponent, filter: Record<string, any>): { hardcodedParams: Record<string, any>; dynamicFilters: Record<string, any>; }; }