From: Eduardo San Martin Morote Date: Fri, 9 Jul 2021 18:53:01 +0000 (+0200) Subject: refactor: use original definestoreoptions type X-Git-Tag: v2.0.0-rc.0~82 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fe3d48a37a338de321109e7a20e97deaf2a74f43;p=thirdparty%2Fvuejs%2Fpinia.git refactor: use original definestoreoptions type --- diff --git a/src/rootStore.ts b/src/rootStore.ts index a1402c9b..1b827800 100644 --- a/src/rootStore.ts +++ b/src/rootStore.ts @@ -5,7 +5,6 @@ import { StateDescriptor, PiniaCustomProperties, _Method, - DefineStoreOptions, Store, GettersTree, ActionsTree, diff --git a/src/store.ts b/src/store.ts index 931543b3..4ff234c4 100644 --- a/src/store.ts +++ b/src/store.ts @@ -32,7 +32,6 @@ import { ActionsTree, SubscriptionCallbackMutation, _UnionToTuple, - DefineOptionStoreOptions, DefineSetupStoreOptions, DefineStoreOptionsInPlugin, } from './types' @@ -80,10 +79,7 @@ function createOptionsStore< S extends StateTree, G extends GettersTree, A extends ActionsTree ->( - options: DefineOptionStoreOptions, - pinia: Pinia -): Store { +>(options: DefineStoreOptions, pinia: Pinia): Store { const { id, state, actions, getters } = options function $reset() { pinia.state.value[id] = state ? state() : {} @@ -125,11 +121,13 @@ function createSetupStore< >( $id: Id, setup: () => SS, - options: DefineStoreOptions = {} + options: + | DefineSetupStoreOptions + | DefineStoreOptions = {} ): Store { const pinia = getActivePinia() let scope!: EffectScope - const buildState = (options as DefineOptionStoreOptions).state + const buildState = (options as DefineStoreOptions).state const optionsForPlugin: DefineStoreOptionsInPlugin = { actions: {} as A, @@ -560,9 +558,7 @@ export function defineStore< G extends GettersTree, // cannot extends ActionsTree because we loose the typings A /* extends ActionsTree */ ->( - options: DefineOptionStoreOptions -): StoreDefinition { +>(options: DefineStoreOptions): StoreDefinition { const { id } = options function useStore(pinia?: Pinia | null) { diff --git a/src/types.ts b/src/types.ts index a69ffba5..90163db2 100644 --- a/src/types.ts +++ b/src/types.ts @@ -455,7 +455,7 @@ export type ActionsTree = Record * Options parameter of `defineStore()`. Can be extended to augment stores with * the plugin API. */ -export interface DefineOptionStoreOptions< +export interface DefineStoreOptions< Id extends string, S extends StateTree, G extends GettersTree, @@ -508,7 +508,10 @@ export interface DefineSetupStoreOptions< S extends StateTree, G extends ActionsTree, // TODO: naming A /* extends ActionsTree */ -> extends Pick, 'hydrate'> { +> extends Omit< + DefineStoreOptions, + 'actions' | 'id' | 'state' | 'getters' + > { /** * Extracted actions. Added by useStore(). SHOULD NOT be added by the user when * creating the store. Can be used in plugins to get the list of actions in a @@ -525,7 +528,7 @@ export interface DefineStoreOptionsInPlugin< S extends StateTree, G extends ActionsTree, // TODO: naming A /* extends ActionsTree */ -> extends Omit, 'id'> { +> extends Omit, 'id'> { /** * Extracted object of actions. Added by useStore() when the store is built * using the setup API, otherwise uses the one passed to `defineStore()`. @@ -541,13 +544,6 @@ export interface DefineStoreOptionsInPlugin< id?: Id } -export type DefineStoreOptions< - Id extends string, - S extends StateTree, - G extends GettersTree, - A /* extends ActionsTree */ -> = DefineOptionStoreOptions | DefineSetupStoreOptions - export type _UnionToTuple = _UnionToTupleRecursively<[], U> type _Overwrite = {