| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | 
							- "use strict";
 
- Object.defineProperty(exports, "__esModule", { value: true });
 
- exports.Tracker = void 0;
 
- const system_1 = require("./system");
 
- class Tracker {
 
-     constructor(spread, effect) {
 
-         this.spread = spread;
 
-         this.effect = effect;
 
-         this.dirtyLevel = 3 /* DirtyLevels.Dirty */;
 
-         this.trackId = 0;
 
-         this.runnings = 0;
 
-         this.queryings = 0;
 
-         this.depsLength = 0;
 
-     }
 
-     get dirty() {
 
-         if (this.dirtyLevel === 1 /* DirtyLevels.ComputedValueMaybeDirty */) {
 
-             this.dirtyLevel = 0 /* DirtyLevels.NotDirty */;
 
-             if (this.trackToken) {
 
-                 const deps = system_1.depsMap.get(this.trackToken);
 
-                 if (deps) {
 
-                     this.queryings++;
 
-                     (0, system_1.pauseTracking)();
 
-                     for (const dep of deps) {
 
-                         if (dep.computed) {
 
-                             dep.computed();
 
-                             if (this.dirtyLevel >= 2 /* DirtyLevels.ComputedValueDirty */) {
 
-                                 break;
 
-                             }
 
-                         }
 
-                     }
 
-                     (0, system_1.resetTracking)();
 
-                     this.queryings--;
 
-                 }
 
-             }
 
-         }
 
-         return this.dirtyLevel >= 2 /* DirtyLevels.ComputedValueDirty */;
 
-     }
 
-     track(fn) {
 
-         try {
 
-             system_1.activeTrackers.push(this);
 
-             this.runnings++;
 
-             preCleanup(this);
 
-             return fn();
 
-         }
 
-         finally {
 
-             postCleanup(this);
 
-             this.runnings--;
 
-             system_1.activeTrackers.pop();
 
-             if (!this.runnings) {
 
-                 this.dirtyLevel = 0 /* DirtyLevels.NotDirty */;
 
-             }
 
-         }
 
-     }
 
-     reset() {
 
-         preCleanup(this);
 
-         postCleanup(this);
 
-         this.dirtyLevel = 3 /* DirtyLevels.Dirty */;
 
-     }
 
-     deref() {
 
-         return this;
 
-     }
 
- }
 
- exports.Tracker = Tracker;
 
- function preCleanup(tracker) {
 
-     tracker.trackId++;
 
-     tracker.depsLength = 0;
 
- }
 
- function postCleanup(tracker) {
 
-     if (tracker.trackToken) {
 
-         const deps = system_1.depsMap.get(tracker.trackToken);
 
-         if (deps && deps.length > tracker.depsLength) {
 
-             for (let i = tracker.depsLength; i < deps.length; i++) {
 
-                 (0, system_1.cleanupDepEffect)(deps[i], tracker);
 
-             }
 
-             deps.length = tracker.depsLength;
 
-         }
 
-     }
 
- }
 
 
  |