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
63 lines
1.2 KiB
Markdown
63 lines
1.2 KiB
Markdown
---
|
|
category: Reactivity
|
|
---
|
|
|
|
# reactifyObject
|
|
|
|
Apply `reactify` to an object
|
|
|
|
## Usage
|
|
|
|
```ts
|
|
import { reactifyObject } from '@vueuse/core'
|
|
|
|
const reactifiedConsole = reactifyObject(console)
|
|
|
|
const a = ref('42')
|
|
|
|
reactifiedConsole.log(a) // no longer need `.value`
|
|
```
|
|
|
|
## Type Declarations
|
|
|
|
```ts
|
|
export type ReactifyNested<
|
|
T,
|
|
Keys extends keyof T = keyof T,
|
|
S extends boolean = true,
|
|
> = {
|
|
[K in Keys]: T[K] extends AnyFn ? Reactified<T[K], S> : T[K]
|
|
}
|
|
export type ReactifyObjectReturn<
|
|
T,
|
|
Keys extends keyof T,
|
|
S extends boolean = true,
|
|
> = ReactifyNested<T, Keys, S>
|
|
export interface ReactifyObjectOptions<
|
|
T extends boolean,
|
|
> extends ReactifyOptions<T> {
|
|
/**
|
|
* Includes names from Object.getOwnPropertyNames
|
|
*
|
|
* @default true
|
|
*/
|
|
includeOwnProperties?: boolean
|
|
}
|
|
/**
|
|
* Apply `reactify` to an object
|
|
*
|
|
* @__NO_SIDE_EFFECTS__
|
|
*/
|
|
export declare function reactifyObject<T extends object, Keys extends keyof T>(
|
|
obj: T,
|
|
keys?: (keyof T)[],
|
|
): ReactifyObjectReturn<T, Keys, true>
|
|
export declare function reactifyObject<
|
|
T extends object,
|
|
S extends boolean = true,
|
|
>(
|
|
obj: T,
|
|
options?: ReactifyObjectOptions<S>,
|
|
): ReactifyObjectReturn<T, keyof T, S>
|
|
```
|