purgeDeps function

void purgeDeps(
  1. ReactiveNode sub
)

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);
  }
}