From: Eduardo San Martin Morote Date: Fri, 22 Oct 2021 10:18:21 +0000 (+0200) Subject: docs: show more api docs X-Git-Tag: @pinia/nuxt@0.1.0~15 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0555c403db6c59e26c4040b40c835b0a56ead8db;p=thirdparty%2Fvuejs%2Fpinia.git docs: show more api docs --- diff --git a/packages/pinia/src/devtools/plugin.ts b/packages/pinia/src/devtools/plugin.ts index 04fd9d00..8f4c2af9 100644 --- a/packages/pinia/src/devtools/plugin.ts +++ b/packages/pinia/src/devtools/plugin.ts @@ -9,10 +9,10 @@ import { } from 'vue-demi' import { Pinia, PiniaPluginContext } from '../rootStore' import { - GettersTree, + _GettersTree, MutationType, StateTree, - ActionsTree, + _ActionsTree, StoreGeneric, } from '../types' import { @@ -139,7 +139,7 @@ export function registerPiniaDevtools(app: App, pinia: Pinia) { value: store._getters.reduce((getters, key) => { getters[key] = store[key] return getters - }, {} as GettersTree), + }, {} as _GettersTree), }) } }) @@ -447,7 +447,7 @@ function patchActionForGrouping(store: StoreGeneric, actionNames: string[]) { // use toRaw to avoid tracking #541 storeActions[actionName] = toRaw(store)[actionName] return storeActions - }, {} as ActionsTree) + }, {} as _ActionsTree) for (const actionName in actions) { store[actionName] = function () { @@ -478,8 +478,8 @@ function patchActionForGrouping(store: StoreGeneric, actionNames: string[]) { export function devtoolsPlugin< Id extends string = string, S extends StateTree = StateTree, - G /* extends GettersTree */ = GettersTree, - A /* extends ActionsTree */ = ActionsTree + G /* extends GettersTree */ = _GettersTree, + A /* extends ActionsTree */ = _ActionsTree >({ app, store, options }: PiniaPluginContext) { // HMR module if (store.$id.startsWith('__hot:')) { diff --git a/packages/pinia/src/index.ts b/packages/pinia/src/index.ts index 93872952..f46c3d0c 100644 --- a/packages/pinia/src/index.ts +++ b/packages/pinia/src/index.ts @@ -15,12 +15,12 @@ export type { // TODO: remove in release GenericStore, StoreDefinition, - StoreWithGetters, - GettersTree, - ActionsTree, + _StoreWithGetters, + _GettersTree, + _ActionsTree, _Method, - StoreWithActions, - StoreWithState, + _StoreWithActions, + _StoreWithState, StoreProperties, StoreOnActionListener, StoreOnActionListenerContext, diff --git a/packages/pinia/src/mapHelpers.ts b/packages/pinia/src/mapHelpers.ts index de55bfe7..2b97ebdd 100644 --- a/packages/pinia/src/mapHelpers.ts +++ b/packages/pinia/src/mapHelpers.ts @@ -1,6 +1,6 @@ import type { ComponentPublicInstance } from 'vue-demi' import type { - GettersTree, + _GettersTree, _Method, StateTree, Store, @@ -124,7 +124,7 @@ export function mapStores( */ export type _MapStateReturn< S extends StateTree, - G extends GettersTree, + G extends _GettersTree, Keys extends keyof S | keyof G = keyof S | keyof G > = { // [key in keyof S | keyof G]: () => key extends keyof S @@ -141,7 +141,7 @@ export type _MapStateReturn< export type _MapStateObjectReturn< Id extends string, S extends StateTree, - G extends GettersTree, + G extends _GettersTree, A, T extends Record< string, @@ -194,7 +194,7 @@ export type _MapStateObjectReturn< export function mapState< Id extends string, S extends StateTree, - G extends GettersTree, + G extends _GettersTree, A, KeyMapper extends Record< string, @@ -231,7 +231,7 @@ export function mapState< export function mapState< Id extends string, S extends StateTree, - G extends GettersTree, + G extends _GettersTree, A, Keys extends keyof S | keyof G >( @@ -250,7 +250,7 @@ export function mapState< export function mapState< Id extends string, S extends StateTree, - G extends GettersTree, + G extends _GettersTree, A >( useStore: StoreDefinition, @@ -326,7 +326,7 @@ export type _MapActionsObjectReturn> = { export function mapActions< Id extends string, S extends StateTree, - G extends GettersTree, + G extends _GettersTree, A, KeyMapper extends Record >( @@ -359,7 +359,7 @@ export function mapActions< export function mapActions< Id extends string, S extends StateTree, - G extends GettersTree, + G extends _GettersTree, A >( useStore: StoreDefinition, @@ -376,7 +376,7 @@ export function mapActions< export function mapActions< Id extends string, S extends StateTree, - G extends GettersTree, + G extends _GettersTree, A, KeyMapper extends Record >( @@ -440,7 +440,7 @@ export type _MapWritableStateObjectReturn< export function mapWritableState< Id extends string, S extends StateTree, - G extends GettersTree, + G extends _GettersTree, A, KeyMapper extends Record >( @@ -458,7 +458,7 @@ export function mapWritableState< export function mapWritableState< Id extends string, S extends StateTree, - G extends GettersTree, + G extends _GettersTree, A >( useStore: StoreDefinition, @@ -475,7 +475,7 @@ export function mapWritableState< export function mapWritableState< Id extends string, S extends StateTree, - G extends GettersTree, + G extends _GettersTree, A, KeyMapper extends Record >( diff --git a/packages/pinia/src/rootStore.ts b/packages/pinia/src/rootStore.ts index 8181e234..2713f4cc 100644 --- a/packages/pinia/src/rootStore.ts +++ b/packages/pinia/src/rootStore.ts @@ -12,8 +12,8 @@ import { PiniaCustomProperties, _Method, Store, - GettersTree, - ActionsTree, + _GettersTree, + _ActionsTree, PiniaCustomStateProperties, DefineStoreOptionsInPlugin, StoreGeneric, @@ -104,8 +104,8 @@ export const piniaSymbol = ( export interface PiniaPluginContext< Id extends string = string, S extends StateTree = StateTree, - G /* extends GettersTree */ = GettersTree, - A /* extends ActionsTree */ = ActionsTree + G /* extends _GettersTree */ = _GettersTree, + A /* extends _ActionsTree */ = _ActionsTree > { /** * pinia instance. diff --git a/packages/pinia/src/store.ts b/packages/pinia/src/store.ts index 0a31d46c..61e0a9c5 100644 --- a/packages/pinia/src/store.ts +++ b/packages/pinia/src/store.ts @@ -30,19 +30,19 @@ import { _Method, DefineStoreOptions, StoreDefinition, - GettersTree, + _GettersTree, MutationType, StoreOnActionListener, - ActionsTree, + _ActionsTree, SubscriptionCallbackMutation, DefineSetupStoreOptions, DefineStoreOptionsInPlugin, StoreGeneric, - StoreWithGetters, + _StoreWithGetters, _ExtractActionsFromSetupStore, _ExtractGettersFromSetupStore, _ExtractStateFromSetupStore, - StoreWithState, + _StoreWithState, } from './types' import { setActivePinia, piniaSymbol, Pinia, activePinia } from './rootStore' import { IS_CLIENT } from './env' @@ -83,8 +83,8 @@ function isComputed(o: any): o is ComputedRef { function createOptionsStore< Id extends string, S extends StateTree, - G extends GettersTree, - A extends ActionsTree + G extends _GettersTree, + A extends _ActionsTree >( id: Id, options: DefineStoreOptions, @@ -157,7 +157,7 @@ function createSetupStore< SS, S extends StateTree, G extends Record, - A extends ActionsTree + A extends _ActionsTree >( $id: Id, setup: () => SS, @@ -401,7 +401,7 @@ function createSetupStore< return removeSubscription }, $dispose, - } as StoreWithState + } as _StoreWithState if (isVue2) { // start as non ready @@ -701,7 +701,7 @@ function createSetupStore< export type StoreActions = SS extends Store< string, StateTree, - GettersTree, + _GettersTree, infer A > ? A @@ -715,9 +715,9 @@ export type StoreGetters = SS extends Store< string, StateTree, infer G, - ActionsTree + _ActionsTree > - ? StoreWithGetters + ? _StoreWithGetters : _ExtractGettersFromSetupStore /** @@ -727,8 +727,8 @@ export type StoreGetters = SS extends Store< export type StoreState = SS extends Store< string, infer S, - GettersTree, - ActionsTree + _GettersTree, + _ActionsTree > ? UnwrapRef : _ExtractStateFromSetupStore @@ -750,7 +750,7 @@ export type StoreState = SS extends Store< export function defineStore< Id extends string, S extends StateTree = {}, - G extends GettersTree = {}, + G extends _GettersTree = {}, // cannot extends ActionsTree because we loose the typings A /* extends ActionsTree */ = {} >( @@ -766,7 +766,7 @@ export function defineStore< export function defineStore< Id extends string, S extends StateTree = {}, - G extends GettersTree = {}, + G extends _GettersTree = {}, // cannot extends ActionsTree because we loose the typings A /* extends ActionsTree */ = {} >(options: DefineStoreOptions): StoreDefinition @@ -801,12 +801,17 @@ export function defineStore( ): StoreDefinition { let id: string let options: - | DefineStoreOptions, ActionsTree> + | DefineStoreOptions< + string, + StateTree, + _GettersTree, + _ActionsTree + > | DefineSetupStoreOptions< string, StateTree, - GettersTree, - ActionsTree + _GettersTree, + _ActionsTree > const isSetupStore = typeof setup === 'function' diff --git a/packages/pinia/src/types.ts b/packages/pinia/src/types.ts index 893eb923..c0b03a07 100644 --- a/packages/pinia/src/types.ts +++ b/packages/pinia/src/types.ts @@ -67,9 +67,7 @@ export enum MutationType { } /** - * Base type for the context passed to a subscription callback. - * - * @internal + * Base type for the context passed to a subscription callback. Internal type. */ export interface _SubscriptionCallbackMutationBase { /** @@ -163,7 +161,11 @@ export type SubscriptionCallback = ( state: UnwrapRef ) => void -type _StoreOnActionListenerContext = { +/** + * Actual type for {@link StoreOnActionListenerContext}. Exists for refactoring + * purposes. For internal use only. + */ +interface _StoreOnActionListenerContext { /** * Name of the action */ @@ -214,8 +216,8 @@ export type StoreOnActionListenerContext< S extends StateTree, G /* extends GettersTree */, A /* extends ActionsTree */ -> = ActionsTree extends A - ? _StoreOnActionListenerContext +> = _ActionsTree extends A + ? _StoreOnActionListenerContext : { [Name in keyof A]: Name extends string ? _StoreOnActionListenerContext, Name, A> @@ -236,7 +238,7 @@ export type StoreOnActionListener< S, G, // {} creates a type of never due to how StoreOnActionListenerContext is defined - {} extends A ? ActionsTree : A + {} extends A ? _ActionsTree : A > ) => void @@ -295,16 +297,15 @@ export interface StoreProperties { _hmrPayload: { state: string[] hotState: Ref - actions: ActionsTree - getters: ActionsTree + actions: _ActionsTree + getters: _ActionsTree } } /** - * Base store with state and functions - * @internal + * Base store with state and functions. Should not be used directly. */ -export interface StoreWithState< +export interface _StoreWithState< Id extends string, S extends StateTree, G /* extends GettersTree */, @@ -445,29 +446,27 @@ export type _Method = (...args: any[]) => any // in this type we forget about this because otherwise the type is recursive /** - * Store augmented for actions - * + * Store augmented for actions. For internal usage only. * @internal */ -export type StoreWithActions = { +export type _StoreWithActions = { [k in keyof A]: A[k] extends (...args: infer P) => infer R ? (...args: P) => R : never } /** - * Store augmented with getters - * + * Store augmented with getters. For internal usage only. * @internal */ -export type StoreWithGetters = { +export type _StoreWithGetters = { readonly [k in keyof G]: G[k] extends (...args: any[]) => infer R ? R : UnwrapRef } /** - * Store type to build a store + * Store type to build a store. */ export type Store< Id extends string = string, @@ -475,11 +474,11 @@ export type Store< G /* extends GettersTree*/ = {}, // has the actions without the context (this) for typings A /* extends ActionsTree */ = {} -> = StoreWithState & +> = _StoreWithState & UnwrapRef & - StoreWithGetters & + _StoreWithGetters & // StoreWithActions & - (ActionsTree extends A ? {} : A) & + (_ActionsTree extends A ? {} : A) & PiniaCustomProperties & PiniaCustomStateProperties @@ -491,8 +490,8 @@ export type Store< export type StoreGeneric = Store< string, StateTree, - GettersTree, - ActionsTree + _GettersTree, + _ActionsTree > /** @@ -504,12 +503,12 @@ export type StoreGeneric = Store< export type GenericStore< Id extends string = string, S extends StateTree = StateTree, - G /* extends GettersTree */ = GettersTree, + G /* extends GettersTree */ = _GettersTree, // has the actions without the context (this) for typings - A /* extends ActionsTree */ = ActionsTree -> = StoreWithState & + A /* extends ActionsTree */ = _ActionsTree +> = _StoreWithState & UnwrapRef & - StoreWithGetters & + _StoreWithGetters & A & PiniaCustomProperties & PiniaCustomStateProperties @@ -520,8 +519,8 @@ export type GenericStore< export interface StoreDefinition< Id extends string = string, S extends StateTree = StateTree, - G /* extends GettersTree*/ = GettersTree, - A /* extends ActionsTree */ = ActionsTree + G /* extends GettersTree*/ = _GettersTree, + A /* extends ActionsTree */ = _ActionsTree > { /** * Returns a store, creates it if necessary. @@ -545,13 +544,13 @@ export interface StoreDefinition< } /** - * Properties that are added to every store by `pinia.use()`. + * Interface to be extended by the user when they add properties through plugins. */ export interface PiniaCustomProperties< Id extends string = string, S extends StateTree = StateTree, - G /* extends GettersTree */ = GettersTree, - A /* extends ActionsTree */ = ActionsTree + G /* extends GettersTree */ = _GettersTree, + A /* extends ActionsTree */ = _ActionsTree > {} /** @@ -560,22 +559,20 @@ export interface PiniaCustomProperties< export interface PiniaCustomStateProperties {} /** - * Type of an object of Getters that infers the argument. - * + * Type of an object of Getters that infers the argument. For internal usage only. * @internal */ -export type GettersTree = Record< +export type _GettersTree = Record< string, | ((state: UnwrapRef & UnwrapRef>) => any) | (() => any) > /** - * Type of an object of Actions. - * + * Type of an object of Actions. For internal usage only. * @internal */ -export type ActionsTree = Record +export type _ActionsTree = Record /** * @internal @@ -647,8 +644,8 @@ export interface DefineStoreOptions< * Optional object of getters. */ getters?: G & - ThisType & StoreWithGetters & PiniaCustomProperties> & - GettersTree + ThisType & _StoreWithGetters & PiniaCustomProperties> & + _GettersTree /** * Optional object of actions. @@ -657,8 +654,8 @@ export interface DefineStoreOptions< ThisType< A & UnwrapRef & - StoreWithState & - StoreWithGetters & + _StoreWithState & + _StoreWithGetters & PiniaCustomProperties > }