in packages/reactive/src/handlers.ts [170:191]
get(target, key, receiver) {
if (!key) return
const result = target[key] // use Reflect.get is too slow
if (typeof key === 'symbol' && wellKnownSymbols.has(key)) {
return result
}
bindTargetKeyWithCurrentReaction({ target, key, receiver, type: 'get' })
const observableResult = RawProxy.get(result)
if (observableResult) {
return observableResult
}
if (!isObservable(result) && isSupportObservable(result)) {
const descriptor = Reflect.getOwnPropertyDescriptor(target, key)
if (
!descriptor ||
!(descriptor.writable === false && descriptor.configurable === false)
) {
return createObservable(target, key, result)
}
}
return result
},