@@ -45,7 +45,7 @@ export type DebuggerEventExtraInfo = {
45
45
oldTarget ?: Map < any , any > | Set < any >
46
46
}
47
47
48
- let activeEffect : ReactiveEffect | undefined
48
+ export let activeEffect : ReactiveEffect | undefined
49
49
50
50
export const ITERATE_KEY = Symbol ( __DEV__ ? 'iterate' : '' )
51
51
export const MAP_KEY_ITERATE_KEY = Symbol ( __DEV__ ? 'Map key iterate' : '' )
@@ -181,7 +181,7 @@ export function stop(runner: ReactiveEffectRunner) {
181
181
runner . effect . stop ( )
182
182
}
183
183
184
- let shouldTrack = true
184
+ export let shouldTrack = true
185
185
const trackStack : boolean [ ] = [ ]
186
186
187
187
export function pauseTracking ( ) {
@@ -200,27 +200,22 @@ export function resetTracking() {
200
200
}
201
201
202
202
export function track ( target : object , type : TrackOpTypes , key : unknown ) {
203
- if ( ! isTracking ( ) ) {
204
- return
205
- }
206
- let depsMap = targetMap . get ( target )
207
- if ( ! depsMap ) {
208
- targetMap . set ( target , ( depsMap = new Map ( ) ) )
209
- }
210
- let dep = depsMap . get ( key )
211
- if ( ! dep ) {
212
- depsMap . set ( key , ( dep = createDep ( ) ) )
213
- }
214
-
215
- const eventInfo = __DEV__
216
- ? { effect : activeEffect , target, type, key }
217
- : undefined
203
+ if ( shouldTrack && activeEffect ) {
204
+ let depsMap = targetMap . get ( target )
205
+ if ( ! depsMap ) {
206
+ targetMap . set ( target , ( depsMap = new Map ( ) ) )
207
+ }
208
+ let dep = depsMap . get ( key )
209
+ if ( ! dep ) {
210
+ depsMap . set ( key , ( dep = createDep ( ) ) )
211
+ }
218
212
219
- trackEffects ( dep , eventInfo )
220
- }
213
+ const eventInfo = __DEV__
214
+ ? { effect : activeEffect , target, type, key }
215
+ : undefined
221
216
222
- export function isTracking ( ) {
223
- return shouldTrack && ! ! activeEffect
217
+ trackEffects ( dep , eventInfo )
218
+ }
224
219
}
225
220
226
221
export function trackEffects (
0 commit comments