File tree Expand file tree Collapse file tree 2 files changed +9
-11
lines changed
Expand file tree Collapse file tree 2 files changed +9
-11
lines changed Original file line number Diff line number Diff line change @@ -27,13 +27,12 @@ export class Computed<T = any> implements IComputed {
2727 ) { }
2828
2929 get ( ) : T {
30- const dirtyLevel = this . dirtyLevel ;
30+ let dirtyLevel = this . dirtyLevel ;
3131 if ( dirtyLevel === DirtyLevels . MaybeDirty ) {
3232 Subscriber . resolveMaybeDirty ( this ) ;
33- if ( this . dirtyLevel === DirtyLevels . Dirty ) {
34- this . update ( ) ;
35- }
36- } else if ( dirtyLevel === DirtyLevels . Dirty || dirtyLevel === DirtyLevels . Released ) {
33+ dirtyLevel = this . dirtyLevel ;
34+ }
35+ if ( dirtyLevel >= DirtyLevels . Dirty ) {
3736 this . update ( ) ;
3837 }
3938 const activeTrackId = System . activeTrackId ;
Original file line number Diff line number Diff line change @@ -38,17 +38,16 @@ export class Effect<T = any> implements IEffect {
3838 }
3939
4040 notify ( ) {
41- const dirtyLevel = this . dirtyLevel ;
42- if ( dirtyLevel === DirtyLevels . SideEffectsOnly ) {
43- this . dirtyLevel = DirtyLevels . None ;
44- Subscriber . runInnerEffects ( this . deps ) ;
45- } else {
41+ let dirtyLevel = this . dirtyLevel ;
42+ if ( dirtyLevel > DirtyLevels . None ) {
4643 if ( dirtyLevel === DirtyLevels . MaybeDirty ) {
4744 Subscriber . resolveMaybeDirty ( this ) ;
45+ dirtyLevel = this . dirtyLevel ;
4846 }
49- if ( this . dirtyLevel === DirtyLevels . Dirty ) {
47+ if ( dirtyLevel === DirtyLevels . Dirty ) {
5048 this . run ( ) ;
5149 } else {
50+ this . dirtyLevel = DirtyLevels . None ;
5251 Subscriber . runInnerEffects ( this . deps ) ;
5352 }
5453 }
You can’t perform that action at this time.
0 commit comments