ae-biu
Version:
Born For AE, Born To Do
92 lines (69 loc) • 2.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.readJSONFileSync = exports.readJSONFile = undefined;
var _regenerator = require('babel-runtime/regenerator');
var _regenerator2 = _interopRequireDefault(_regenerator);
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
var _fs = require('fs');
var _fs2 = _interopRequireDefault(_fs);
var _util = require('util');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var readJSONFile = exports.readJSONFile = function () {
var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee(file) {
var fileContent, data;
return _regenerator2.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
if (file) {
_context.next = 2;
break;
}
throw new Error('Invalid File Path');
case 2:
_context.prev = 2;
_context.next = 5;
return (0, _util.promisify)(_fs2.default.readFile)(file, 'utf8');
case 5:
fileContent = _context.sent;
if (fileContent) {
_context.next = 8;
break;
}
return _context.abrupt('return', {});
case 8:
_context.prev = 8;
data = JSON.parse(fileContent);
return _context.abrupt('return', data);
case 13:
_context.prev = 13;
_context.t0 = _context['catch'](8);
throw _context.t0;
case 16:
_context.next = 21;
break;
case 18:
_context.prev = 18;
_context.t1 = _context['catch'](2);
throw _context.t1;
case 21:
case 'end':
return _context.stop();
}
}
}, _callee, undefined, [[2, 18], [8, 13]]);
}));
return function readJSONFile(_x) {
return _ref.apply(this, arguments);
};
}();
var readJSONFileSync = exports.readJSONFileSync = function readJSONFileSync(file) {
if (!file) {
throw new Error('Invalid File Path');
}
var fileContent = _fs2.default.readFileSync(file, 'utf8');
return JSON.parse(fileContent);
};