gendiff-ver2
Version:
gendiff project lvl 2
52 lines (34 loc) • 3.77 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _fs = require('fs');
var _fs2 = _interopRequireDefault(_fs);
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _parsers = require('./parsers');
var _parsers2 = _interopRequireDefault(_parsers);
var _formats = require('./formats');
var _formats2 = _interopRequireDefault(_formats);
var _differ = require('./differ');
var _differ2 = _interopRequireDefault(_differ);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var fileToString = function fileToString(file) {
return _fs2.default.readFileSync(file, 'utf8');
};
var getExtension = function getExtension(file) {
return _path2.default.extname(file).slice(1);
};
var gendiff = function gendiff(firstConfigFile, secondConfigFile) {
var format = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'string';
var firstString = fileToString(firstConfigFile);
var secondString = fileToString(secondConfigFile);
var extension = getExtension(firstConfigFile);
var firstObj = (0, _parsers2.default)(extension)(firstString);
var secondObj = (0, _parsers2.default)(extension)(secondString);
var ast = (0, _differ2.default)(firstObj, secondObj);
var result = (0, _formats2.default)(format)(ast);
return result;
};
exports.default = gendiff;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJmaWxlVG9TdHJpbmciLCJyZWFkRmlsZVN5bmMiLCJmaWxlIiwiZ2V0RXh0ZW5zaW9uIiwiZXh0bmFtZSIsInNsaWNlIiwiZ2VuZGlmZiIsImZpcnN0Q29uZmlnRmlsZSIsInNlY29uZENvbmZpZ0ZpbGUiLCJmb3JtYXQiLCJmaXJzdFN0cmluZyIsInNlY29uZFN0cmluZyIsImV4dGVuc2lvbiIsImZpcnN0T2JqIiwic2Vjb25kT2JqIiwiYXN0IiwicmVzdWx0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7Ozs7QUFFQSxJQUFNQSxlQUFlLFNBQWZBLFlBQWU7QUFBQSxTQUFRLGFBQUdDLFlBQUgsQ0FBZ0JDLElBQWhCLEVBQXNCLE1BQXRCLENBQVI7QUFBQSxDQUFyQjs7QUFFQSxJQUFNQyxlQUFlLFNBQWZBLFlBQWU7QUFBQSxTQUFRLGVBQUtDLE9BQUwsQ0FBYUYsSUFBYixFQUFtQkcsS0FBbkIsQ0FBeUIsQ0FBekIsQ0FBUjtBQUFBLENBQXJCOztBQUVBLElBQU1DLFVBQVUsU0FBVkEsT0FBVSxDQUFDQyxlQUFELEVBQWtCQyxnQkFBbEIsRUFBMEQ7QUFBQSxNQUF0QkMsTUFBc0IsdUVBQWIsUUFBYTs7QUFDeEUsTUFBTUMsY0FBY1YsYUFBYU8sZUFBYixDQUFwQjtBQUNBLE1BQU1JLGVBQWVYLGFBQWFRLGdCQUFiLENBQXJCO0FBQ0EsTUFBTUksWUFBWVQsYUFBYUksZUFBYixDQUFsQjtBQUNBLE1BQU1NLFdBQVcsdUJBQVVELFNBQVYsRUFBcUJGLFdBQXJCLENBQWpCO0FBQ0EsTUFBTUksWUFBWSx1QkFBVUYsU0FBVixFQUFxQkQsWUFBckIsQ0FBbEI7O0FBRUEsTUFBTUksTUFBTSxzQkFBVUYsUUFBVixFQUFvQkMsU0FBcEIsQ0FBWjtBQUNBLE1BQU1FLFNBQVMsdUJBQVVQLE1BQVYsRUFBa0JNLEdBQWxCLENBQWY7QUFDQSxTQUFPQyxNQUFQO0FBQ0QsQ0FWRDs7a0JBWWVWLE8iLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgZ2V0UGFyc2VyIGZyb20gJy4vcGFyc2Vycyc7XG5pbXBvcnQgZ2V0Rm9ybWF0IGZyb20gJy4vZm9ybWF0cyc7XG5pbXBvcnQgZ2V0RGlmZmVyIGZyb20gJy4vZGlmZmVyJztcblxuY29uc3QgZmlsZVRvU3RyaW5nID0gZmlsZSA9PiBmcy5yZWFkRmlsZVN5bmMoZmlsZSwgJ3V0ZjgnKTtcblxuY29uc3QgZ2V0RXh0ZW5zaW9uID0gZmlsZSA9PiBwYXRoLmV4dG5hbWUoZmlsZSkuc2xpY2UoMSk7XG5cbmNvbnN0IGdlbmRpZmYgPSAoZmlyc3RDb25maWdGaWxlLCBzZWNvbmRDb25maWdGaWxlLCBmb3JtYXQgPSAnc3RyaW5nJykgPT4ge1xuICBjb25zdCBmaXJzdFN0cmluZyA9IGZpbGVUb1N0cmluZyhmaXJzdENvbmZpZ0ZpbGUpO1xuICBjb25zdCBzZWNvbmRTdHJpbmcgPSBmaWxlVG9TdHJpbmcoc2Vjb25kQ29uZmlnRmlsZSk7XG4gIGNvbnN0IGV4dGVuc2lvbiA9IGdldEV4dGVuc2lvbihmaXJzdENvbmZpZ0ZpbGUpO1xuICBjb25zdCBmaXJzdE9iaiA9IGdldFBhcnNlcihleHRlbnNpb24pKGZpcnN0U3RyaW5nKTtcbiAgY29uc3Qgc2Vjb25kT2JqID0gZ2V0UGFyc2VyKGV4dGVuc2lvbikoc2Vjb25kU3RyaW5nKTtcblxuICBjb25zdCBhc3QgPSBnZXREaWZmZXIoZmlyc3RPYmosIHNlY29uZE9iaik7XG4gIGNvbnN0IHJlc3VsdCA9IGdldEZvcm1hdChmb3JtYXQpKGFzdCk7XG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBnZW5kaWZmO1xuIl19