rawsql-ts
Version:
High-performance SQL parser and AST analyzer written in TypeScript. Provides fast parsing and advanced transformation capabilities.
17 lines (16 loc) • 1.28 kB
TypeScript
import { WhereClause } from "../models/Clause";
import { BinaryExpression, ColumnReference, ValueComponent } from "../models/ValueComponent";
import { SqlComponentFormatOptions } from "./SqlComponentFormatter";
export declare const normalizeIdentifier: (value: string) => string;
export declare const identifiersEqual: (left: string, right: string) => boolean;
export declare const unwrapParens: (expression: ValueComponent) => ValueComponent;
export declare const isBinaryOperator: (expression: ValueComponent, operator: string) => expression is BinaryExpression;
export declare const collectTopLevelAndTerms: (expression: ValueComponent) => ValueComponent[];
export declare const rebuildWhereWithoutTerms: (query: {
whereClause: WhereClause | null;
}, termsToRemove: ReadonlySet<ValueComponent>) => void;
export declare const cloneValueComponent: (expression: ValueComponent, options: SqlComponentFormatOptions) => ValueComponent;
export declare const cloneColumnReference: (reference: ColumnReference) => ColumnReference;
export declare const columnReferenceText: (reference: ColumnReference) => string;
export declare const sameColumnReference: (left: ColumnReference, right: ColumnReference) => boolean;
export declare const appendUnique: <T>(items: T[], value: T) => void;