UNPKG

@opengis/bi

Version:

BI data visualization module

18 lines (15 loc) 1.08 kB
import path from 'node:path'; import { mkdir, readFile, writeFile } from 'node:fs/promises'; export default async function convertJSONToCSV({ filepathJSON, send = () => { }, delimiter = ';', }) { if (!filepathJSON) return null; const rows = JSON.parse(await readFile(filepathJSON) || '{}'); const values = rows.map((row) => Object.values(row).map((el) => `${el};`)); values.unshift(Object.keys(rows[0]).map((el) => `${el};`)); send('Конвертація успішно завершена. Формування файлу...'); await mkdir(path.dirname(filepathJSON), { recursive: true }); await writeFile(filepathJSON.replace('.json', '.csv'), `\ufeff${values.join('\n').replace(/;,/g, delimiter)}`, 'utf8'); send('Файл успішно сформовано. Оновіть сторінку або натисніть кнопку ще раз для завантаження. ', 1); return { message: 'Файл успішно сформовано. Натистіть кнопку ще раз для завантаження даних', status: 200 }; }