116
117
if (this._observers.size === 0) {
119
>
// Without observers, we don't know when to clean up stuff.
120
>
// Thus, we don't cache anything to prevent memory leaks.
121
>
try {
122
>
this._isReaderValid = true;
123
>
let changeSummary = undefined;
124
>
if (this._changeTracker) {
125
changeSummary = this._changeTracker.createChangeSummary(undefined);
126
this._changeTracker.beforeUpdate?.(this, changeSummary);
127
}
129
>
} finally {
130
>
this._isReaderValid = false;
131
>
}
132
>
// Clear new dependencies
133
>
this.onLastObserverRemoved();
134
>
return result;
135
>
136
} else {
137
do {