UNPKG

@ibnumardini/wilayah-indonesia

Version:

Wilayah Indonesia - A CLI tool to manage and transform Indonesian administrative data.

38 lines (33 loc) 1 kB
const fs = require("fs"); const logger = require("./logger"); exports.writeToFile = (filename, data, stream = false) => { const dirPath = filename.split("/").slice(0, -1).join("/"); fs.mkdir(dirPath, { recursive: true }, (err) => { if (err) { throw new Error(`Error creating directory ${dirPath}: ${err.message}`); } else { if (stream) { const writeStream = fs.createWriteStream(filename, { flags: "a" }); writeStream.write(data + "\n"); writeStream.end(); } else { fs.writeFile(filename, data, (err) => { if (err) { throw new Error( `Error writing to file ${filename}: ${err.message}` ); } }); } } }); }; exports.readFromFile = async (filename) => { try { const data = await fs.promises.readFile(filename, "utf8"); return JSON.parse(data); } catch (err) { logger.error(`Error reading from file ${filename}:`, err); return null; } };