summaryrefslogtreecommitdiff
path: root/packages/frontend/src
diff options
context:
space:
mode:
authorLinca <41134017+Lhcfl@users.noreply.github.com>2024-11-06 21:01:58 +0800
committerGitHub <noreply@github.com>2024-11-06 22:01:58 +0900
commitf1eb17f66c75f09e884a41be821cccef363ecee7 (patch)
tree88905f14568c6c3bb2947e598563fe10e20b6e54 /packages/frontend/src
parentfix(backend): FTT無効時にユーザーリストタイムラインが使用... (diff)
downloadmisskey-f1eb17f66c75f09e884a41be821cccef363ecee7.tar.gz
misskey-f1eb17f66c75f09e884a41be821cccef363ecee7.tar.bz2
misskey-f1eb17f66c75f09e884a41be821cccef363ecee7.zip
chore: little type trick in pizzax.ts (#14891)
Make `makeGetterSetter` take the correct type associated with getter and setter
Diffstat (limited to 'packages/frontend/src')
-rw-r--r--packages/frontend/src/pizzax.ts12
1 files changed, 8 insertions, 4 deletions
diff --git a/packages/frontend/src/pizzax.ts b/packages/frontend/src/pizzax.ts
index ac325e923f..7740fe0d39 100644
--- a/packages/frontend/src/pizzax.ts
+++ b/packages/frontend/src/pizzax.ts
@@ -241,9 +241,13 @@ export class Storage<T extends StateDef> {
* 特定のキーの、簡易的なgetter/setterを作ります
* 主にvue上で設定コントロールのmodelとして使う用
*/
- public makeGetterSetter<K extends keyof T>(key: K, getter?: (v: T[K]) => unknown, setter?: (v: unknown) => T[K]): {
- get: () => T[K]['default'];
- set: (value: T[K]['default']) => void;
+ public makeGetterSetter<K extends keyof T, R = T[K]['default']>(
+ key: K,
+ getter?: (v: T[K]['default']) => R,
+ setter?: (v: R) => T[K]['default'],
+ ): {
+ get: () => R;
+ set: (value: R) => void;
} {
const valueRef = ref(this.state[key]);
@@ -265,7 +269,7 @@ export class Storage<T extends StateDef> {
return valueRef.value;
}
},
- set: (value: unknown) => {
+ set: (value) => {
const val = setter ? setter(value) : value;
this.set(key, val);
valueRef.value = val;