map.set('b', 1)
expect(spy).toHaveBeenCalledTimes(3)
})
+
+ it('should trigger has only once for non-reactive keys', () => {
+ const map = new Map()
+ const spy = jest.fn()
+ map.has = spy
+
+ let proxy = reactive(map)
+ proxy.has('k')
+
+ expect(spy).toBeCalledTimes(1)
+ })
})
})
!isReadonly && track(rawTarget, TrackOpTypes.HAS, key)
}
!isReadonly && track(rawTarget, TrackOpTypes.HAS, rawKey)
- return target.has(key) || target.has(rawKey)
+ return key === rawKey
+ ? target.has(key)
+ : target.has(key) || target.has(rawKey)
}
function size(target: IterableCollections, isReadonly = false) {