From: Derhelios66 <72966174+Derhelios66@users.noreply.github.com> Date: Sun, 24 Jul 2022 16:19:46 +0000 (+0200) Subject: fix: setupStore getter types (#1430) (#1444) X-Git-Tag: @pinia/nuxt@0.3.1~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6be93f2301a7711873f49c94999913947e3896b8;p=thirdparty%2Fvuejs%2Fpinia.git fix: setupStore getter types (#1430) (#1444) Co-authored-by: Michael Seid --- diff --git a/packages/pinia/src/types.ts b/packages/pinia/src/types.ts index 35bcae7a..0ae89bfa 100644 --- a/packages/pinia/src/types.ts +++ b/packages/pinia/src/types.ts @@ -601,7 +601,7 @@ export type _ExtractActionsFromSetupStore = SS extends undefined | void export type _ExtractGettersFromSetupStore = SS extends undefined | void ? {} : _ExtractGettersFromSetupStore_Keys extends keyof SS - ? _UnwrapAll>> + ? Pick> : never /** diff --git a/packages/pinia/test-dts/storeSetup.test-d.ts b/packages/pinia/test-dts/storeSetup.test-d.ts index 52ccb5db..0ffcda3e 100644 --- a/packages/pinia/test-dts/storeSetup.test-d.ts +++ b/packages/pinia/test-dts/storeSetup.test-d.ts @@ -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(setupStore.count) expectType(setupStore.$state.count) expectType(setupStore.double) expectType(setupStore.triple) +expectType<(n: number) => number>(setupStore.multiply); expectType<(amount?: number) => number>(setupStore.increment)