UNPKG

gen-diff

Version:

utility for searching differences between config files

34 lines (26 loc) 1.06 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _lodash = require('lodash'); var _lodash2 = _interopRequireDefault(_lodash); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const getValue = value => _lodash2.default.isObject(value) ? 'complex value' : `value: ${value}`; const toPlain = (node, parent) => { switch (node.type) { case 'added': return `Property '${parent}${node.key}' was added with ${getValue(node.newValue)}`; case 'removed': return `Property '${parent}${node.key}' was removed`; case 'updated': return `Property '${parent}${node.key}' was updated. From '${node.oldValue}' to '${node.newValue}'`; case 'unchanged': if (node.children) { return node.children.map(item => toPlain(item, `${parent}${node.key}.`)).filter(_lodash2.default.identity).join('\n'); } return ''; default: return 'Unknown case'; } }; exports.default = ast => ast.map(item => toPlain(item, '')).join('\n');