unregister<TEvent> method

void unregister<TEvent>(
  1. EventHandler<TEvent> handler
)

Unregisters the given handler.

Implementation

void unregister<TEvent>(EventHandler<TEvent> handler) {
  final handlers = _getHandlersFor(TEvent);

  assert(
    handlers.contains(handler),
    'unregister<$TEvent> was called for a handler that was never registered',
  );

  // When the store is being modified, create a new copy.
  final update = handlers.toSet()..remove(handler);

  _handlers[TEvent] = update;
}