From 3facfa5a551b7be1c1c51c035b529fed7d5d54cf Mon Sep 17 00:00:00 2001 From: Evan You Date: Fri, 16 Aug 2019 10:52:45 -0400 Subject: [PATCH] wip: adjust computed ref type --- packages/reactivity/src/computed.ts | 4 ++-- packages/reactivity/src/ref.ts | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/reactivity/src/computed.ts b/packages/reactivity/src/computed.ts index b23bdfcd..9ffbbf0b 100644 --- a/packages/reactivity/src/computed.ts +++ b/packages/reactivity/src/computed.ts @@ -1,8 +1,8 @@ import { effect, ReactiveEffect, activeReactiveEffectStack } from './effect' -import { knownValues } from './ref' +import { UnwrapNestedRefs, knownValues } from './ref' export interface ComputedRef { - readonly value: T + readonly value: UnwrapNestedRefs readonly effect: ReactiveEffect } diff --git a/packages/reactivity/src/ref.ts b/packages/reactivity/src/ref.ts index d0dc26fe..6c2e134e 100644 --- a/packages/reactivity/src/ref.ts +++ b/packages/reactivity/src/ref.ts @@ -6,9 +6,11 @@ import { reactive } from './reactive' export const knownValues = new WeakSet() export interface Ref { - value: T extends Ref ? Ref : UnwrapRef + value: UnwrapNestedRefs } +export type UnwrapNestedRefs = T extends Ref ? Ref : UnwrapRef + const convert = (val: any): any => (isObject(val) ? reactive(val) : val) export function ref(raw: T): Ref {