diff options
| author | syuilo <4439005+syuilo@users.noreply.github.com> | 2025-08-26 13:34:41 +0900 |
|---|---|---|
| committer | syuilo <4439005+syuilo@users.noreply.github.com> | 2025-08-26 13:34:41 +0900 |
| commit | d6a1046361d3d38726f2a86588960c3614f72a9f (patch) | |
| tree | d0a501710c36b8e9488e6756adc906c08447910b /packages/frontend/src/preferences | |
| parent | refactor and fix (diff) | |
| download | misskey-d6a1046361d3d38726f2a86588960c3614f72a9f.tar.gz misskey-d6a1046361d3d38726f2a86588960c3614f72a9f.tar.bz2 misskey-d6a1046361d3d38726f2a86588960c3614f72a9f.zip | |
refactor
Diffstat (limited to 'packages/frontend/src/preferences')
| -rw-r--r-- | packages/frontend/src/preferences/def.ts | 4 | ||||
| -rw-r--r-- | packages/frontend/src/preferences/manager.ts | 7 |
2 files changed, 7 insertions, 4 deletions
diff --git a/packages/frontend/src/preferences/def.ts b/packages/frontend/src/preferences/def.ts index 7b045687d6..702d9a4acf 100644 --- a/packages/frontend/src/preferences/def.ts +++ b/packages/frontend/src/preferences/def.ts @@ -32,6 +32,8 @@ export type SoundStore = { volume: number; }; +type OmitStrict<T, K extends keyof T> = T extends any ? Pick<T, Exclude<keyof T, K>> : never; + // NOTE: デフォルト値は他の設定の状態に依存してはならない(依存していた場合、ユーザーがその設定項目単体で「初期値にリセット」した場合不具合の原因になる) export const PREF_DEF = definePreferences({ @@ -385,7 +387,7 @@ export const PREF_DEF = definePreferences({ default: false, }, plugins: { - default: [] as Plugin[], + default: [] as (OmitStrict<Plugin, 'config'> & { config: Record<string, any> })[], mergeStrategy: (a, b) => { const sameIdExists = a.some(x => b.some(y => x.installId === y.installId)); if (sameIdExists) throw new Error(); diff --git a/packages/frontend/src/preferences/manager.ts b/packages/frontend/src/preferences/manager.ts index 0389cf612a..9157ba05d4 100644 --- a/packages/frontend/src/preferences/manager.ts +++ b/packages/frontend/src/preferences/manager.ts @@ -109,10 +109,11 @@ export function definePreferences<T extends Record<string, unknown>>(x: { } export function getInitialPrefValue<K extends keyof PREF>(k: K): ValueOf<K> { - if (typeof PREF_DEF[k].default === 'function') { // factory - return PREF_DEF[k].default(); + const _default = PREF_DEF[k as string].default; + if (typeof _default === 'function') { // factory + return _default(); } else { - return PREF_DEF[k].default; + return _default; } } |