notifyEffect function
Notify a subscriber about changes
Implementation
@override
@pragma('vm:prefer-inline')
@pragma('wasm:prefer-inline')
@pragma('dart2js:prefer-inline')
void notifyEffect(JEffect e) {
JEffect? effect = e;
int insertIndex = queuedLength;
int firstInsertedIndex = insertIndex;
do {
effect!.flags &= ~(ReactiveFlags.watching);
// queued[insertIndex++] = effect;
_queueSet(insertIndex++, effect as EffectBase?);
effect = effect.subs?.sub as JEffect?;
if (effect == null || effect.flags & (ReactiveFlags.watching) == 0) {
break;
}
} while (true);
queuedLength = insertIndex;
while (firstInsertedIndex < --insertIndex) {
final left = queued[firstInsertedIndex];
// queued[firstInsertedIndex++] = queued[insertIndex];
_queueSet(firstInsertedIndex++, queued[insertIndex]);
queued[insertIndex] = left;
}
}