notify method
Notify a subscriber about changes
Implementation
@override
@pragma('vm:prefer-inline')
@pragma('wasm:prefer-inline')
@pragma('dart2js:prefer-inline')
void notify(covariant EffectBaseNode e) {
EffectBaseNode? effect = e;
int insertIndex = queuedLength;
int firstInsertedIndex = insertIndex;
do {
effect!.flags &= ~2 /* ReactiveFlags.watching */;
// queued[insertIndex++] = effect;
_queueSet(insertIndex++, effect as JEffectNode?);
effect = effect.subs?.sub as EffectBaseNode?;
if (effect == null ||
effect.flags & 2 /** 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;
}
}