UNPKG

mcbbsmis

Version:

Minecraft Connect Bind BiliBili Sync Message Interaction Service

45 lines (44 loc) 1.93 kB
"use strict"; 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;