disposeNode function

void disposeNode(
  1. ReactiveNode e
)

Disposes a reactive node: marks it ReactiveFlags.disposed, detaches dependencies/subscribers. The node no longer participates in updates or propagation.

Parameters:

  • e: Node to dispose

Example:

final effectNode = CustomEffectNode();
disposeNode(effectNode);

Implementation

void disposeNode(ReactiveNode e) {
  assert(() {
    JoltDebug.dispose(e);
    return true;
  }());

  e
    ..depsTail = null
    ..flags = ReactiveFlags.disposed;
  purgeDeps(e);
  final sub = e.subs;
  if (sub != null) {
    unlink(sub);
  }
}