dispatch method

void dispatch(
  1. Object event
)

Implementation

void dispatch(Object event) async {
  _logger.info('dispatched event\n$event');
  _eventsController.add(event);

  final handler = _eventHandlers[event.runtimeType];

  if (handler == null) {
    _logger.info('No handler found for events of type ${event.runtimeType}!');
    return;
  } else if (!handler.callWhen(state)) {
    _logger.info('Handler does not meet it\'s condition to run!');
    return;
  }

  await handler.call(event);
}