reiso
Version:
53 lines • 4.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const fs = require("fs");
const path = require("path");
const Translation = require("../Modules/Translation");
const Config_1 = require("./Lib/Config");
const DefaultConfig_1 = require("./DefaultConfig");
let configPath = path.resolve(process.env.CONFIG_PATH || './reiso.json');
let scope = process.env.SCOPE || 'default';
let config = JSON.parse(JSON.stringify(DefaultConfig_1.default));
function getConfig() {
return config[scope];
}
exports.getConfig = getConfig;
let translations = {};
function setTranslation(config) {
if (config[scope].languages) {
try {
let translation = JSON.parse(fs.readFileSync(path.resolve(config[scope].translation), "utf8"));
translations = Config_1.mapReduce(config[scope].languages, translation);
}
catch (e) {
translations = {};
}
Translation.setState(config[scope].defaultLanguage, config[scope].languages, translations);
}
}
function setConfig(newConfig) {
config = Object.assign(config, JSON.parse(Config_1.parseEnv(JSON.stringify(newConfig))));
setTranslation(config);
}
exports.setConfig = setConfig;
function readConfig() {
try {
if (fs.existsSync(configPath))
config = Object.assign(config, JSON.parse(Config_1.parseEnv(fs.readFileSync(configPath, "utf8"))));
}
catch (e) { }
setTranslation(config);
}
exports.readConfig = readConfig;
exports.saveConfig = (config) => {
if (fs.existsSync(configPath))
fs.writeFileSync(configPath, JSON.stringify(config, null, 2), {
encoding: 'utf8'
});
else
fs.writeFileSync(configPath, JSON.stringify(config, null, 2), {
encoding: 'utf8',
flag: 'wx'
});
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NlcnZlci9Db25maWcudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEseUJBQXlCO0FBQ3pCLDZCQUE2QjtBQUU3QixzREFBc0Q7QUFDdEQseUNBQW1EO0FBQ25ELG1EQUE0QztBQUU1QyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxJQUFJLGNBQWMsQ0FBQyxDQUFDO0FBQ3pFLElBQUksS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQztBQUUzQyxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQWEsQ0FBQyxDQUFDLENBQUM7QUFFdkQ7SUFDRSxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN2QixDQUFDO0FBRkQsOEJBRUM7QUFFRCxJQUFJLFlBQVksR0FBUSxFQUFFLENBQUM7QUFFM0Isd0JBQXdCLE1BTXZCO0lBQ0MsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxFQUFFO1FBQzNCLElBQUk7WUFDRixJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUMvRixZQUFZLEdBQUcsa0JBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1NBQ2hFO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixZQUFZLEdBQUcsRUFBRSxDQUFBO1NBQ2xCO1FBRUQsV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLENBQUM7S0FDNUY7QUFDSCxDQUFDO0FBRUQsbUJBQTBCLFNBQVM7SUFDakMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN6QixDQUFDO0FBSEQsOEJBR0M7QUFFRDtJQUNFLElBQUk7UUFDRixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDO1lBQUUsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQVEsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUMxSDtJQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUU7SUFDZCxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDekIsQ0FBQztBQUxELGdDQUtDO0FBRVksUUFBQSxVQUFVLEdBQUcsQ0FBQyxNQUFNLEVBQUUsRUFBRTtJQUNuQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDO1FBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFO1lBQzNGLFFBQVEsRUFBRSxNQUFNO1NBQ2pCLENBQUMsQ0FBQTs7UUFDRyxFQUFFLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUU7WUFDakUsUUFBUSxFQUFFLE1BQU07WUFDaEIsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUEifQ==