import { sqlName, sqlStringLiteral } from "./sql-safe"; type Param = { /** * An already validated and quoted column reference */ field: string; alias: string; separator?: string; distinct?: boolean; }; export default function sqlGenGrabConcatStr({ alias, field, separator = ",", distinct, }: Param) { let gc = `GROUP_CONCAT(`; if (distinct) { gc += `DISTINCT `; } gc += field; if (!distinct) { gc += `, ${sqlStringLiteral(String(separator))}`; } gc += `)`; gc += ` AS ${sqlName(alias, "alias")}`; return gc; }