docs: add advanced skills for Vitest, Pinia, and Vue built-ins
Add comprehensive reference documentation for: - Vitest: environments, projects/workspaces, type testing, vi utilities - Pinia: HMR, Nuxt integration, SSR setup - Vue: built-in components (Transition, Teleport, Suspense, KeepAlive) and advanced directives
This commit is contained in:
81
.agents/skills/vueuse-functions/references/useArrayReduce.md
Normal file
81
.agents/skills/vueuse-functions/references/useArrayReduce.md
Normal file
@@ -0,0 +1,81 @@
|
||||
---
|
||||
category: Array
|
||||
---
|
||||
|
||||
# useArrayReduce
|
||||
|
||||
Reactive `Array.reduce`.
|
||||
|
||||
## Usage
|
||||
|
||||
```ts
|
||||
import { useArrayReduce } from '@vueuse/core'
|
||||
|
||||
const sum = useArrayReduce([ref(1), ref(2), ref(3)], (sum, val) => sum + val)
|
||||
// sum.value: 6
|
||||
```
|
||||
|
||||
### Use with reactive array
|
||||
|
||||
```ts
|
||||
import { useArrayReduce } from '@vueuse/core'
|
||||
|
||||
const list = reactive([1, 2])
|
||||
const sum = useArrayReduce(list, (sum, val) => sum + val)
|
||||
|
||||
list.push(3)
|
||||
// sum.value: 6
|
||||
```
|
||||
|
||||
### Use with initialValue
|
||||
|
||||
```ts
|
||||
import { useArrayReduce } from '@vueuse/core'
|
||||
|
||||
const list = reactive([{ num: 1 }, { num: 2 }])
|
||||
const sum = useArrayReduce(list, (sum, val) => sum + val.num, 0)
|
||||
// sum.value: 3
|
||||
```
|
||||
|
||||
## Type Declarations
|
||||
|
||||
```ts
|
||||
export type UseArrayReducer<PV, CV, R> = (
|
||||
previousValue: PV,
|
||||
currentValue: CV,
|
||||
currentIndex: number,
|
||||
) => R
|
||||
export type UseArrayReduceReturn<T = any> = ComputedRef<T>
|
||||
/**
|
||||
* Reactive `Array.reduce`
|
||||
*
|
||||
* @see https://vueuse.org/useArrayReduce
|
||||
* @param list - the array was called upon.
|
||||
* @param reducer - a "reducer" function.
|
||||
*
|
||||
* @returns the value that results from running the "reducer" callback function to completion over the entire array.
|
||||
*
|
||||
* @__NO_SIDE_EFFECTS__
|
||||
*/
|
||||
export declare function useArrayReduce<T>(
|
||||
list: MaybeRefOrGetter<MaybeRefOrGetter<T>[]>,
|
||||
reducer: UseArrayReducer<T, T, T>,
|
||||
): UseArrayReduceReturn<T>
|
||||
/**
|
||||
* Reactive `Array.reduce`
|
||||
*
|
||||
* @see https://vueuse.org/useArrayReduce
|
||||
* @param list - the array was called upon.
|
||||
* @param reducer - a "reducer" function.
|
||||
* @param initialValue - a value to be initialized the first time when the callback is called.
|
||||
*
|
||||
* @returns the value that results from running the "reducer" callback function to completion over the entire array.
|
||||
*
|
||||
* @__NO_SIDE_EFFECTS__
|
||||
*/
|
||||
export declare function useArrayReduce<T, U>(
|
||||
list: MaybeRefOrGetter<MaybeRefOrGetter<T>[]>,
|
||||
reducer: UseArrayReducer<U, T, U>,
|
||||
initialValue: MaybeRefOrGetter<U>,
|
||||
): UseArrayReduceReturn<U>
|
||||
```
|
||||
Reference in New Issue
Block a user