UNPKG

compare-files

Version:
67 lines (53 loc) 6.2 kB
'use strict'; 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 _lodash = require('lodash'); var _lodash2 = _interopRequireDefault(_lodash); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } var render = function render(ast) { var valToStr = function valToStr(value) { if (value instanceof Object) { return 'complex value'; } return '\'' + value + '\''; }; var toStr = function toStr(node) { var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; if (_lodash2.default.isArray(node)) { var _node = _slicedToArray(node, 2), _node$ = _node[0], before = _node$.before, _key = _node$.key, _after = _node[1].after; return 'Property \'' + [].concat(_toConsumableArray(path), [_key]).join('.') + '\' was updated from ' + valToStr(before) + ' to ' + valToStr(_after); } var key = node.key, type = node.type, after = node.after, children = node.children; switch (type) { case 'nested': return children.map(function (n) { return toStr(n, [].concat(_toConsumableArray(path), [key])); }).filter(function (row) { return row !== ''; }).join('\n'); case 'unchanged': return ''; case 'added': return 'Property \'' + [].concat(_toConsumableArray(path), [key]).join('.') + '\' was added with ' + valToStr(after); case 'deleted': return 'Property \'' + [].concat(_toConsumableArray(path), [key]).join('.') + '\' was removed'; default: return ''; } }; return ast.map(toStr).filter(function (row) { return row !== ''; }).join('\n'); }; exports.default = render; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZW5kZXJlcnMvcGxhaW4uanMiXSwibmFtZXMiOlsicmVuZGVyIiwiYXN0IiwidmFsVG9TdHIiLCJ2YWx1ZSIsIk9iamVjdCIsInRvU3RyIiwibm9kZSIsInBhdGgiLCJpc0FycmF5IiwiYmVmb3JlIiwia2V5IiwiYWZ0ZXIiLCJqb2luIiwidHlwZSIsImNoaWxkcmVuIiwibWFwIiwibiIsImZpbHRlciIsInJvdyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTs7Ozs7Ozs7QUFFQSxJQUFNQSxTQUFTLFNBQVRBLE1BQVMsQ0FBQ0MsR0FBRCxFQUFTO0FBQ3RCLE1BQU1DLFdBQVcsU0FBWEEsUUFBVyxDQUFDQyxLQUFELEVBQVc7QUFDMUIsUUFBSUEsaUJBQWlCQyxNQUFyQixFQUE2QjtBQUMzQixhQUFPLGVBQVA7QUFDRDtBQUNELGtCQUFXRCxLQUFYO0FBQ0QsR0FMRDs7QUFPQSxNQUFNRSxRQUFRLFNBQVJBLEtBQVEsQ0FBQ0MsSUFBRCxFQUFxQjtBQUFBLFFBQWRDLElBQWMsdUVBQVAsRUFBTzs7QUFDakMsUUFBSSxpQkFBRUMsT0FBRixDQUFVRixJQUFWLENBQUosRUFBcUI7QUFBQSxpQ0FDa0JBLElBRGxCO0FBQUE7QUFBQSxVQUNWRyxNQURVLFVBQ1ZBLE1BRFU7QUFBQSxVQUNGQyxJQURFLFVBQ0ZBLEdBREU7QUFBQSxVQUNPQyxNQURQLFlBQ09BLEtBRFA7O0FBRW5CLDZCQUFvQiw2QkFBSUosSUFBSixJQUFVRyxJQUFWLEdBQWVFLElBQWYsQ0FBb0IsR0FBcEIsQ0FBcEIsNEJBQWtFVixTQUFTTyxNQUFULENBQWxFLFlBQXlGUCxTQUFTUyxNQUFULENBQXpGO0FBQ0Q7O0FBSmdDLFFBTy9CRCxHQVArQixHQVE3QkosSUFSNkIsQ0FPL0JJLEdBUCtCO0FBQUEsUUFPMUJHLElBUDBCLEdBUTdCUCxJQVI2QixDQU8xQk8sSUFQMEI7QUFBQSxRQU9wQkYsS0FQb0IsR0FRN0JMLElBUjZCLENBT3BCSyxLQVBvQjtBQUFBLFFBT2JHLFFBUGEsR0FRN0JSLElBUjZCLENBT2JRLFFBUGE7O0FBU2pDLFlBQVFELElBQVI7QUFDRSxXQUFLLFFBQUw7QUFDRSxlQUFPQyxTQUFTQyxHQUFULENBQWE7QUFBQSxpQkFBS1YsTUFBTVcsQ0FBTiwrQkFBYVQsSUFBYixJQUFtQkcsR0FBbkIsR0FBTDtBQUFBLFNBQWIsRUFDSk8sTUFESSxDQUNHO0FBQUEsaUJBQU9DLFFBQVEsRUFBZjtBQUFBLFNBREgsRUFFSk4sSUFGSSxDQUVDLElBRkQsQ0FBUDtBQUdGLFdBQUssV0FBTDtBQUNFLGVBQU8sRUFBUDtBQUNGLFdBQUssT0FBTDtBQUNFLCtCQUFvQiw2QkFBSUwsSUFBSixJQUFVRyxHQUFWLEdBQWVFLElBQWYsQ0FBb0IsR0FBcEIsQ0FBcEIsMEJBQWdFVixTQUFTUyxLQUFULENBQWhFO0FBQ0YsV0FBSyxTQUFMO0FBQ0UsK0JBQW9CLDZCQUFJSixJQUFKLElBQVVHLEdBQVYsR0FBZUUsSUFBZixDQUFvQixHQUFwQixDQUFwQjtBQUNGO0FBQ0UsZUFBTyxFQUFQO0FBWko7QUFjRCxHQXZCRDs7QUF5QkEsU0FBT1gsSUFBSWMsR0FBSixDQUFRVixLQUFSLEVBQWVZLE1BQWYsQ0FBc0I7QUFBQSxXQUFPQyxRQUFRLEVBQWY7QUFBQSxHQUF0QixFQUF5Q04sSUFBekMsQ0FBOEMsSUFBOUMsQ0FBUDtBQUNELENBbENEOztrQkFvQ2VaLE0iLCJmaWxlIjoicGxhaW4uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5jb25zdCByZW5kZXIgPSAoYXN0KSA9PiB7XG4gIGNvbnN0IHZhbFRvU3RyID0gKHZhbHVlKSA9PiB7XG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgT2JqZWN0KSB7XG4gICAgICByZXR1cm4gJ2NvbXBsZXggdmFsdWUnO1xuICAgIH1cbiAgICByZXR1cm4gYCcke3ZhbHVlfSdgO1xuICB9O1xuXG4gIGNvbnN0IHRvU3RyID0gKG5vZGUsIHBhdGggPSBbXSkgPT4ge1xuICAgIGlmIChfLmlzQXJyYXkobm9kZSkpIHtcbiAgICAgIGNvbnN0IFt7IGJlZm9yZSwga2V5IH0sIHsgYWZ0ZXIgfV0gPSBub2RlO1xuICAgICAgcmV0dXJuIGBQcm9wZXJ0eSAnJHtbLi4ucGF0aCwga2V5XS5qb2luKCcuJyl9JyB3YXMgdXBkYXRlZCBmcm9tICR7dmFsVG9TdHIoYmVmb3JlKX0gdG8gJHt2YWxUb1N0cihhZnRlcil9YDtcbiAgICB9XG5cbiAgICBjb25zdCB7XG4gICAgICBrZXksIHR5cGUsIGFmdGVyLCBjaGlsZHJlbixcbiAgICB9ID0gbm9kZTtcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgJ25lc3RlZCc6XG4gICAgICAgIHJldHVybiBjaGlsZHJlbi5tYXAobiA9PiB0b1N0cihuLCBbLi4ucGF0aCwga2V5XSkpXG4gICAgICAgICAgLmZpbHRlcihyb3cgPT4gcm93ICE9PSAnJylcbiAgICAgICAgICAuam9pbignXFxuJyk7XG4gICAgICBjYXNlICd1bmNoYW5nZWQnOlxuICAgICAgICByZXR1cm4gJyc7XG4gICAgICBjYXNlICdhZGRlZCc6XG4gICAgICAgIHJldHVybiBgUHJvcGVydHkgJyR7Wy4uLnBhdGgsIGtleV0uam9pbignLicpfScgd2FzIGFkZGVkIHdpdGggJHt2YWxUb1N0cihhZnRlcil9YDtcbiAgICAgIGNhc2UgJ2RlbGV0ZWQnOlxuICAgICAgICByZXR1cm4gYFByb3BlcnR5ICcke1suLi5wYXRoLCBrZXldLmpvaW4oJy4nKX0nIHdhcyByZW1vdmVkYDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIGFzdC5tYXAodG9TdHIpLmZpbHRlcihyb3cgPT4gcm93ICE9PSAnJykuam9pbignXFxuJyk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCByZW5kZXI7XG4iXX0=