Actualizacion maquina principal
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / flat-cache / utils.js
diff --git a/.config/coc/extensions/node_modules/coc-prettier/node_modules/flat-cache/utils.js b/.config/coc/extensions/node_modules/coc-prettier/node_modules/flat-cache/utils.js
new file mode 100644 (file)
index 0000000..1c44db9
--- /dev/null
@@ -0,0 +1,39 @@
+var fs = require( 'fs' );
+var write = require( 'write' );
+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 ) {
+    write.sync( filePath, flatted.stringify( data ) );
+  }
+};