artyoms-gendiff
Version:
my own gendiff app for study project
52 lines (38 loc) • 3.65 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _jsYaml = _interopRequireDefault(require("js-yaml"));
var _ini = _interopRequireDefault(require("ini"));
var _lodash = _interopRequireDefault(require("lodash"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const iniParse = data => {
const parsedData = _ini.default.parse(data);
const numbersToString = object => _lodash.default.keys(object).reduce((acc, key) => {
const currentValue = object[key];
if (typeof currentValue === 'number') {
const newValue = currentValue.toString();
return { ...acc,
[key]: newValue
};
}
if (_lodash.default.isObject(currentValue)) {
return { ...acc,
[key]: numbersToString(currentValue)
};
}
return { ...acc,
[key]: currentValue
};
}, {});
return numbersToString(parsedData);
};
const parsers = {
'.yml': _jsYaml.default.safeLoad,
'.json': JSON.parse,
'.ini': iniParse
};
var _default = ext => parsers[ext];
exports.default = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wYXJzZXJzLmpzIl0sIm5hbWVzIjpbImluaVBhcnNlIiwiZGF0YSIsInBhcnNlZERhdGEiLCJpbmkiLCJwYXJzZSIsIm51bWJlcnNUb1N0cmluZyIsIm9iamVjdCIsIl8iLCJrZXlzIiwicmVkdWNlIiwiYWNjIiwia2V5IiwiY3VycmVudFZhbHVlIiwibmV3VmFsdWUiLCJ0b1N0cmluZyIsImlzT2JqZWN0IiwicGFyc2VycyIsInlhbWwiLCJzYWZlTG9hZCIsIkpTT04iLCJleHQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7OztBQUVBLE1BQU1BLFFBQVEsR0FBSUMsSUFBRCxJQUFVO0FBQ3pCLFFBQU1DLFVBQVUsR0FBR0MsYUFBSUMsS0FBSixDQUFVSCxJQUFWLENBQW5COztBQUNBLFFBQU1JLGVBQWUsR0FBR0MsTUFBTSxJQUFJQyxnQkFBRUMsSUFBRixDQUFPRixNQUFQLEVBQWVHLE1BQWYsQ0FBc0IsQ0FBQ0MsR0FBRCxFQUFNQyxHQUFOLEtBQWM7QUFDcEUsVUFBTUMsWUFBWSxHQUFHTixNQUFNLENBQUNLLEdBQUQsQ0FBM0I7O0FBQ0EsUUFBSSxPQUFPQyxZQUFQLEtBQXdCLFFBQTVCLEVBQXNDO0FBQ3BDLFlBQU1DLFFBQVEsR0FBR0QsWUFBWSxDQUFDRSxRQUFiLEVBQWpCO0FBQ0EsYUFBTyxFQUFFLEdBQUdKLEdBQUw7QUFBVSxTQUFDQyxHQUFELEdBQU9FO0FBQWpCLE9BQVA7QUFDRDs7QUFDRCxRQUFJTixnQkFBRVEsUUFBRixDQUFXSCxZQUFYLENBQUosRUFBOEI7QUFDNUIsYUFBTyxFQUFFLEdBQUdGLEdBQUw7QUFBVSxTQUFDQyxHQUFELEdBQU9OLGVBQWUsQ0FBQ08sWUFBRDtBQUFoQyxPQUFQO0FBQ0Q7O0FBRUQsV0FBTyxFQUFFLEdBQUdGLEdBQUw7QUFBVSxPQUFDQyxHQUFELEdBQU9DO0FBQWpCLEtBQVA7QUFDRCxHQVhpQyxFQVcvQixFQVgrQixDQUFsQzs7QUFhQSxTQUFPUCxlQUFlLENBQUNILFVBQUQsQ0FBdEI7QUFDRCxDQWhCRDs7QUFrQkEsTUFBTWMsT0FBTyxHQUFHO0FBQ2QsVUFBUUMsZ0JBQUtDLFFBREM7QUFFZCxXQUFTQyxJQUFJLENBQUNmLEtBRkE7QUFHZCxVQUFRSjtBQUhNLENBQWhCOztlQU1lb0IsR0FBRyxJQUFJSixPQUFPLENBQUNJLEdBQUQsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB5YW1sIGZyb20gJ2pzLXlhbWwnO1xuaW1wb3J0IGluaSBmcm9tICdpbmknO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuY29uc3QgaW5pUGFyc2UgPSAoZGF0YSkgPT4ge1xuICBjb25zdCBwYXJzZWREYXRhID0gaW5pLnBhcnNlKGRhdGEpO1xuICBjb25zdCBudW1iZXJzVG9TdHJpbmcgPSBvYmplY3QgPT4gXy5rZXlzKG9iamVjdCkucmVkdWNlKChhY2MsIGtleSkgPT4ge1xuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IG9iamVjdFtrZXldO1xuICAgIGlmICh0eXBlb2YgY3VycmVudFZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgY29uc3QgbmV3VmFsdWUgPSBjdXJyZW50VmFsdWUudG9TdHJpbmcoKTtcbiAgICAgIHJldHVybiB7IC4uLmFjYywgW2tleV06IG5ld1ZhbHVlIH07XG4gICAgfVxuICAgIGlmIChfLmlzT2JqZWN0KGN1cnJlbnRWYWx1ZSkpIHtcbiAgICAgIHJldHVybiB7IC4uLmFjYywgW2tleV06IG51bWJlcnNUb1N0cmluZyhjdXJyZW50VmFsdWUpIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgLi4uYWNjLCBba2V5XTogY3VycmVudFZhbHVlIH07XG4gIH0sIHt9KTtcblxuICByZXR1cm4gbnVtYmVyc1RvU3RyaW5nKHBhcnNlZERhdGEpO1xufTtcblxuY29uc3QgcGFyc2VycyA9IHtcbiAgJy55bWwnOiB5YW1sLnNhZmVMb2FkLFxuICAnLmpzb24nOiBKU09OLnBhcnNlLFxuICAnLmluaSc6IGluaVBhcnNlLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgZXh0ID0+IHBhcnNlcnNbZXh0XTtcbiJdfQ==