summaryrefslogtreecommitdiff
path: root/tools/node_modules/eslint/node_modules/flat-cache/utils.js
diff options
context:
space:
mode:
Diffstat (limited to 'tools/node_modules/eslint/node_modules/flat-cache/utils.js')
-rw-r--r--tools/node_modules/eslint/node_modules/flat-cache/utils.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/tools/node_modules/eslint/node_modules/flat-cache/utils.js b/tools/node_modules/eslint/node_modules/flat-cache/utils.js
new file mode 100644
index 0000000000..e3654d23fa
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/flat-cache/utils.js
@@ -0,0 +1,39 @@
+var fs = require( 'graceful-fs' );
+var write = require( 'write' );
+var circularJson = require( 'circular-json' );
+
+module.exports = {
+
+ tryParse: function ( filePath, defaultValue) {
+ var result;
+ try {
+ result = this.readJSON( filePath );
+ } catch (ex) {
+ result = defaultValue;
+ }
+ return result;
+ },
+
+ /**
+ * Read json file synchronously using circular-json
+ *
+ * @method readJSON
+ * @param {String} filePath Json filepath
+ * @returns {*} parse result
+ */
+ readJSON: function ( filePath ) {
+ return circularJson.parse( fs.readFileSync( filePath ).toString() );
+ },
+
+ /**
+ * 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, circularJson.stringify( data ) );
+ }
+
+};