From e80366c418bf30c449fb8a9ac6493a0634a1b51c Mon Sep 17 00:00:00 2001 From: Eduardo San Martin Morote Date: Thu, 8 Apr 2021 11:02:17 +0200 Subject: [PATCH] docs: improve map helpers --- src/mapHelpers.ts | 58 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 57 insertions(+), 1 deletion(-) diff --git a/src/mapHelpers.ts b/src/mapHelpers.ts index e82637e5..9639a752 100644 --- a/src/mapHelpers.ts +++ b/src/mapHelpers.ts @@ -36,7 +36,7 @@ function getCachedStore< /** * Allows using stores without the composition API (`setup()`) by generating an - * object to be spread in the `computed` field of a component. it accepts a list + * object to be spread in the `computed` field of a component. It accepts a list * of store definitions. * * @example @@ -80,10 +80,58 @@ type MapStateObjectReturn< [key in keyof T]: () => Store[T[key]] } +/** + * Allows using state and getters from one store without using the composition + * API (`setup()`) by generating an object to be spread in the `computed` field + * of a component. + * + * @example + * ```js + * export default { + * computed: { + * // other computed properties + * ...mapState(useCounterStore, ['count', 'double']) + * }, + * + * created() { + * this.count // 2 + * this.double // 4 + * } + * } + * ``` + * + * @param useStore - store to map from + * @param keys - array of state properties or getters + */ export function mapState( useStore: StoreDefinition, keys: Array ): MapStateReturn +/** + * Allows using state and getters from one store without using the composition + * API (`setup()`) by generating an object to be spread in the `computed` field + * of a component. The values of the object are the state properties/getters + * while the keys are the names of the resulting computed properties. + * + * @example + * ```js + * export default { + * computed: { + * // other computed properties + * // useCounterStore has a state property named `count` and a getter `double` + * ...mapState(useCounterStore, { n: 'count', doubleN: 'double' }) + * }, + * + * created() { + * this.n // 2 + * this.doubleN // 4 + * } + * } + * ``` + * + * @param useStore - store to map from + * @param keyMapper - object of state properties or getters + */ export function mapState< Id extends string, S extends StateTree, @@ -94,6 +142,14 @@ export function mapState< useStore: StoreDefinition, keyMapper: KeyMapper ): MapStateObjectReturn +/** + * Allows using state and getters from one store without using the composition + * API (`setup()`) by generating an object to be spread in the `computed` field + * of a component. + * + * @param useStore - store to map from + * @param keysOrMapper - array or object + */ export function mapState< Id extends string, S extends StateTree, -- 2.39.5