publish<TEvent extends ApplicationEvent> method

Future<void> publish<TEvent extends ApplicationEvent>(
  1. TEvent event
)

Implementation

Future<void> publish<TEvent extends ApplicationEvent>(TEvent event) async {
  var mapping = ref.read(combinedEventHandlerMappingProvider);

  final handlers = mapping.getHandlers<TEvent>();
  if (handlers != null) {
    for (var handler in handlers) {
      await handler.handle(event);
    }
  }

  state = state.copyWithEvent(event);
}