proxy.clear()
expect(spy).toBeCalledTimes(1)
})
+
+ it('should return proxy from Map.set call', () => {
+ const map = reactive(new Map())
+ const result = map.set('a', 'a')
+ expect(result).toBe(map)
+ })
})
})
proxy.clear()
expect(spy).toBeCalledTimes(1)
})
+
+ it('should return proxy from Set.add call', () => {
+ const set = reactive(new Set())
+ const result = set.add('a')
+ expect(result).toBe(set)
+ })
})
})
map.set(key, NaN)
expect(mapSpy).toHaveBeenCalledTimes(1)
})
+ it('should return proxy from WeakMap.set call', () => {
+ const map = reactive(new WeakMap())
+ const result = map.set({}, 'a')
+ expect(result).toBe(map)
+ })
})
})
expect(observed.has(value)).toBe(true)
expect(set.has(value)).toBe(false)
})
+
+ it('should return proxy from WeakSet.add call', () => {
+ const set = reactive(new WeakSet())
+ const result = set.add({})
+ expect(result).toBe(set)
+ })
})
})
const target = toRaw(this)
const proto = getProto(target)
const hadKey = proto.has.call(target, value)
- const result = target.add(value)
+ target.add(value)
if (!hadKey) {
trigger(target, TriggerOpTypes.ADD, value, value)
}
- return result
+ return this
}
function set(this: MapTypes, key: unknown, value: unknown) {
}
const oldValue = get.call(target, key)
- const result = target.set(key, value)
+ target.set(key, value)
if (!hadKey) {
trigger(target, TriggerOpTypes.ADD, key, value)
} else if (hasChanged(value, oldValue)) {
trigger(target, TriggerOpTypes.SET, key, value, oldValue)
}
- return result
+ return this
}
function deleteEntry(this: CollectionTypes, key: unknown) {