Sha256: 201c10555cf3a16584966d235c03815bc8192b96230ef66b4a3f0ee33efd261d

Contents?: true

Size: 966 Bytes

Versions: 28

Compression:

Stored size: 966 Bytes

Contents

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));
  },
};

Version data entries

28 entries across 28 versions & 3 rubygems

Version Path
immosquare-cleaner-0.1.12 node_modules/flat-cache/src/utils.js
immosquare-cleaner-0.1.11 node_modules/flat-cache/src/utils.js
immosquare-cleaner-0.1.10 node_modules/flat-cache/src/utils.js
immosquare-cleaner-0.1.9 node_modules/flat-cache/src/utils.js
immosquare-cleaner-0.1.8 node_modules/flat-cache/src/utils.js
immosquare-cleaner-0.1.7 node_modules/flat-cache/src/utils.js
immosquare-cleaner-0.1.6 node_modules/flat-cache/src/utils.js
decidim-0.26.8 packages/eslint-config/node_modules/flat-cache/src/utils.js