add settings configuration parser #78

Merged
jakob.scheid merged 20 commits from feature/settings-config-parser into main 2026-05-29 14:03:15 +02:00
Showing only changes of commit 5d2064134b - Show all commits
@@ -57,10 +57,7 @@ function validateEntry(entry, path) {
assertString(entry.name, `${path}.name`); assertString(entry.name, `${path}.name`);
assertString(entry.i18n, `${path}.i18n`); assertString(entry.i18n, `${path}.i18n`);
if (entry.default === undefined) { if (entry.default !== undefined) {
jakob.scheid marked this conversation as resolved Outdated
Outdated
Review

Not every setting does need a default value. I suggest omitting this check.

Not every setting does need a default value. I suggest omitting this check.
throw new Error(`[settings] "${path}.default" is required`);
}
if (entry.type === 'bool' && typeof entry.default !== 'boolean') { if (entry.type === 'bool' && typeof entry.default !== 'boolean') {
throw new Error(`[settings] "${path}.default" must be a boolean`); throw new Error(`[settings] "${path}.default" must be a boolean`);
} }
@@ -76,6 +73,7 @@ function validateEntry(entry, path) {
throw new Error(`[settings] "${path}.allowMultiple" must be a boolean`); throw new Error(`[settings] "${path}.allowMultiple" must be a boolean`);
} }
} }
jakob.scheid marked this conversation as resolved Outdated
Outdated
Review

I think it should have a default value (false) that is used if it is not specified.

I think it should have a default value (`false`) that is used if it is not specified.
}
} }
/** /**