purgeDeps function
Removes all stale dependencies from a subscriber node.
Called after a reactive computation completes to remove dependencies that were not accessed in the latest run. This keeps the dependency graph clean and prevents unnecessary updates from old dependencies.
Implementation
@pragma('vm:align-loops')
@pragma('vm:prefer-inline')
@pragma('dart2js:tryInline')
@pragma('wasm:prefer-inline')
void purgeDeps(ReactiveNode sub) {
final depsTail = sub.depsTail;
Link? dep = depsTail != null ? depsTail.nextDep : sub.deps;
while (dep != null) {
dep = unlink(dep, sub);
}
}