disposeObserver method

  1. @mustCallSuper
void disposeObserver()

unwatch everything

Implementation

@mustCallSuper
void disposeObserver() {
  // This prevents accessing the map concurrently.
  final providers = _providers.values.toList();
  for (final provider in providers) {
    unwatch(provider);
  }
  _providers.clear();
  _subscriptions.clear();

  final effects = [..._effects];
  for (final effect in effects) {
    unregisterEffect(effect);
  }
  _effects.clear();
}