gendiff-ver2
Version:
gendiff project lvl 2
51 lines (46 loc) • 5.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var stringify = function stringify(elem) {
if (elem instanceof Object) {
var result = JSON.stringify(elem).replace(/["]/g, '');
return '' + result.slice(1, -1);
}
return '' + elem;
};
var checkValue = function checkValue(obj) {
if (obj instanceof Object) {
return 'complex value';
}
return 'value: ' + stringify(obj);
};
var checkParam = function checkParam(param) {
if (param === '') {
return '';
}
return param + '.';
};
var getPlain = function getPlain(ast) {
var param = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
var result = ast.map(function (obj) {
if (obj.type === 'changed') {
return 'Property \'' + checkParam(param) + obj.body.key + '\' was updated. From \'' + stringify(obj.body.oldValue) + '\' to \'' + stringify(obj.body.newValue) + '\'';
}
if (obj.type === 'deleted') {
return 'Property \'' + checkParam(param) + obj.body.key + '\' was removed';
}
if (obj.type === 'add') {
return 'Property \'' + checkParam(param) + obj.body.key + '\' was added with ' + checkValue(obj.body.oldValue);
}
if (obj.type === 'children') {
return getPlain(obj.body.oldValue, obj.body.key);
}
return '';
});
return result.filter(function (el) {
return el !== '';
}).join('\n');
};
exports.default = getPlain;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mb3JtYXRzL3BsYWluLmpzIl0sIm5hbWVzIjpbInN0cmluZ2lmeSIsImVsZW0iLCJPYmplY3QiLCJyZXN1bHQiLCJKU09OIiwicmVwbGFjZSIsInNsaWNlIiwiY2hlY2tWYWx1ZSIsIm9iaiIsImNoZWNrUGFyYW0iLCJwYXJhbSIsImdldFBsYWluIiwiYXN0IiwibWFwIiwidHlwZSIsImJvZHkiLCJrZXkiLCJvbGRWYWx1ZSIsIm5ld1ZhbHVlIiwiZmlsdGVyIiwiZWwiLCJqb2luIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFBLElBQU1BLFlBQVksU0FBWkEsU0FBWSxDQUFDQyxJQUFELEVBQVU7QUFDMUIsTUFBSUEsZ0JBQWdCQyxNQUFwQixFQUE0QjtBQUMxQixRQUFNQyxTQUFTQyxLQUFLSixTQUFMLENBQWVDLElBQWYsRUFBcUJJLE9BQXJCLENBQTZCLE1BQTdCLEVBQXFDLEVBQXJDLENBQWY7QUFDQSxnQkFBVUYsT0FBT0csS0FBUCxDQUFhLENBQWIsRUFBZ0IsQ0FBQyxDQUFqQixDQUFWO0FBQ0Q7QUFDRCxjQUFVTCxJQUFWO0FBQ0QsQ0FORDs7QUFRQSxJQUFNTSxhQUFhLFNBQWJBLFVBQWEsQ0FBQ0MsR0FBRCxFQUFTO0FBQzFCLE1BQUlBLGVBQWVOLE1BQW5CLEVBQTJCO0FBQ3pCLFdBQU8sZUFBUDtBQUNEO0FBQ0QscUJBQWlCRixVQUFVUSxHQUFWLENBQWpCO0FBQ0QsQ0FMRDs7QUFPQSxJQUFNQyxhQUFhLFNBQWJBLFVBQWEsQ0FBQ0MsS0FBRCxFQUFXO0FBQzVCLE1BQUlBLFVBQVUsRUFBZCxFQUFrQjtBQUNoQixXQUFPLEVBQVA7QUFDRDtBQUNELFNBQVVBLEtBQVY7QUFDRCxDQUxEO0FBTUEsSUFBTUMsV0FBVyxTQUFYQSxRQUFXLENBQUNDLEdBQUQsRUFBcUI7QUFBQSxNQUFmRixLQUFlLHVFQUFQLEVBQU87O0FBQ3BDLE1BQU1QLFNBQVNTLElBQUlDLEdBQUosQ0FBUSxVQUFDTCxHQUFELEVBQVM7QUFDOUIsUUFBSUEsSUFBSU0sSUFBSixLQUFhLFNBQWpCLEVBQTRCO0FBQzFCLDZCQUFvQkwsV0FBV0MsS0FBWCxDQUFwQixHQUF3Q0YsSUFBSU8sSUFBSixDQUFTQyxHQUFqRCwrQkFBNEVoQixVQUFVUSxJQUFJTyxJQUFKLENBQVNFLFFBQW5CLENBQTVFLGdCQUFpSGpCLFVBQVVRLElBQUlPLElBQUosQ0FBU0csUUFBbkIsQ0FBakg7QUFDRDtBQUNELFFBQUlWLElBQUlNLElBQUosS0FBYSxTQUFqQixFQUE0QjtBQUMxQiw2QkFBb0JMLFdBQVdDLEtBQVgsQ0FBcEIsR0FBd0NGLElBQUlPLElBQUosQ0FBU0MsR0FBakQ7QUFDRDtBQUNELFFBQUlSLElBQUlNLElBQUosS0FBYSxLQUFqQixFQUF3QjtBQUN0Qiw2QkFBb0JMLFdBQVdDLEtBQVgsQ0FBcEIsR0FBd0NGLElBQUlPLElBQUosQ0FBU0MsR0FBakQsMEJBQXdFVCxXQUFXQyxJQUFJTyxJQUFKLENBQVNFLFFBQXBCLENBQXhFO0FBQ0Q7QUFDRCxRQUFJVCxJQUFJTSxJQUFKLEtBQWEsVUFBakIsRUFBNkI7QUFDM0IsYUFBT0gsU0FBU0gsSUFBSU8sSUFBSixDQUFTRSxRQUFsQixFQUE0QlQsSUFBSU8sSUFBSixDQUFTQyxHQUFyQyxDQUFQO0FBQ0Q7QUFDRCxXQUFPLEVBQVA7QUFDRCxHQWRjLENBQWY7QUFlQSxTQUFPYixPQUFPZ0IsTUFBUCxDQUFjO0FBQUEsV0FBTUMsT0FBTyxFQUFiO0FBQUEsR0FBZCxFQUErQkMsSUFBL0IsQ0FBb0MsSUFBcEMsQ0FBUDtBQUNELENBakJEOztrQkFvQmVWLFEiLCJmaWxlIjoicGxhaW4uanMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBzdHJpbmdpZnkgPSAoZWxlbSkgPT4ge1xuICBpZiAoZWxlbSBpbnN0YW5jZW9mIE9iamVjdCkge1xuICAgIGNvbnN0IHJlc3VsdCA9IEpTT04uc3RyaW5naWZ5KGVsZW0pLnJlcGxhY2UoL1tcIl0vZywgJycpO1xuICAgIHJldHVybiBgJHtyZXN1bHQuc2xpY2UoMSwgLTEpfWA7XG4gIH1cbiAgcmV0dXJuIGAke2VsZW19YDtcbn07XG5cbmNvbnN0IGNoZWNrVmFsdWUgPSAob2JqKSA9PiB7XG4gIGlmIChvYmogaW5zdGFuY2VvZiBPYmplY3QpIHtcbiAgICByZXR1cm4gJ2NvbXBsZXggdmFsdWUnO1xuICB9XG4gIHJldHVybiBgdmFsdWU6ICR7c3RyaW5naWZ5KG9iail9YDtcbn07XG5cbmNvbnN0IGNoZWNrUGFyYW0gPSAocGFyYW0pID0+IHtcbiAgaWYgKHBhcmFtID09PSAnJykge1xuICAgIHJldHVybiAnJztcbiAgfVxuICByZXR1cm4gYCR7cGFyYW19LmA7XG59O1xuY29uc3QgZ2V0UGxhaW4gPSAoYXN0LCBwYXJhbSA9ICcnKSA9PiB7XG4gIGNvbnN0IHJlc3VsdCA9IGFzdC5tYXAoKG9iaikgPT4ge1xuICAgIGlmIChvYmoudHlwZSA9PT0gJ2NoYW5nZWQnKSB7XG4gICAgICByZXR1cm4gYFByb3BlcnR5ICcke2NoZWNrUGFyYW0ocGFyYW0pfSR7b2JqLmJvZHkua2V5fScgd2FzIHVwZGF0ZWQuIEZyb20gJyR7c3RyaW5naWZ5KG9iai5ib2R5Lm9sZFZhbHVlKX0nIHRvICcke3N0cmluZ2lmeShvYmouYm9keS5uZXdWYWx1ZSl9J2A7XG4gICAgfVxuICAgIGlmIChvYmoudHlwZSA9PT0gJ2RlbGV0ZWQnKSB7XG4gICAgICByZXR1cm4gYFByb3BlcnR5ICcke2NoZWNrUGFyYW0ocGFyYW0pfSR7b2JqLmJvZHkua2V5fScgd2FzIHJlbW92ZWRgO1xuICAgIH1cbiAgICBpZiAob2JqLnR5cGUgPT09ICdhZGQnKSB7XG4gICAgICByZXR1cm4gYFByb3BlcnR5ICcke2NoZWNrUGFyYW0ocGFyYW0pfSR7b2JqLmJvZHkua2V5fScgd2FzIGFkZGVkIHdpdGggJHtjaGVja1ZhbHVlKG9iai5ib2R5Lm9sZFZhbHVlKX1gO1xuICAgIH1cbiAgICBpZiAob2JqLnR5cGUgPT09ICdjaGlsZHJlbicpIHtcbiAgICAgIHJldHVybiBnZXRQbGFpbihvYmouYm9keS5vbGRWYWx1ZSwgb2JqLmJvZHkua2V5KTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9KTtcbiAgcmV0dXJuIHJlc3VsdC5maWx0ZXIoZWwgPT4gZWwgIT09ICcnKS5qb2luKCdcXG4nKTtcbn07XG5cblxuZXhwb3J0IGRlZmF1bHQgZ2V0UGxhaW47XG4iXX0=