File tree 1 file changed +7
-10
lines changed
1 file changed +7
-10
lines changed Original file line number Diff line number Diff line change 7
7
hasOwn ,
8
8
isArray ,
9
9
hasProto ,
10
- isObject ,
11
10
isPlainObject ,
12
11
isPrimitive ,
13
12
isUndef ,
@@ -108,23 +107,21 @@ export function observe(
108
107
shallow ?: boolean ,
109
108
ssrMockReactivity ?: boolean
110
109
) : Observer | void {
111
- if ( ! isObject ( value ) || isRef ( value ) || value instanceof VNode ) {
112
- return
110
+ if ( value && hasOwn ( value , '__ob__' ) && value . __ob__ instanceof Observer ) {
111
+ return value . __ob__
113
112
}
114
- let ob : Observer | void
115
- if ( hasOwn ( value , '__ob__' ) && value . __ob__ instanceof Observer ) {
116
- ob = value . __ob__
117
- } else if (
113
+ if (
118
114
shouldObserve &&
119
115
( ssrMockReactivity || ! isServerRendering ( ) ) &&
120
116
( isArray ( value ) || isPlainObject ( value ) ) &&
121
117
Object . isExtensible ( value ) &&
122
118
! value . __v_skip /* ReactiveFlags.SKIP */ &&
123
- ! rawMap . has ( value )
119
+ ! rawMap . has ( value ) &&
120
+ ! isRef ( value ) &&
121
+ ! ( value instanceof VNode )
124
122
) {
125
- ob = new Observer ( value , shallow , ssrMockReactivity )
123
+ return new Observer ( value , shallow , ssrMockReactivity )
126
124
}
127
- return ob
128
125
}
129
126
130
127
/**
You can’t perform that action at this time.
0 commit comments