dispose method
Permanently disposes this node, clearing all subscribers.
If purgeZeroize is true and this node's value implements Zeroizable,
the value is zeroized before the node is marked disposed.
After disposal:
- value and invalidate throw StateError.
- set is a safe no-op.
- subscribe throws StateError.
Calling dispose on an already-disposed node is a safe no-op (idempotent).
Implementation
@override
void dispose({bool purgeZeroize = false}) {
for (final node in _trackedSources) {
_subscriptions.remove(node)?.call();
}
_trackedSources.clear();
_nodesReadThisCompute.clear();
super.dispose(purgeZeroize: purgeZeroize);
}