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