sendWithEventOnSuccess<TRequest, TResponse, TEvent extends ApplicationEvent> method
Future<MediatorResultTyped<TResponse> >
sendWithEventOnSuccess<TRequest, TResponse, TEvent extends ApplicationEvent>({
- required TRequest request,
- required TEvent eventFactory(
- TResponse
Implementation
Future<MediatorResultTyped<TResponse>> sendWithEventOnSuccess<TRequest, TResponse, TEvent extends ApplicationEvent>(
{required TRequest request, required TEvent Function(TResponse) eventFactory}) async {
return await send<TRequest, TResponse>(request).then((result) {
if (result.isSuccess && result.data != null) {
_eventBroker.publish<TEvent>(eventFactory(result.data as TResponse));
}
return result;
});
}