TrackOpTypes,
TriggerOpTypes,
DebuggerEvent,
- markRaw,
- ref
+ markRaw
} from '../src/index'
import { ITERATE_KEY } from '../src/effect'
expect(dummy).toBe(0)
expect(record).toBeUndefined()
})
-
- it('should handle self dependency mutations', () => {
- const count = ref(0)
- effect(() => {
- count.value++
- })
- expect(count.value).toBe(1)
- count.value = 10
- expect(count.value).toBe(11)
- })
})
const effects = new Set<ReactiveEffect>()
const add = (effectsToAdd: Set<ReactiveEffect> | undefined) => {
if (effectsToAdd) {
- effectsToAdd.forEach(effect => {
- if (effect !== activeEffect || !shouldTrack) {
- effects.add(effect)
- } else {
- // the effect mutated its own dependency during its execution.
- // this can be caused by operations like foo.value++
- // do not trigger or we end in an infinite loop
- }
- })
+ effectsToAdd.forEach(effect => effects.add(effect))
}
}