function loadSettings()

in src/settings.ts [90:122]


function loadSettings(settings?: SavedSettings): Settings {
    const unexpectedVersion = settings &&
        (!settings.version || settings.version < 1 || settings.version > LATEST_SAVED_SETTINGS_VERSION);
    if (!settings || unexpectedVersion) {
        if (unexpectedVersion) {
            console.error(`unexpected settings version: ${settings!.version}`);
        }
        settings = { version: LATEST_SAVED_SETTINGS_VERSION } satisfies LatestSavedSettings;
    }
    if (settings.version === 1) {
        const s = settings as SavedSettingsV1;
        return {
            dates: loadDates(s.dates),
            data_etags: s.data_etags,
            selection: s.selection ?? {},
            signature: s.signature,
            pingCrashId: s.pingCrashId,
            sort: s.sort ?? "clients",
            meta: s.meta ?? {
                expiration: "1y",
                relativeDates: false,
                storeDates: true,
                storeEtags: true,
                storeSelection: true,
                storeSignature: true,
                storePing: true,
                storeSort: true,
                storeMeta: true,
            },
        };
    }
    throw new Error("unreachable");
}