offSubscriber method
Removes all events registered by a specific subscriber.
Removes all listeners that were registered with the specified subscriber object. This is useful for cleanup when a component is destroyed.
subscriber - The subscriber object whose events should be removed
Implementation
@override
void offSubscriber(Object subscriber) {
final events = _subscriberEvents[subscriber];
if (events == null) return;
for (final event in events) {
_listeners[event]?.removeWhere(
(reg) => _subscriberEvents[subscriber]?.contains(event) ?? false,
);
if (_listeners[event]?.isEmpty ?? false) {
_listeners.remove(event);
}
}
_subscriberEvents.remove(subscriber);
}