purgeDeps function

void purgeDeps(
  1. ReactiveNode sub
)

Removes all dependency links from a subscriber so future tracking starts from a clean slate.

Parameters:

  • sub: Subscriber node whose dependencies should be detached

Example:

final effectNode = CustomEffectNode();
purgeDeps(effectNode);

Implementation

@pragma("vm:prefer-inline")
@pragma("wasm:prefer-inline")
@pragma("dart2js:prefer-inline")
void purgeDeps(ReactiveNode sub) {
  final depsTail = sub.depsTail;
  var dep = depsTail != null ? depsTail.nextDep : sub.deps;
  while (dep != null) {
    dep = unlink(dep, sub);
  }
}