dsql-admin/dsql-app/package-shared/utils/grab-query-and-values.ts
Benjamin Toby 35fec57590 Updates
2025-01-28 19:43:16 +01:00

38 lines
1.2 KiB
TypeScript

import sqlGenerator from "../functions/dsql/sql/sql-generator";
import { ApiGetQueryObject } from "../types";
type Param<T extends { [key: string]: any } = { [key: string]: any }> = {
query: string | ApiGetQueryObject<T>;
values?: (string | number)[];
};
export default function apiGetGrabQueryAndValues<
T extends { [key: string]: any } = { [key: string]: any }
>({ query, values }: Param<T>) {
const queryGenObject =
typeof query == "string"
? undefined
: sqlGenerator({
tableName: query.table,
genObject: query.query,
dbFullName: query.dbFullName || "__db",
});
return {
query:
typeof query == "string"
? String(
query.replace(/\n|\r|\n\r/g, "").replace(/ {2,}/g, " ")
)
: queryGenObject?.string || "",
values: values || queryGenObject?.values,
valuesString:
typeof query == "string"
? values
? JSON.stringify(values)
: undefined
: queryGenObject?.values
? JSON.stringify(queryGenObject.values)
: undefined,
};
}