Code coverage report for lib/rules/parse.js

Statements: 80% (12 / 15)      Branches: 25% (2 / 8)      Functions: 100% (2 / 2)      Lines: 80% (12 / 15)     

All files » lib/rules/ » parse.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 441 1                 1 2         2   2       2 2 2     2                   2       1    
'use strict';
var fs = require('fs');
 
/**
 * Parse the nodemon config file, supporting both old style
 * plain text config file, and JSON version of the config
 *
 * @param  {String}   filename
 * @param  {Function} callback
 */
function parse(filename, callback) {
  var rules = {
    ignore: [],
    watch: []
  };
 
  fs.readFile(filename, 'utf8', function (err, content) {
 
    Iif (err) {
      return callback(err);
    }
 
    var json = null;
    try {
      json = JSON.parse(content);
    } catch (e) {}
 
    Iif (json !== null) {
      rules = {
        ignore: json.ignore || [],
        watch: json.watch || [],
      };
 
      return callback(null, rules);
    }
 
    // otherwise return the raw file
    return callback(null, { raw: content.split(/\n/) });
  });
}
 
module.exports = parse;