Skip to content
8 changes: 8 additions & 0 deletions apps/web/lib/analytics/utils/convert-to-csv.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
import { json2csv } from "json-2-csv";

const FORMULA_TRIGGER_CHARS = /^[=+\-@\t\r]/;
const neutralizeFormula = (value: string) =>
FORMULA_TRIGGER_CHARS.test(value) ? `'${value}` : value;
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Outdated

export const convertToCSV = (data: object[]) => {
return json2csv(data, {
parseValue(fieldValue, defaultParser) {
Expand All @@ -11,6 +15,10 @@ export const convertToCSV = (data: object[]) => {
return fieldValue.toISOString();
}

if (typeof fieldValue === "string") {
return defaultParser(neutralizeFormula(fieldValue));
}

return defaultParser(fieldValue);
},
});
Expand Down
Loading