You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
var fs = require('fs');var path = require('path');var flatted = require('flatted');
module.exports = { tryParse: function (filePath, defaultValue) { var result; try { result = this.readJSON(filePath); } catch (ex) { result = defaultValue; } return result; },
/** * Read json file synchronously using flatted * * @method readJSON * @param {String} filePath Json filepath * @returns {*} parse result */ readJSON: function (filePath) { return flatted.parse( fs.readFileSync(filePath, { encoding: 'utf8', }) ); },
/** * Write json file synchronously using circular-json * * @method writeJSON * @param {String} filePath Json filepath * @param {*} data Object to serialize */ writeJSON: function (filePath, data) { fs.mkdirSync(path.dirname(filePath), { recursive: true, }); fs.writeFileSync(filePath, flatted.stringify(data)); },};
|