maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult messagesRequired(
    1. ReportChatResultMessagesRequired value
    )?,
  2. TResult ok(
    1. ReportChatResultOk value
    )?,
  3. TResult optionRequired(
    1. ReportChatResultOptionRequired value
    )?,
  4. TResult textRequired(
    1. ReportChatResultTextRequired value
    )?,
  5. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(ReportChatResultMessagesRequired value)? messagesRequired,
  TResult Function(ReportChatResultOk value)? ok,
  TResult Function(ReportChatResultOptionRequired value)? optionRequired,
  TResult Function(ReportChatResultTextRequired value)? textRequired,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case ReportChatResultMessagesRequired.constructor:
      if (messagesRequired != null) {
        return messagesRequired.call(
          this as ReportChatResultMessagesRequired,
        );
      }
      break;
    case ReportChatResultOk.constructor:
      if (ok != null) {
        return ok.call(this as ReportChatResultOk);
      }
      break;
    case ReportChatResultOptionRequired.constructor:
      if (optionRequired != null) {
        return optionRequired.call(this as ReportChatResultOptionRequired);
      }
      break;
    case ReportChatResultTextRequired.constructor:
      if (textRequired != null) {
        return textRequired.call(this as ReportChatResultTextRequired);
      }
      break;
  }
  return orElse.call();
}