UNPKG

excel-remastered

Version:

Enhances readability of complex nested JSON data while converting to CSV

37 lines (36 loc) 1.58 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var getHeaders_1 = __importDefault(require("./jsonToCsv/getHeaders")); var getBody_1 = __importDefault(require("./jsonToCsv/getBody")); var fs_1 = __importDefault(require("fs")); function jsonToCsv(inputData, outputCsvFile) { var jsonContent; // Check if inputData is a string (file path) or a json object if (typeof inputData === 'string') { var jsonString = fs_1.default.readFileSync(inputData, 'utf8'); jsonContent = JSON.parse(jsonString); } else if (typeof inputData === 'object') { // Convert JSON object to string jsonContent = JSON.stringify(inputData); } var _a = (0, getHeaders_1.default)(jsonContent), csvHeadersArray = _a.csvHeadersArray, headers = _a.headers; var csvBodyArray = (0, getBody_1.default)(jsonContent, headers); var csvHeaderContent = csvHeadersArray .map(function (row) { return row.join(","); }) .join("\n"); var csvBodyContent = csvBodyArray.map(function (row) { return row.join(","); }).join("\n"); var csvContent = csvHeaderContent + "\n\n" + csvBodyContent; if (outputCsvFile) { fs_1.default.writeFileSync(outputCsvFile, csvContent); return "CSV file written to ".concat(outputCsvFile); } else { return csvContent; } } var excelRemastered = { jsonToCsv: jsonToCsv }; exports.default = excelRemastered;