From: Carlos Rodrigues Date: Fri, 24 Apr 2020 17:10:16 +0000 (+0100) Subject: feat(types): expose `ToRefs` type (#1037) X-Git-Tag: v3.0.0-beta.4~4 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=28b4c317b412e0c08bb791d647d4234078c41542;p=thirdparty%2Fvuejs%2Fcore.git feat(types): expose `ToRefs` type (#1037) --- diff --git a/packages/reactivity/src/index.ts b/packages/reactivity/src/index.ts index 0ac9e5f3cc..bdfa64f699 100644 --- a/packages/reactivity/src/index.ts +++ b/packages/reactivity/src/index.ts @@ -8,7 +8,8 @@ export { customRef, triggerRef, Ref, - UnwrapRef + UnwrapRef, + ToRefs } from './ref' export { reactive, diff --git a/packages/reactivity/src/ref.ts b/packages/reactivity/src/ref.ts index 22d9c23302..470cd41fca 100644 --- a/packages/reactivity/src/ref.ts +++ b/packages/reactivity/src/ref.ts @@ -20,6 +20,8 @@ export interface Ref { value: T } +export type ToRefs = { [K in keyof T]: Ref } + const convert = (val: T): T => isObject(val) ? reactive(val) : val @@ -108,9 +110,7 @@ export function customRef(factory: CustomRefFactory): Ref { return r as any } -export function toRefs( - object: T -): { [K in keyof T]: Ref } { +export function toRefs(object: T): ToRefs { if (__DEV__ && !isProxy(object)) { console.warn(`toRefs() expects a reactive object but received a plain one.`) } diff --git a/packages/runtime-core/src/index.ts b/packages/runtime-core/src/index.ts index 3bf99a71eb..831e646788 100644 --- a/packages/runtime-core/src/index.ts +++ b/packages/runtime-core/src/index.ts @@ -153,7 +153,8 @@ export { Ref, ComputedRef, UnwrapRef, - WritableComputedOptions + WritableComputedOptions, + ToRefs } from '@vue/reactivity' export { // types