register<TEvent> method

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

Registers the handler to a given TEvent.

Implementation

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

  assert(
    !handlers.contains(handler),
    'register<$TEvent> was called with an already registered handler',
  );

  // When the store is being modified, create a new copy.
  _handlers[TEvent] = <EventHandler<TEvent>>{
    ...handlers,
    handler,
  };
}