From 28b4c317b412e0c08bb791d647d4234078c41542 Mon Sep 17 00:00:00 2001 From: Carlos Rodrigues Date: Fri, 24 Apr 2020 18:10:16 +0100 Subject: [PATCH] feat(types): expose `ToRefs` type (#1037) --- packages/reactivity/src/index.ts | 3 ++- packages/reactivity/src/ref.ts | 6 +++--- packages/runtime-core/src/index.ts | 3 ++- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/reactivity/src/index.ts b/packages/reactivity/src/index.ts index 0ac9e5f3cc3..bdfa64f6995 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 22d9c233025..470cd41fcab 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 3bf99a71ebf..831e646788c 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