nmvikings_gendiff
Version:
Compares two configuration files and shows a difference.
44 lines (28 loc) • 3.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
var _fs = require('fs');
var fs = _interopRequireWildcard(_fs);
var _ast = require('./ast');
var _ast2 = _interopRequireDefault(_ast);
var _parsers = require('./parsers');
var _parsers2 = _interopRequireDefault(_parsers);
var _renders = require('./renders');
var _renders2 = _interopRequireDefault(_renders);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
var genDiff = function genDiff(path1, path2, format) {
var _map = [path1, path2].map(function (p) {
return (0, _parsers2.default)(p)(fs.readFileSync(p, 'utf-8'));
}),
_map2 = _slicedToArray(_map, 2),
json1 = _map2[0],
json2 = _map2[1];
var ast = (0, _ast2.default)(json1, json2);
var render = (0, _renders2.default)(format);
return render(ast);
};
exports.default = genDiff;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJmcyIsImdlbkRpZmYiLCJwYXRoMSIsInBhdGgyIiwiZm9ybWF0IiwibWFwIiwicCIsInJlYWRGaWxlU3luYyIsImpzb24xIiwianNvbjIiLCJhc3QiLCJyZW5kZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7O0lBQVlBLEU7O0FBRVo7Ozs7QUFDQTs7OztBQUNBOzs7Ozs7OztBQUVBLElBQU1DLFVBQVUsU0FBVkEsT0FBVSxDQUFDQyxLQUFELEVBQVFDLEtBQVIsRUFBZUMsTUFBZixFQUEwQjtBQUFBLGFBQ2pCLENBQUNGLEtBQUQsRUFBUUMsS0FBUixFQUFlRSxHQUFmLENBQW1CO0FBQUEsV0FBSyx1QkFBVUMsQ0FBVixFQUFhTixHQUFHTyxZQUFILENBQWdCRCxDQUFoQixFQUFtQixPQUFuQixDQUFiLENBQUw7QUFBQSxHQUFuQixDQURpQjtBQUFBO0FBQUEsTUFDakNFLEtBRGlDO0FBQUEsTUFDMUJDLEtBRDBCOztBQUV4QyxNQUFNQyxNQUFNLG1CQUFPRixLQUFQLEVBQWNDLEtBQWQsQ0FBWjtBQUNBLE1BQU1FLFNBQVMsdUJBQVVQLE1BQVYsQ0FBZjs7QUFFQSxTQUFPTyxPQUFPRCxHQUFQLENBQVA7QUFDRCxDQU5EOztrQkFRZVQsTyIsImZpbGUiOiJpbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcblxuaW1wb3J0IGdlbkFzdCBmcm9tICcuL2FzdCc7XG5pbXBvcnQgZ2V0UGFyc2VyIGZyb20gJy4vcGFyc2Vycyc7XG5pbXBvcnQgZ2V0UmVuZGVyIGZyb20gJy4vcmVuZGVycyc7XG5cbmNvbnN0IGdlbkRpZmYgPSAocGF0aDEsIHBhdGgyLCBmb3JtYXQpID0+IHtcbiAgY29uc3QgW2pzb24xLCBqc29uMl0gPSBbcGF0aDEsIHBhdGgyXS5tYXAocCA9PiBnZXRQYXJzZXIocCkoZnMucmVhZEZpbGVTeW5jKHAsICd1dGYtOCcpKSk7XG4gIGNvbnN0IGFzdCA9IGdlbkFzdChqc29uMSwganNvbjIpO1xuICBjb25zdCByZW5kZXIgPSBnZXRSZW5kZXIoZm9ybWF0KTtcblxuICByZXR1cm4gcmVuZGVyKGFzdCk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBnZW5EaWZmO1xuIl19