mcbbsmis
Version:
Minecraft Connect Bind BiliBili Sync Message Interaction Service
45 lines (44 loc) • 1.93 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const package_json_1 = require("../package.json");
const node_path_1 = require("node:path");
const node_fs_1 = require("node:fs");
const log4js_1 = tslib_1.__importDefault(require("log4js"));
const toml_1 = require("toml");
const LanguageUnit_1 = tslib_1.__importDefault(require("./unit/LanguageUnit"));
const InitUnit_1 = tslib_1.__importDefault(require("./unit/InitUnit"));
class Config {
static APP_NAME = package_json_1.name
.split('')
.map((item, index) => !index ? item.toUpperCase() : item.toLowerCase())
.join('');
static APP_VERSION = package_json_1.version;
static APP_UUID = '9f7eb9ce-6a2a-4267-8923-494fd42ded83';
static ROOT_PATH = (0, node_path_1.resolve)('.');
static CONFIG_PATH = (0, node_path_1.join)(Config.ROOT_PATH, 'config');
static CONFIG_FILE_PATH = (0, node_path_1.join)(Config.CONFIG_PATH, 'default.toml');
static UPDATE_URL = 'https://projects.lzimul.com/mcbbsmis/update_info';
static LANGUAGE = new LanguageUnit_1.default(Config.ROOT_PATH);
static LOGGER = log4js_1.default.getLogger(Config.APP_NAME);
static LOGGER_CONFIG = (Config.LOGGER.level = 'info');
static get(root, key) {
Config.LOGGER.info(`${Config.LANGUAGE.get('#6')}: ${root} => ${key}`);
try {
const CONFIG_CONTENT = (0, toml_1.parse)((0, node_fs_1.readFileSync)(Config.CONFIG_FILE_PATH, {
encoding: 'utf-8',
flag: 'r'
}));
const data = CONFIG_CONTENT[root][key];
if (data === void 0)
throw new Error('');
return data;
}
catch (e) {
Config.LOGGER.error(Config.LANGUAGE.get('#7'));
(0, InitUnit_1.default)(true);
return this.get(root, key);
}
}
}
exports.default = Config;