mediatr 0.0.1
mediatr: ^0.0.1 copied to clipboard
Dart mediatr package.
Dart mediator package #
Inspired by https://github.com/jbogard/MediatR
Example Usage #
Create a request
class AddRequest extends IRequest<int> {
final int i;
AddRequest(this.i);
}
Create a request handler
class AddRequestHandler extends IRequestHandler<int, AddRequest> {
@override
Future<int> call(AddRequest request) async {
return request.i + 1;
}
}
Register the handler to the mediator instance
final mediator = Mediator(Pipeline());
mediator.registerHandler<int, AddRequest, AddRequestHandler>(
() => AddRequestHandler(),
);
Start sending requests!
final addedOrFailure =await mediator.send<int, AddRequest>(
AddRequest(2),
);
print(addedOrFailure.fold((left) {
// an instance of Failure
},
(right) {
// The added number
}));