web/api: send parameters to server only if they differ from defaults

This commit is contained in:
dumbmoron
2024-09-08 16:29:55 +00:00
parent 1f86faad12
commit a351264ede
2 changed files with 30 additions and 19 deletions

View File

@ -0,0 +1,14 @@
import type { CobaltSettings } from "$lib/types/settings";
import defaults from "./defaults";
export default function lazySettingGetter(settings: CobaltSettings) {
// Returns the setting value only if it differs from the default.
return <
Context extends Exclude<keyof CobaltSettings, 'schemaVersion'>,
Id extends keyof CobaltSettings[Context]
>(context: Context, key: Id) => {
if (defaults[context][key] !== settings[context][key]) {
return settings[context][key];
}
}
}