maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult requestChat(
    1. KeyboardButtonTypeRequestChat value
    )?,
  2. TResult requestLocation(
    1. KeyboardButtonTypeRequestLocation value
    )?,
  3. TResult requestManagedBot(
    1. KeyboardButtonTypeRequestManagedBot value
    )?,
  4. TResult requestPhoneNumber(
    1. KeyboardButtonTypeRequestPhoneNumber value
    )?,
  5. TResult requestPoll(
    1. KeyboardButtonTypeRequestPoll value
    )?,
  6. TResult requestUsers(
    1. KeyboardButtonTypeRequestUsers value
    )?,
  7. TResult text(
    1. KeyboardButtonTypeText value
    )?,
  8. TResult webApp(
    1. KeyboardButtonTypeWebApp value
    )?,
  9. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(KeyboardButtonTypeRequestChat value)? requestChat,
  TResult Function(KeyboardButtonTypeRequestLocation value)? requestLocation,
  TResult Function(KeyboardButtonTypeRequestManagedBot value)?
  requestManagedBot,
  TResult Function(KeyboardButtonTypeRequestPhoneNumber value)?
  requestPhoneNumber,
  TResult Function(KeyboardButtonTypeRequestPoll value)? requestPoll,
  TResult Function(KeyboardButtonTypeRequestUsers value)? requestUsers,
  TResult Function(KeyboardButtonTypeText value)? text,
  TResult Function(KeyboardButtonTypeWebApp value)? webApp,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case KeyboardButtonTypeRequestChat.constructor:
      if (requestChat != null) {
        return requestChat.call(this as KeyboardButtonTypeRequestChat);
      }
      break;
    case KeyboardButtonTypeRequestLocation.constructor:
      if (requestLocation != null) {
        return requestLocation.call(
          this as KeyboardButtonTypeRequestLocation,
        );
      }
      break;
    case KeyboardButtonTypeRequestManagedBot.constructor:
      if (requestManagedBot != null) {
        return requestManagedBot.call(
          this as KeyboardButtonTypeRequestManagedBot,
        );
      }
      break;
    case KeyboardButtonTypeRequestPhoneNumber.constructor:
      if (requestPhoneNumber != null) {
        return requestPhoneNumber.call(
          this as KeyboardButtonTypeRequestPhoneNumber,
        );
      }
      break;
    case KeyboardButtonTypeRequestPoll.constructor:
      if (requestPoll != null) {
        return requestPoll.call(this as KeyboardButtonTypeRequestPoll);
      }
      break;
    case KeyboardButtonTypeRequestUsers.constructor:
      if (requestUsers != null) {
        return requestUsers.call(this as KeyboardButtonTypeRequestUsers);
      }
      break;
    case KeyboardButtonTypeText.constructor:
      if (text != null) {
        return text.call(this as KeyboardButtonTypeText);
      }
      break;
    case KeyboardButtonTypeWebApp.constructor:
      if (webApp != null) {
        return webApp.call(this as KeyboardButtonTypeWebApp);
      }
      break;
  }
  return orElse.call();
}