offEvent method

  1. @override
void offEvent(
  1. String event
)
override

Removes all listeners registered for a specific event.

Completely clears all listeners for the event and removes the event from all groups and subscriber tracking.

event - The event name to clear all listeners for

Implementation

@override
void offEvent(String event) {
  _listeners.remove(event);
  for (final group in _eventGroups.values) {
    group.remove(event);
  }
  _eventGroups.removeWhere((_, events) => events.isEmpty);

  for (final subscriber in _subscriberEvents.keys) {
    _subscriberEvents[subscriber]?.remove(event);
  }

  _subscriberEvents.removeWhere((_, events) => events.isEmpty);
}