UNPKG

gendiff-pdronenko

Version:

Compares two configuration files and shows a difference.

31 lines (22 loc) 2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _jsYaml = _interopRequireDefault(require("js-yaml")); var _ini = _interopRequireDefault(require("ini")); var _lodash = require("lodash"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const formatsParseList = { '.json': JSON.parse, '.yml': _jsYaml.default.safeLoad, '.ini': _ini.default.parse }; var _default = (data, fileExtname) => { if (!(0, _lodash.has)(formatsParseList, fileExtname)) { throw new Error(`${fileExtname} is not correct file format`); } return formatsParseList[fileExtname](data); }; exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wYXJzZXJzLmpzIl0sIm5hbWVzIjpbImZvcm1hdHNQYXJzZUxpc3QiLCJKU09OIiwicGFyc2UiLCJ5YW1sIiwic2FmZUxvYWQiLCJpbmkiLCJkYXRhIiwiZmlsZUV4dG5hbWUiLCJFcnJvciJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUNBOzs7O0FBRUEsTUFBTUEsZ0JBQWdCLEdBQUc7QUFDdkIsV0FBU0MsSUFBSSxDQUFDQyxLQURTO0FBRXZCLFVBQVFDLGdCQUFLQyxRQUZVO0FBR3ZCLFVBQVFDLGFBQUlIO0FBSFcsQ0FBekI7O2VBTWUsQ0FBQ0ksSUFBRCxFQUFPQyxXQUFQLEtBQXVCO0FBQ3BDLE1BQUksQ0FBQyxpQkFBSVAsZ0JBQUosRUFBc0JPLFdBQXRCLENBQUwsRUFBeUM7QUFDdkMsVUFBTSxJQUFJQyxLQUFKLENBQVcsR0FBRUQsV0FBWSw2QkFBekIsQ0FBTjtBQUNEOztBQUVELFNBQU9QLGdCQUFnQixDQUFDTyxXQUFELENBQWhCLENBQThCRCxJQUE5QixDQUFQO0FBQ0QsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB5YW1sIGZyb20gJ2pzLXlhbWwnO1xuaW1wb3J0IGluaSBmcm9tICdpbmknO1xuaW1wb3J0IHsgaGFzIH0gZnJvbSAnbG9kYXNoJztcblxuY29uc3QgZm9ybWF0c1BhcnNlTGlzdCA9IHtcbiAgJy5qc29uJzogSlNPTi5wYXJzZSxcbiAgJy55bWwnOiB5YW1sLnNhZmVMb2FkLFxuICAnLmluaSc6IGluaS5wYXJzZSxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IChkYXRhLCBmaWxlRXh0bmFtZSkgPT4ge1xuICBpZiAoIWhhcyhmb3JtYXRzUGFyc2VMaXN0LCBmaWxlRXh0bmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYCR7ZmlsZUV4dG5hbWV9IGlzIG5vdCBjb3JyZWN0IGZpbGUgZm9ybWF0YCk7XG4gIH1cblxuICByZXR1cm4gZm9ybWF0c1BhcnNlTGlzdFtmaWxlRXh0bmFtZV0oZGF0YSk7XG59O1xuIl19