Skip to content
On this page

reactifyObject

Category
Export Size
374 B
Last Changed
3 months ago

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`
import { reactifyObject } from '@vueuse/core'

const reactifiedConsole = reactifyObject(console)

const a = ref('42')

reactifiedConsole.log(a) // no longer need `.value`

Type Declarations

typescript
export type ReactifyNested<
  T,
  Keys extends keyof T = keyof T,
  S extends boolean = true
> = {
  [K in Keys]: T[K] extends (...args: any[]) => any ? Reactified<T[K], S> : T[K]
}
export interface ReactifyObjectOptions<T extends boolean>
  extends ReactifyOptions<T> {
  /**
   * Includes names from Object.getOwnPropertyNames
   *
   * @default true
   */
  includeOwnProperties?: boolean
}
/**
 * Apply `reactify` to an object
 */
export declare function reactifyObject<T extends object, Keys extends keyof T>(
  obj: T,
  keys?: (keyof T)[]
): ReactifyNested<T, Keys, true>
export declare function reactifyObject<
  T extends object,
  S extends boolean = true
>(obj: T, options?: ReactifyObjectOptions<S>): ReactifyNested<T, keyof T, S>
export type ReactifyNested<
  T,
  Keys extends keyof T = keyof T,
  S extends boolean = true
> = {
  [K in Keys]: T[K] extends (...args: any[]) => any ? Reactified<T[K], S> : T[K]
}
export interface ReactifyObjectOptions<T extends boolean>
  extends ReactifyOptions<T> {
  /**
   * Includes names from Object.getOwnPropertyNames
   *
   * @default true
   */
  includeOwnProperties?: boolean
}
/**
 * Apply `reactify` to an object
 */
export declare function reactifyObject<T extends object, Keys extends keyof T>(
  obj: T,
  keys?: (keyof T)[]
): ReactifyNested<T, Keys, true>
export declare function reactifyObject<
  T extends object,
  S extends boolean = true
>(obj: T, options?: ReactifyObjectOptions<S>): ReactifyNested<T, keyof T, S>

Source

SourceDocs

Contributors

Anthony Fu
markthree

Changelog

v8.9.3 on 7/14/2022
d484f - feat(reactify)!: enable support for reactive getter by default (#1860)

Released under the MIT License.