1
0
Fork 0
mirror of synced 2024-06-23 08:30:31 +12:00
budibase/packages/server/src/api/controllers/view/exporters.js
2022-05-09 15:21:51 +01:00

27 lines
583 B
JavaScript

exports.csv = function (headers, rows) {
let csv = headers.map(key => `"${key}"`).join(",")
for (let row of rows) {
csv = `${csv}\n${headers
.map(header => {
let val = row[header]
val =
typeof val === "object" && !(val instanceof Date)
? `"${JSON.stringify(val).replace(/"/g, "'")}"`
: `"${val}"`
return val.trim()
})
.join(",")}`
}
return csv
}
exports.json = function (headers, rows) {
return JSON.stringify(rows, undefined, 2)
}
exports.ExportFormats = {
CSV: "csv",
JSON: "json",
}