UNPKG

cl-diff-tool

Version:
38 lines (31 loc) 4.88 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); 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 createRow = function createRow(key, value) { var sign = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ' '; return '\n\t' + sign + ' ' + key + ': ' + value; }; var getNewKeys = function getNewKeys(firstConfig, secondConfig) { return Object.keys(secondConfig).filter(function (key) { return Object.keys(firstConfig).indexOf(key) === -1; }); }; exports.default = function (firstConfig, secondConfig) { var newKeys = getNewKeys(firstConfig, secondConfig); var differences = Object.keys(firstConfig).reduce(function (acc, key) { if (!Object.hasOwnProperty.call(secondConfig, key)) { return [].concat(_toConsumableArray(acc), [createRow(key, firstConfig[key], '-')]); } if (secondConfig[key] === firstConfig[key]) { return [].concat(_toConsumableArray(acc), [createRow(key, firstConfig[key])]); } return [].concat(_toConsumableArray(acc), [createRow(key, secondConfig[key], '+'), createRow(key, firstConfig[key], '-')]); }, []); var totalDifferences = newKeys.reduce(function (acc, key) { return [].concat(_toConsumableArray(acc), [createRow(key, secondConfig[key], '+')]); }, differences); return '{' + totalDifferences.join('') + '\n}'; }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaWZmL2pzb24uanMiXSwibmFtZXMiOlsiY3JlYXRlUm93Iiwia2V5IiwidmFsdWUiLCJzaWduIiwiZ2V0TmV3S2V5cyIsImZpcnN0Q29uZmlnIiwic2Vjb25kQ29uZmlnIiwiT2JqZWN0Iiwia2V5cyIsImZpbHRlciIsImluZGV4T2YiLCJuZXdLZXlzIiwiZGlmZmVyZW5jZXMiLCJyZWR1Y2UiLCJhY2MiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJ0b3RhbERpZmZlcmVuY2VzIiwiam9pbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFNQSxZQUFZLFNBQVpBLFNBQVksQ0FBQ0MsR0FBRCxFQUFNQyxLQUFOO0FBQUEsTUFBYUMsSUFBYix1RUFBb0IsR0FBcEI7QUFBQSxrQkFDVEEsSUFEUyxTQUNERixHQURDLFVBQ09DLEtBRFA7QUFBQSxDQUFsQjs7QUFHQSxJQUFNRSxhQUFhLFNBQWJBLFVBQWEsQ0FBQ0MsV0FBRCxFQUFjQyxZQUFkO0FBQUEsU0FDakJDLE9BQU9DLElBQVAsQ0FBWUYsWUFBWixFQUEwQkcsTUFBMUIsQ0FBaUM7QUFBQSxXQUMvQkYsT0FBT0MsSUFBUCxDQUFZSCxXQUFaLEVBQXlCSyxPQUF6QixDQUFpQ1QsR0FBakMsTUFBMEMsQ0FBQyxDQURaO0FBQUEsR0FBakMsQ0FEaUI7QUFBQSxDQUFuQjs7a0JBSWUsVUFBQ0ksV0FBRCxFQUFjQyxZQUFkLEVBQStCO0FBQzVDLE1BQU1LLFVBQVVQLFdBQVdDLFdBQVgsRUFBd0JDLFlBQXhCLENBQWhCO0FBQ0EsTUFBTU0sY0FBY0wsT0FBT0MsSUFBUCxDQUFZSCxXQUFaLEVBQ2pCUSxNQURpQixDQUNWLFVBQUNDLEdBQUQsRUFBTWIsR0FBTixFQUFjO0FBQ3BCLFFBQUksQ0FBQ00sT0FBT1EsY0FBUCxDQUFzQkMsSUFBdEIsQ0FBMkJWLFlBQTNCLEVBQXlDTCxHQUF6QyxDQUFMLEVBQW9EO0FBQ2xELDBDQUFXYSxHQUFYLElBQWdCZCxVQUFVQyxHQUFWLEVBQWVJLFlBQVlKLEdBQVosQ0FBZixFQUFpQyxHQUFqQyxDQUFoQjtBQUNEO0FBQ0QsUUFBSUssYUFBYUwsR0FBYixNQUFzQkksWUFBWUosR0FBWixDQUExQixFQUE0QztBQUMxQywwQ0FBV2EsR0FBWCxJQUFnQmQsVUFBVUMsR0FBVixFQUFlSSxZQUFZSixHQUFaLENBQWYsQ0FBaEI7QUFDRDtBQUNELHdDQUNLYSxHQURMLElBRUVkLFVBQVVDLEdBQVYsRUFBZUssYUFBYUwsR0FBYixDQUFmLEVBQWtDLEdBQWxDLENBRkYsRUFHRUQsVUFBVUMsR0FBVixFQUFlSSxZQUFZSixHQUFaLENBQWYsRUFBaUMsR0FBakMsQ0FIRjtBQUtELEdBYmlCLEVBYWYsRUFiZSxDQUFwQjs7QUFlQSxNQUFNZ0IsbUJBQW1CTixRQUFRRSxNQUFSLENBQWUsVUFBQ0MsR0FBRCxFQUFNYixHQUFOO0FBQUEsd0NBQ2pDYSxHQURpQyxJQUM1QmQsVUFBVUMsR0FBVixFQUFlSyxhQUFhTCxHQUFiLENBQWYsRUFBa0MsR0FBbEMsQ0FENEI7QUFBQSxHQUFmLEVBQzZCVyxXQUQ3QixDQUF6Qjs7QUFHQSxlQUFXSyxpQkFBaUJDLElBQWpCLENBQXNCLEVBQXRCLENBQVg7QUFDRCxDIiwiZmlsZSI6Impzb24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBjcmVhdGVSb3cgPSAoa2V5LCB2YWx1ZSwgc2lnbiA9ICcgJykgPT5cbiAgYFxcblxcdCR7c2lnbn0gJHtrZXl9OiAke3ZhbHVlfWA7XG5cbmNvbnN0IGdldE5ld0tleXMgPSAoZmlyc3RDb25maWcsIHNlY29uZENvbmZpZykgPT5cbiAgT2JqZWN0LmtleXMoc2Vjb25kQ29uZmlnKS5maWx0ZXIoa2V5ID0+XG4gICAgT2JqZWN0LmtleXMoZmlyc3RDb25maWcpLmluZGV4T2Yoa2V5KSA9PT0gLTEpO1xuXG5leHBvcnQgZGVmYXVsdCAoZmlyc3RDb25maWcsIHNlY29uZENvbmZpZykgPT4ge1xuICBjb25zdCBuZXdLZXlzID0gZ2V0TmV3S2V5cyhmaXJzdENvbmZpZywgc2Vjb25kQ29uZmlnKTtcbiAgY29uc3QgZGlmZmVyZW5jZXMgPSBPYmplY3Qua2V5cyhmaXJzdENvbmZpZylcbiAgICAucmVkdWNlKChhY2MsIGtleSkgPT4ge1xuICAgICAgaWYgKCFPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChzZWNvbmRDb25maWcsIGtleSkpIHtcbiAgICAgICAgcmV0dXJuIFsuLi5hY2MsIGNyZWF0ZVJvdyhrZXksIGZpcnN0Q29uZmlnW2tleV0sICctJyldO1xuICAgICAgfVxuICAgICAgaWYgKHNlY29uZENvbmZpZ1trZXldID09PSBmaXJzdENvbmZpZ1trZXldKSB7XG4gICAgICAgIHJldHVybiBbLi4uYWNjLCBjcmVhdGVSb3coa2V5LCBmaXJzdENvbmZpZ1trZXldKV07XG4gICAgICB9XG4gICAgICByZXR1cm4gW1xuICAgICAgICAuLi5hY2MsXG4gICAgICAgIGNyZWF0ZVJvdyhrZXksIHNlY29uZENvbmZpZ1trZXldLCAnKycpLFxuICAgICAgICBjcmVhdGVSb3coa2V5LCBmaXJzdENvbmZpZ1trZXldLCAnLScpLFxuICAgICAgXTtcbiAgICB9LCBbXSk7XG5cbiAgY29uc3QgdG90YWxEaWZmZXJlbmNlcyA9IG5ld0tleXMucmVkdWNlKChhY2MsIGtleSkgPT5cbiAgICAoWy4uLmFjYywgY3JlYXRlUm93KGtleSwgc2Vjb25kQ29uZmlnW2tleV0sICcrJyldKSwgZGlmZmVyZW5jZXMpO1xuXG4gIHJldHVybiBgeyR7dG90YWxEaWZmZXJlbmNlcy5qb2luKCcnKX1cXG59YDtcbn07XG4iXX0=