12 lines
331 B
TypeScript
12 lines
331 B
TypeScript
export function csvEscape(value: unknown): string {
|
|
const s = value == null ? "" : String(value)
|
|
if (/[",\n]/.test(s)) {
|
|
return '"' + s.replace(/"/g, '""') + '"'
|
|
}
|
|
return s
|
|
}
|
|
|
|
export function rowsToCsv(rows: Array<Array<unknown>>): string {
|
|
return rows.map((row) => row.map(csvEscape).join(",")).join("\n") + "\n"
|
|
}
|
|
|