Files
standardnotes-app-web/packages/snjs/lib/Services/Settings/SettingsList.ts
Karol Sójko 914c444349 chore(web): remove unused setting for failed email backups - skip e2e (#2863)
* chore(web): remove unused setting for failed email backups

* adjust tests
2024-03-26 14:25:19 +01:00

32 lines
905 B
TypeScript

import { SettingName } from '@standardnotes/domain-core'
import { SettingData } from '@standardnotes/responses'
import {
MuteSignInEmailsOption,
EmailBackupFrequency,
ListedAuthorSecretsData,
LogSessionUserAgentOption,
MuteMarketingEmailsOption,
} from '@standardnotes/settings'
type SettingType =
| EmailBackupFrequency
| ListedAuthorSecretsData
| LogSessionUserAgentOption
| MuteSignInEmailsOption
| MuteMarketingEmailsOption
export class SettingsList {
private map: Partial<Record<string, SettingData>> = {}
constructor(settings: SettingData[]) {
for (const setting of settings) {
this.map[setting.name] = setting
}
}
getSettingValue<T = SettingType, D = SettingType>(settingName: SettingName, defaultValue: D): T {
const settingData = this.map[settingName.value]
return (settingData?.value as unknown as T) || (defaultValue as unknown as T)
}
}