move object clearing logic to loadConfig function
All checks were successful
Build / build (18) (push) Successful in 42s
Build / build (20) (push) Successful in 1m16s
Build / build (22) (push) Successful in 40s
Build / build (20) (pull_request) Successful in 1m16s
Build / build (22) (pull_request) Successful in 40s
Build / build (18) (pull_request) Successful in 1m11s

This commit is contained in:
Sainan 2025-04-04 17:53:12 +02:00
parent 27a10c972a
commit 19a5fb834f
2 changed files with 6 additions and 7 deletions

View File

@ -64,5 +64,11 @@ export const config: IConfig = {
}; };
export const loadConfig = (): void => { export const loadConfig = (): void => {
// Set all values to undefined now so if the new config.json omits some fields that were previously present, it's correct in-memory.
for (const key of Object.keys(config)) {
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access
(config as any)[key] = undefined;
}
Object.assign(config, JSON.parse(fs.readFileSync(configPath, "utf-8"))); Object.assign(config, JSON.parse(fs.readFileSync(configPath, "utf-8")));
}; };

View File

@ -9,13 +9,6 @@ fs.watchFile(configPath, () => {
amnesia = false; amnesia = false;
} else { } else {
logger.info("Detected a change to config.json, reloading its contents."); logger.info("Detected a change to config.json, reloading its contents.");
// Set all values to undefined now so if the new config.json omits some fields that were previously present, it's correct in-memory.
for (const key of Object.keys(config)) {
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access
(config as any)[key] = undefined;
}
try { try {
loadConfig(); loadConfig();
} catch (e) { } catch (e) {