|
@@ -55,12 +55,6 @@ function targetTypeMap(rawType: string) {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-function getTargetType(value: Target) {
|
|
|
|
|
- return value[ReactiveFlags.SKIP] || !Object.isExtensible(value)
|
|
|
|
|
- ? TargetType.INVALID
|
|
|
|
|
- : targetTypeMap(toRawType(value))
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
// only unwrap nested ref
|
|
// only unwrap nested ref
|
|
|
export type UnwrapNestedRefs<T> = T extends Ref ? T : UnwrapRefSimple<T>
|
|
export type UnwrapNestedRefs<T> = T extends Ref ? T : UnwrapRefSimple<T>
|
|
|
|
|
|
|
@@ -291,8 +285,7 @@ function createReactiveObject(
|
|
|
return target
|
|
return target
|
|
|
}
|
|
}
|
|
|
// only specific value types can be observed.
|
|
// only specific value types can be observed.
|
|
|
- const targetType = getTargetType(target)
|
|
|
|
|
- if (targetType === TargetType.INVALID) {
|
|
|
|
|
|
|
+ if (target[ReactiveFlags.SKIP] || !Object.isExtensible(target)) {
|
|
|
return target
|
|
return target
|
|
|
}
|
|
}
|
|
|
// target already has corresponding Proxy
|
|
// target already has corresponding Proxy
|
|
@@ -300,6 +293,10 @@ function createReactiveObject(
|
|
|
if (existingProxy) {
|
|
if (existingProxy) {
|
|
|
return existingProxy
|
|
return existingProxy
|
|
|
}
|
|
}
|
|
|
|
|
+ const targetType = targetTypeMap(toRawType(target))
|
|
|
|
|
+ if (targetType === TargetType.INVALID) {
|
|
|
|
|
+ return target
|
|
|
|
|
+ }
|
|
|
const proxy = new Proxy(
|
|
const proxy = new Proxy(
|
|
|
target,
|
|
target,
|
|
|
targetType === TargetType.COLLECTION ? collectionHandlers : baseHandlers,
|
|
targetType === TargetType.COLLECTION ? collectionHandlers : baseHandlers,
|