diff --git a/packages/nuxt/src/runtime/composables.ts b/packages/nuxt/src/runtime/composables.ts index 098511a766..93fdc60a55 100644 --- a/packages/nuxt/src/runtime/composables.ts +++ b/packages/nuxt/src/runtime/composables.ts @@ -6,22 +6,22 @@ import { } from 'pinia' export * from 'pinia' -export const usePinia = () => useNuxtApp().$pinia +export const usePinia = () => useNuxtApp().$pinia as Pinia | undefined -export const defineStore = (...args) => { +export const defineStore: typeof _defineStore = ( + ...args: [idOrOptions: any, setup?: any, setupOptions?: any] +) => { if (!import.meta.server) { return _defineStore(...args) } - const store = _defineStore(...args) - + const originalUseStore = _defineStore(...args) function useStore(pinia?: Pinia | null, hot?: StoreGeneric): StoreGeneric { - if (pinia) { - return store(pinia, hot) - } - - return store(usePinia(), hot) + return originalUseStore(pinia || usePinia(), hot) } + useStore.$id = originalUseStore.$id + useStore._pinia = originalUseStore._pinia + return useStore }