core: performance enhancement

This commit is contained in:
undefined committed 2022-07-31 23:44:22 +08:00
1 parent bab15a775b
commit f22caf8c7b
6 files changed
+15 -9

No files matched your search

+2 -1
View File
@@ -1,6 +1,6 @@
{
"name": "hydrooj",
"version": "3.14.22",
"version": "3.14.23",
"bin": "bin/hydrooj.js",
"main": "src/loader",
"module": "src/loader",
@@ -45,6 +45,7 @@
"p-queue": "^7.2.0",
"path-to-regexp": "^6.2.1",
"require-resolve-hook": "^1.1.0",
"schemastery": "^3.5.0",
"semver": "^7.3.7",
"serialize-javascript": "^6.0.0",
"source-map-support": "^0.5.21",
+1 -1
View File
@@ -217,8 +217,8 @@ class SystemSettingHandler extends SystemHandler {
}
}
}
tasks.push(bus.parallel('system/setting', args));
await Promise.all(tasks);
await bus.broadcast('system/setting', args);
this.back();
}
}
+5
View File
@@ -70,6 +70,7 @@ export const Setting = (
export const PreferenceSetting = (...settings: _Setting[]) => {
for (const setting of settings) {
if (PREFERENCE_SETTINGS.find((s) => s.key === setting.key)) throw new Error(`Duplicate setting key: ${setting.key}`);
PREFERENCE_SETTINGS.push(setting);
SETTINGS.push(setting);
SETTINGS_BY_KEY[setting.key] = setting;
@@ -77,6 +78,7 @@ export const PreferenceSetting = (...settings: _Setting[]) => {
};
export const AccountSetting = (...settings: _Setting[]) => {
for (const setting of settings) {
if (ACCOUNT_SETTINGS.find((s) => s.key === setting.key)) throw new Error(`Duplicate setting key: ${setting.key}`);
ACCOUNT_SETTINGS.push(setting);
SETTINGS.push(setting);
SETTINGS_BY_KEY[setting.key] = setting;
@@ -84,18 +86,21 @@ export const AccountSetting = (...settings: _Setting[]) => {
};
export const DomainUserSetting = (...settings: _Setting[]) => {
for (const setting of settings) {
if (DOMAIN_USER_SETTINGS.find((s) => s.key === setting.key)) throw new Error(`Duplicate setting key: ${setting.key}`);
DOMAIN_USER_SETTINGS.push(setting);
DOMAIN_USER_SETTINGS_BY_KEY[setting.key] = setting;
}
};
export const DomainSetting = (...settings: _Setting[]) => {
for (const setting of settings) {
if (DOMAIN_SETTINGS.find((s) => s.key === setting.key)) throw new Error(`Duplicate setting key: ${setting.key}`);
DOMAIN_SETTINGS.push(setting);
DOMAIN_SETTINGS_BY_KEY[setting.key] = setting;
}
};
export const SystemSetting = (...settings: _Setting[]) => {
for (const setting of settings) {
if (SYSTEM_SETTINGS.find((s) => s.key === setting.key)) throw new Error(`Duplicate setting key: ${setting.key}`);
SYSTEM_SETTINGS.push(setting);
SYSTEM_SETTINGS_BY_KEY[setting.key] = setting;
}
+1 -1
View File
@@ -69,7 +69,7 @@ export async function runConfig() {
}
bus.on('system/setting', (args) => {
for (const key in args) set(key, args[key], false);
for (const key in args) cache[key] = args[key];
});
global.Hydro.model.system = {