Gateway<O extends Output, R extends Request, P extends SuccessResponse, S extends SuccessInput> constructor
Gateway<O extends Output, R extends Request, P extends SuccessResponse, S extends SuccessInput> ({
- ProvidersContext? context,
- UseCaseProvider<
Entity, UseCase< ? provider,Entity> > - UseCase<
Entity> ? useCase,
Implementation
Gateway({
ProvidersContext? context,
UseCaseProvider? provider,
UseCase? useCase,
}) : assert(
() {
return (context != null && provider != null) || useCase != null;
}(),
'',
) {
_useCase = useCase ?? provider!.getUseCaseFromContext(context!);
_useCase.subscribe<O, S>(
(output) => _processRequest(buildRequest(output)),
);
}