expect(index).toBe(1)
})
+ test('delete on Array should not trigger length dependency', () => {
+ const arr = reactive([1, 2, 3])
+ const fn = jest.fn()
+ effect(() => {
+ fn(arr.length)
+ })
+ expect(fn).toHaveBeenCalledTimes(1)
+ delete arr[1]
+ expect(fn).toHaveBeenCalledTimes(1)
+ })
+
describe('Array methods w/ refs', () => {
let original: any[]
beforeEach(() => {
// also run for iteration key on ADD | DELETE | Map.SET
if (
type === TriggerOpTypes.ADD ||
- type === TriggerOpTypes.DELETE ||
+ (type === TriggerOpTypes.DELETE && !isArray(target)) ||
(type === TriggerOpTypes.SET && target instanceof Map)
) {
const iterationKey = isArray(target) ? 'length' : ITERATE_KEY