cl-diff-tool
Version:
command line diff tool
44 lines (36 loc) • 4.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _fp = require('lodash/fp');
var getChanges = function getChanges(value, oldValue, state) {
var currentValue = (0, _fp.isObject)(value) ? 'complex value' : value;
var prevValue = (0, _fp.isObject)(oldValue) ? 'complex value' : oldValue;
if (state === 'updated') {
return 'From ' + prevValue + ' to ' + currentValue;
}
if (state === 'added') {
return 'with value: ' + currentValue;
}
return '';
}; /* eslint-disable array-callback-return, consistent-return */
var toPlainView = function toPlainView(ast, path) {
return ast.map(function (_ref) {
var key = _ref.key,
value = _ref.value,
state = _ref.state,
oldValue = _ref.oldValue;
if (state === 'notChanged') return;
var currentPath = path ? path + '.' + key : key;
if (!state) {
return toPlainView(value, currentPath);
}
return ('Property \'' + currentPath + '\' was ' + state + '. ' + getChanges(value, oldValue, state)).trim();
}).filter(function (t) {
return t;
}).join('\n');
};
exports.default = function (ast) {
return toPlainView(ast);
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mb3JtYXRzL3BsYWluLmpzIl0sIm5hbWVzIjpbImdldENoYW5nZXMiLCJ2YWx1ZSIsIm9sZFZhbHVlIiwic3RhdGUiLCJjdXJyZW50VmFsdWUiLCJwcmV2VmFsdWUiLCJ0b1BsYWluVmlldyIsImFzdCIsInBhdGgiLCJtYXAiLCJrZXkiLCJjdXJyZW50UGF0aCIsInRyaW0iLCJmaWx0ZXIiLCJ0Iiwiam9pbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBRUE7O0FBRUEsSUFBTUEsYUFBYSxTQUFiQSxVQUFhLENBQUNDLEtBQUQsRUFBUUMsUUFBUixFQUFrQkMsS0FBbEIsRUFBNEI7QUFDN0MsTUFBTUMsZUFBZSxrQkFBU0gsS0FBVCxJQUFrQixlQUFsQixHQUFvQ0EsS0FBekQ7QUFDQSxNQUFNSSxZQUFZLGtCQUFTSCxRQUFULElBQXFCLGVBQXJCLEdBQXVDQSxRQUF6RDtBQUNBLE1BQUlDLFVBQVUsU0FBZCxFQUF5QjtBQUN2QixxQkFBZUUsU0FBZixZQUErQkQsWUFBL0I7QUFDRDtBQUNELE1BQUlELFVBQVUsT0FBZCxFQUF1QjtBQUNyQiw0QkFBc0JDLFlBQXRCO0FBQ0Q7QUFDRCxTQUFPLEVBQVA7QUFDRCxDQVZELEMsQ0FKQTs7QUFnQkEsSUFBTUUsY0FBYyxTQUFkQSxXQUFjLENBQUNDLEdBQUQsRUFBTUMsSUFBTjtBQUFBLFNBQ2xCRCxJQUFJRSxHQUFKLENBQVEsZ0JBQXFDO0FBQUEsUUFBbENDLEdBQWtDLFFBQWxDQSxHQUFrQztBQUFBLFFBQTdCVCxLQUE2QixRQUE3QkEsS0FBNkI7QUFBQSxRQUF0QkUsS0FBc0IsUUFBdEJBLEtBQXNCO0FBQUEsUUFBZkQsUUFBZSxRQUFmQSxRQUFlOztBQUMzQyxRQUFJQyxVQUFVLFlBQWQsRUFBNEI7QUFDNUIsUUFBTVEsY0FBY0gsT0FBVUEsSUFBVixTQUFrQkUsR0FBbEIsR0FBMEJBLEdBQTlDOztBQUVBLFFBQUksQ0FBQ1AsS0FBTCxFQUFZO0FBQ1YsYUFBT0csWUFBWUwsS0FBWixFQUFtQlUsV0FBbkIsQ0FBUDtBQUNEOztBQUVELFdBQU8saUJBQWFBLFdBQWIsZUFBaUNSLEtBQWpDLFVBQTJDSCxXQUFXQyxLQUFYLEVBQWtCQyxRQUFsQixFQUE0QkMsS0FBNUIsQ0FBM0MsRUFBZ0ZTLElBQWhGLEVBQVA7QUFDRCxHQVRELEVBU0dDLE1BVEgsQ0FTVTtBQUFBLFdBQUtDLENBQUw7QUFBQSxHQVRWLEVBU2tCQyxJQVRsQixDQVN1QixJQVR2QixDQURrQjtBQUFBLENBQXBCOztrQkFZZTtBQUFBLFNBQU9ULFlBQVlDLEdBQVosQ0FBUDtBQUFBLEMiLCJmaWxlIjoicGxhaW4uanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBhcnJheS1jYWxsYmFjay1yZXR1cm4sIGNvbnNpc3RlbnQtcmV0dXJuICovXG5cbmltcG9ydCB7IGlzT2JqZWN0IH0gZnJvbSAnbG9kYXNoL2ZwJztcblxuY29uc3QgZ2V0Q2hhbmdlcyA9ICh2YWx1ZSwgb2xkVmFsdWUsIHN0YXRlKSA9PiB7XG4gIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGlzT2JqZWN0KHZhbHVlKSA/ICdjb21wbGV4IHZhbHVlJyA6IHZhbHVlO1xuICBjb25zdCBwcmV2VmFsdWUgPSBpc09iamVjdChvbGRWYWx1ZSkgPyAnY29tcGxleCB2YWx1ZScgOiBvbGRWYWx1ZTtcbiAgaWYgKHN0YXRlID09PSAndXBkYXRlZCcpIHtcbiAgICByZXR1cm4gYEZyb20gJHtwcmV2VmFsdWV9IHRvICR7Y3VycmVudFZhbHVlfWA7XG4gIH1cbiAgaWYgKHN0YXRlID09PSAnYWRkZWQnKSB7XG4gICAgcmV0dXJuIGB3aXRoIHZhbHVlOiAke2N1cnJlbnRWYWx1ZX1gO1xuICB9XG4gIHJldHVybiAnJztcbn07XG5cbmNvbnN0IHRvUGxhaW5WaWV3ID0gKGFzdCwgcGF0aCkgPT5cbiAgYXN0Lm1hcCgoeyBrZXksIHZhbHVlLCBzdGF0ZSwgb2xkVmFsdWUgfSkgPT4ge1xuICAgIGlmIChzdGF0ZSA9PT0gJ25vdENoYW5nZWQnKSByZXR1cm47XG4gICAgY29uc3QgY3VycmVudFBhdGggPSBwYXRoID8gYCR7cGF0aH0uJHtrZXl9YCA6IGtleTtcblxuICAgIGlmICghc3RhdGUpIHtcbiAgICAgIHJldHVybiB0b1BsYWluVmlldyh2YWx1ZSwgY3VycmVudFBhdGgpO1xuICAgIH1cblxuICAgIHJldHVybiBgUHJvcGVydHkgJyR7Y3VycmVudFBhdGh9JyB3YXMgJHtzdGF0ZX0uICR7Z2V0Q2hhbmdlcyh2YWx1ZSwgb2xkVmFsdWUsIHN0YXRlKX1gLnRyaW0oKTtcbiAgfSkuZmlsdGVyKHQgPT4gdCkuam9pbignXFxuJyk7XG5cbmV4cG9ydCBkZWZhdWx0IGFzdCA9PiB0b1BsYWluVmlldyhhc3QpO1xuIl19