Skip to content

Commit d6832a5

Browse files
authoredJan 31, 2025··
fix: quote values in tsv export when they contain syntactic characters (#314) (#315)
·
v45.1.0v21.1.1
1 parent de4a048 commit d6832a5

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed
 

‎src/components/Table/common/utils.ts‎

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -99,11 +99,16 @@ function formatDataToTSV(data: TableData[][]): string {
9999
.map((row) => {
100100
return row
101101
.map((data) => {
102-
// Concatenate array values.
103-
if (Array.isArray(data)) {
104-
return data.join(", ");
105-
}
106-
return data;
102+
// Use empty string in place of undefined and null.
103+
if (data === undefined || data === null) return "";
104+
// Convert to string.
105+
const dataString = Array.isArray(data)
106+
? data.join(", ")
107+
: String(data);
108+
// Quote if necessary.
109+
return /[\t\r\n"]/.test(dataString)
110+
? `"${dataString.replaceAll('"', '""')}"`
111+
: dataString;
107112
})
108113
.join("\t");
109114
})

0 commit comments

Comments
 (0)
Please sign in to comment.