* Serializes a cell for CSV. Only string cells are formula-neutralized; numbers, * booleans, dates, and JSON objects can never form a trigger and pass through verbatim.
(value: unknown)
| 125 | * booleans, dates, and JSON objects can never form a trigger and pass through verbatim. |
| 126 | */ |
| 127 | function formatCsvValue(value: unknown): string { |
| 128 | if (value === null || value === undefined) return '' |
| 129 | if (value instanceof Date) return value.toISOString() |
| 130 | if (typeof value === 'object') return JSON.stringify(value) |
| 131 | if (typeof value === 'string') return neutralizeCsvFormula(value) |
| 132 | return String(value) |
| 133 | } |
| 134 | |
| 135 | function toCsvRow(values: string[]): string { |
| 136 | return values.map(escapeCsvField).join(',') |
no test coverage detected