invoke<Event extends EventBase> method

  1. @override
Future<InvokeResult<State>> invoke<Event extends EventBase>(
  1. Event event
)
override

Implementation

@override
Future<InvokeResult<State>> invoke<Event extends EventBase>(Event event) {
  if (isClosed) {
    throw Exception('EventBus is closed.');
  }

  if (_eventHandlers[Event]?.isEmpty ?? true) {
    return Future.value(InvokeResult.unhandled(
      state: state,
    ));
  }

  final completer = Completer<InvokeResult<State>>();
  _eventCompleters[event] = completer;
  _eventController.add(event);

  return completer.future;
}