enigma-gendiff
Version:
43 lines (28 loc) • 3.61 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _fs = _interopRequireDefault(require("fs"));
var _path = _interopRequireDefault(require("path"));
var _formatters = _interopRequireDefault(require("./formatters"));
var _parsers = _interopRequireDefault(require("./parsers"));
var _buildAst2 = _interopRequireDefault(require("./build-ast"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const getFileContent = (filepath, extName) => {
var _fs$readFileSync;
return _fs$readFileSync = _fs.default.readFileSync(filepath, 'utf-8'), (0, _parsers.default)(_fs$readFileSync, extName);
};
var _default = (firstFilepath, secondFilepath, format = 'diff') => {
var _buildAst;
const firstExtName = _path.default.extname(firstFilepath);
const secondExtName = _path.default.extname(secondFilepath);
if (firstExtName !== secondExtName) {
throw new Error('Formats are not equal');
}
const firstContent = getFileContent(firstFilepath, firstExtName);
const secondContent = getFileContent(secondFilepath, secondExtName);
return _buildAst = (0, _buildAst2.default)(firstContent, secondContent), (0, _formatters.default)(_buildAst, format);
};
exports.default = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJnZXRGaWxlQ29udGVudCIsImZpbGVwYXRoIiwiZXh0TmFtZSIsImZzIiwicmVhZEZpbGVTeW5jIiwiXyIsImZpcnN0RmlsZXBhdGgiLCJzZWNvbmRGaWxlcGF0aCIsImZvcm1hdCIsImZpcnN0RXh0TmFtZSIsInBhdGgiLCJleHRuYW1lIiwic2Vjb25kRXh0TmFtZSIsIkVycm9yIiwiZmlyc3RDb250ZW50Iiwic2Vjb25kQ29udGVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBRUEsTUFBTUEsY0FBYyxHQUFHLENBQUNDLFFBQUQsRUFBV0MsT0FBWDtBQUFBOztBQUFBLDRCQUF1QkMsWUFBR0MsWUFBSCxDQUFnQkgsUUFBaEIsRUFBMEIsT0FBMUIsQ0FBdkIsRUFDWixzQkFBTUksZ0JBQU4sRUFBU0gsT0FBVCxDQURZO0FBQUEsQ0FBdkI7O2VBR2UsQ0FBQ0ksYUFBRCxFQUFnQkMsY0FBaEIsRUFBZ0NDLE1BQU0sR0FBRyxNQUF6QyxLQUFvRDtBQUFBOztBQUNqRSxRQUFNQyxZQUFZLEdBQUdDLGNBQUtDLE9BQUwsQ0FBYUwsYUFBYixDQUFyQjs7QUFDQSxRQUFNTSxhQUFhLEdBQUdGLGNBQUtDLE9BQUwsQ0FBYUosY0FBYixDQUF0Qjs7QUFFQSxNQUFJRSxZQUFZLEtBQUtHLGFBQXJCLEVBQW9DO0FBQ2xDLFVBQU0sSUFBSUMsS0FBSixDQUFVLHVCQUFWLENBQU47QUFDRDs7QUFFRCxRQUFNQyxZQUFZLEdBQUdkLGNBQWMsQ0FBQ00sYUFBRCxFQUFnQkcsWUFBaEIsQ0FBbkM7QUFDQSxRQUFNTSxhQUFhLEdBQUdmLGNBQWMsQ0FBQ08sY0FBRCxFQUFpQkssYUFBakIsQ0FBcEM7QUFFQSxxQkFBTyx3QkFBU0UsWUFBVCxFQUF1QkMsYUFBdkIsQ0FBUCxFQUNXLHlCQUFPVixTQUFQLEVBQVVHLE1BQVYsQ0FEWDtBQUVELEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgcmVuZGVyIGZyb20gJy4vZm9ybWF0dGVycyc7XG5pbXBvcnQgcGFyc2UgZnJvbSAnLi9wYXJzZXJzJztcbmltcG9ydCBidWlsZEFzdCBmcm9tICcuL2J1aWxkLWFzdCc7XG5cbmNvbnN0IGdldEZpbGVDb250ZW50ID0gKGZpbGVwYXRoLCBleHROYW1lKSA9PiBmcy5yZWFkRmlsZVN5bmMoZmlsZXBhdGgsICd1dGYtOCcpXG4gIHw+IChfID0+IHBhcnNlKF8sIGV4dE5hbWUpKTtcblxuZXhwb3J0IGRlZmF1bHQgKGZpcnN0RmlsZXBhdGgsIHNlY29uZEZpbGVwYXRoLCBmb3JtYXQgPSAnZGlmZicpID0+IHtcbiAgY29uc3QgZmlyc3RFeHROYW1lID0gcGF0aC5leHRuYW1lKGZpcnN0RmlsZXBhdGgpO1xuICBjb25zdCBzZWNvbmRFeHROYW1lID0gcGF0aC5leHRuYW1lKHNlY29uZEZpbGVwYXRoKTtcblxuICBpZiAoZmlyc3RFeHROYW1lICE9PSBzZWNvbmRFeHROYW1lKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdGb3JtYXRzIGFyZSBub3QgZXF1YWwnKTtcbiAgfVxuXG4gIGNvbnN0IGZpcnN0Q29udGVudCA9IGdldEZpbGVDb250ZW50KGZpcnN0RmlsZXBhdGgsIGZpcnN0RXh0TmFtZSk7XG4gIGNvbnN0IHNlY29uZENvbnRlbnQgPSBnZXRGaWxlQ29udGVudChzZWNvbmRGaWxlcGF0aCwgc2Vjb25kRXh0TmFtZSk7XG5cbiAgcmV0dXJuIGJ1aWxkQXN0KGZpcnN0Q29udGVudCwgc2Vjb25kQ29udGVudClcbiAgICB8PiAoXyA9PiByZW5kZXIoXywgZm9ybWF0KSk7XG59O1xuIl19