run<Event, Req extends Object?, Res extends Object?> method

  1. @protected
Future<Maybe<Res>> run<Event, Req extends Object?, Res extends Object?>({
  1. required Event event,
  2. Req? data,
})

Method for using private InteractorOf<Backend> method to sending data to another Backend

Implementation

@protected
Future<Maybe<Res>> run<Event, Req extends Object?, Res extends Object?>({
  required Event event,
  Req? data,
}) async {
  late final Maybe<Res> response;
  try {
    response = await _backend._sendRequestToBackend(
      DataBusRequest(
        event: event,
        data: data,
        to: BackendType.toString(),
        from: _backend.runtimeType.toString(),
        id: generateSimpleRandomCode(),
      ),
    );
  } catch (error) {
    log('[$runtimeType | ${_backend.runtimeType}] ERROR: $error');
    log('''[ERROR] [isolator]
[ERROR] Got an error in the interactor action:
[ERROR] Interactor: "$runtimeType"
[ERROR] Backend: "${_backend.runtimeType}"
[ERROR] Event: "$event"
[ERROR] Request Data: "$data"
[ERROR] Error: "${errorToString(error)}"
[ERROR] Stacktrace: "${errorStackTraceToString(error) ?? StackTrace.current}"''');
    response = Maybe<Res>(data: null, error: error);
  }
  return response;
}