mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-10-14 15:24:00 -04:00
16 lines
432 B
JavaScript
16 lines
432 B
JavaScript
.pragma library
|
|
|
|
function value(spec, stored) {
|
|
switch (spec.type) {
|
|
case "toggle":
|
|
return typeof stored === "boolean" ? stored : spec.def;
|
|
case "choice":
|
|
return spec.choices.some(c => c.value === stored) ? stored : spec.def;
|
|
case "number":
|
|
if (!Number.isFinite(stored))
|
|
return spec.def;
|
|
return Math.max(spec.min, Math.min(spec.max, stored));
|
|
}
|
|
return spec.def;
|
|
}
|