]> git.ipfire.org Git - thirdparty/vuejs/pinia.git/commitdiff
fix: setupStore getter types (#1430) (#1444)
authorDerhelios66 <72966174+Derhelios66@users.noreply.github.com>
Sun, 24 Jul 2022 16:19:46 +0000 (18:19 +0200)
committerGitHub <noreply@github.com>
Sun, 24 Jul 2022 16:19:46 +0000 (18:19 +0200)
Co-authored-by: Michael Seid <michael.seid@boerse-go.de>
packages/pinia/src/types.ts
packages/pinia/test-dts/storeSetup.test-d.ts

index 35bcae7a7914a2c5470f6ee953f0d636cc1314ea..0ae89bfa43f7c6ad2a4aa2147834fe154cced486 100644 (file)
@@ -601,7 +601,7 @@ export type _ExtractActionsFromSetupStore<SS> = SS extends undefined | void
 export type _ExtractGettersFromSetupStore<SS> = SS extends undefined | void
   ? {}
   : _ExtractGettersFromSetupStore_Keys<SS> extends keyof SS
-  ? _UnwrapAll<Pick<SS, _ExtractGettersFromSetupStore_Keys<SS>>>
+  ? Pick<SS, _ExtractGettersFromSetupStore_Keys<SS>>
   : never
 
 /**
index 52ccb5db81cc982e7d2e450994fdc8e931dd230b..0ffcda3e5b5a55b67176654624bef68f70d070e6 100644 (file)
@@ -11,13 +11,17 @@ const useSetupStore = defineStore('name', () => {
     },
   })
 
+  const multiply = computed(() => (n: number) => {
+    return count.value * n;
+  });
+
   function increment(amount = 1) {
     count.value += amount
 
     return count.value
   }
 
-  return { count, double, increment, triple }
+  return { count, double, increment, triple, multiply }
 })
 
 const setupStore = useSetupStore()
@@ -26,4 +30,5 @@ expectType<number>(setupStore.count)
 expectType<number>(setupStore.$state.count)
 expectType<number>(setupStore.double)
 expectType<number>(setupStore.triple)
+expectType<(n: number) => number>(setupStore.multiply);
 expectType<(amount?: number) => number>(setupStore.increment)