test: test unwrapping computed refs

This commit is contained in:
Evan You
2019-10-14 11:21:09 -04:00
parent d8b2b9eb9c
commit 1c56d1bf19
3 changed files with 29 additions and 17 deletions

View File

@@ -1,13 +1,11 @@
import { isObject, toTypeString } from '@vue/shared'
import { mutableHandlers, readonlyHandlers } from './baseHandlers'
import {
mutableCollectionHandlers,
readonlyCollectionHandlers
} from './collectionHandlers'
import { UnwrapNestedRefs } from './ref'
import { ReactiveEffect } from './effect'
import { UnwrapRef, Ref } from './ref'
// The main WeakMap that stores {target -> key -> dep} connections.
// Conceptually, it's easier to think of a dependency as a Dep class
@@ -40,6 +38,9 @@ const canObserve = (value: any): boolean => {
)
}
// only unwrap nested ref
type UnwrapNestedRefs<T> = T extends Ref ? T : UnwrapRef<T>
export function reactive<T extends object>(target: T): UnwrapNestedRefs<T>
export function reactive(target: object) {
// if trying to observe a readonly proxy, return the readonly version.