@@ -38,9 +38,6 @@ export enum SubscriberFlags {
38
38
InnerEffectsPending = 1 << 2 ,
39
39
ToCheckDirty = 1 << 3 ,
40
40
Dirty = 1 << 4 ,
41
- Notified = SubscriberFlags . InnerEffectsPending |
42
- SubscriberFlags . ToCheckDirty |
43
- SubscriberFlags . Dirty ,
44
41
}
45
42
46
43
let batchDepth = 0
@@ -151,14 +148,21 @@ export function propagate(link: Link): void {
151
148
subFlags &
152
149
( SubscriberFlags . Tracking |
153
150
SubscriberFlags . Recursed |
154
- SubscriberFlags . Notified )
151
+ SubscriberFlags . InnerEffectsPending |
152
+ SubscriberFlags . ToCheckDirty |
153
+ SubscriberFlags . Dirty )
155
154
) &&
156
155
( ( sub . flags = subFlags | targetFlag ) , true ) ) ||
157
156
( subFlags & SubscriberFlags . Recursed &&
158
157
! ( subFlags & SubscriberFlags . Tracking ) &&
159
158
( ( sub . flags = ( subFlags & ~ SubscriberFlags . Recursed ) | targetFlag ) ,
160
159
true ) ) ||
161
- ( ! ( subFlags & SubscriberFlags . Notified ) &&
160
+ ( ! (
161
+ subFlags &
162
+ ( SubscriberFlags . InnerEffectsPending |
163
+ SubscriberFlags . ToCheckDirty |
164
+ SubscriberFlags . Dirty )
165
+ ) &&
162
166
isValidLink ( link , sub ) &&
163
167
( ( sub . flags = subFlags | SubscriberFlags . Recursed | targetFlag ) ,
164
168
( sub as Dependency ) . subs !== undefined ) )
@@ -190,7 +194,10 @@ export function propagate(link: Link): void {
190
194
} else if (
191
195
! ( subFlags & ( SubscriberFlags . Tracking | targetFlag ) ) ||
192
196
( ! ( subFlags & targetFlag ) &&
193
- subFlags & SubscriberFlags . Notified &&
197
+ subFlags &
198
+ ( SubscriberFlags . InnerEffectsPending |
199
+ SubscriberFlags . ToCheckDirty |
200
+ SubscriberFlags . Dirty ) &&
194
201
isValidLink ( link , sub ) )
195
202
) {
196
203
sub . flags = subFlags | targetFlag
@@ -338,7 +345,13 @@ export function checkDirty(link: Link): boolean {
338
345
export function startTrack ( sub : Subscriber ) : void {
339
346
sub . depsTail = undefined
340
347
sub . flags =
341
- ( sub . flags & ~ ( SubscriberFlags . Recursed | SubscriberFlags . Notified ) ) |
348
+ ( sub . flags &
349
+ ~ (
350
+ SubscriberFlags . Recursed |
351
+ SubscriberFlags . InnerEffectsPending |
352
+ SubscriberFlags . ToCheckDirty |
353
+ SubscriberFlags . Dirty
354
+ ) ) |
342
355
SubscriberFlags . Tracking
343
356
}
344
357
0 commit comments