UNPKG

@decaf-ts/for-postgres

Version:
35 lines (34 loc) 1.47 kB
import { GroupOperator, Operator } from "@decaf-ts/core"; import { SQLOperator } from "../types"; /** * @description Translates core operators to PostgreSQL SQL operators * @summary Converts Decaf.ts core operators to their equivalent PostgreSQL SQL operators * @param {GroupOperator | Operator} operator - The core operator to translate * @return {SQLOperator | string} The equivalent PostgreSQL SQL operator * @throws {QueryError} If no translation exists for the given operator * @function translateOperators * @memberOf module:for-postgres * @mermaid * sequenceDiagram * participant Caller * participant translateOperators * participant PostgreSQLOperator * participant PostgreSQLGroupOperator * * Caller->>translateOperators: operator * * translateOperators->>PostgreSQLOperator: Check for match * alt Found in PostgreSQLOperator * PostgreSQLOperator-->>translateOperators: Return matching operator * translateOperators-->>Caller: Return SQLOperator * else Not found * translateOperators->>PostgreSQLGroupOperator: Check for match * alt Found in PostgreSQLGroupOperator * PostgreSQLGroupOperator-->>translateOperators: Return matching operator * translateOperators-->>Caller: Return string * else Not found * translateOperators-->>Caller: Throw QueryError * end * end */ export declare function translateOperators(operator: GroupOperator | Operator): SQLOperator | string;