MCPcopy Create free account
hub / github.com/hydro-dev/Hydro / DomainSetting

Function DomainSetting

packages/hydrooj/src/model/setting.ts:193–208  ·  view source on GitHub ↗
(...settings: _Setting[] | Schema<any>[])

Source from the content-addressed store, hash-verified

191 };
192};
193export const DomainSetting = (...settings: _Setting[] | Schema<any>[]) => {
194 settings = settings.flatMap((s) => (s instanceof Schema ? schemaToSettings(s) : s) as _Setting[]);
195 for (const setting of settings) {
196 if (DOMAIN_SETTINGS.find((s) => s.key === setting.key)) logger.warn(`Duplicate setting key: ${setting.key}`);
197 DOMAIN_SETTINGS.push(setting);
198 DOMAIN_SETTINGS_BY_KEY[setting.key] = setting;
199 }
200 return () => {
201 for (const setting of settings) {
202 delete DOMAIN_SETTINGS_BY_KEY[setting.key];
203 if (DOMAIN_SETTINGS.includes(setting)) {
204 DOMAIN_SETTINGS.splice(DOMAIN_SETTINGS.indexOf(setting), 1);
205 }
206 }
207 };
208};
209export const SystemSetting = (...settings: _Setting[] | Schema<any>[]) => {
210 settings = settings.flatMap((s) => (s instanceof Schema ? schemaToSettings(s) : s) as _Setting[]);
211 for (const setting of settings) {

Callers 1

setting.tsFile · 0.85

Calls 4

schemaToSettingsFunction · 0.85
findMethod · 0.80
warnMethod · 0.45
pushMethod · 0.45

Tested by

no test coverage detected