Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) Safe-mode: OFF (not secure) /var/www/html/wincloud_gateway/plugins/content-export-import/services/contentParser/ drwxr-xr-x | |
| Viewing file: Select action/file-type: const {
textIsNumber,
textToNumber,
textIsBoolean,
textToBoolean,
textIsObject,
textToObject,
} = require("./textFormats");
const CsvParser = require("csv-parse/lib/sync");
const CSV = require("csv-string");
function csvToJson(text) {
return CsvParser(text, {
delimiter: CSV.detect(text),
columns: true,
trim: true,
// Try to convert the format of the values
cast: (value) => {
if (value === "") return null;
else if (textIsNumber(value)) return textToNumber(value);
else if (textIsBoolean(value)) return textToBoolean(value);
else if (textIsObject(value)) return textToObject(value);
else return value;
},
});
}
function jsonToCsv(data, headers) {
const escapeQuote = (text) => text.replace(/\"/g, '""');
return headers
.map((header) => {
const element = data[header];
if (element === null || element == undefined) return "";
if (typeof element === "object") {
const textObject = JSON.stringify(element);
return `"${escapeQuote(textObject)}"`;
}
if (
typeof element === "string" &&
(element.includes("\n") ||
element.includes(",") ||
element.includes('"'))
) {
return `"${escapeQuote(element)}"`;
}
return element;
})
.join();
}
module.exports = {
csvToJson,
jsonToCsv,
};
|
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0052 ]-- |