clearAll method

  1. @visibleForTesting
void clearAll()

Clears all subscriptions and histories.

This method is only available in debug or testing environments to prevent accidental data loss in production.

Implementation

@visibleForTesting
void clearAll() {
  if (!kDebugMode) {
    AirLogger.warning('EventBus.clearAll() called in release mode - ignored');
    return;
  }

  for (final subs in _subscriptions.values) {
    for (final s in subs) {
      s.cancel();
    }
  }
  _subscriptions.clear();

  for (final subs in _signalSubscriptions.values) {
    for (final s in subs) {
      s.cancel();
    }
  }
  _signalSubscriptions.clear();

  _eventHistory.clear();
  _signalHistory.clear();
  _emitHistory.clear();
  _subscriptionIdCounter = 0;
}