maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult closed(
    1. AuthorizationStateClosed value
    )?,
  2. TResult closing(
    1. AuthorizationStateClosing value
    )?,
  3. TResult loggingOut(
    1. AuthorizationStateLoggingOut value
    )?,
  4. TResult ready(
    1. AuthorizationStateReady value
    )?,
  5. TResult waitCode(
    1. AuthorizationStateWaitCode value
    )?,
  6. TResult waitEmailAddress(
    1. AuthorizationStateWaitEmailAddress value
    )?,
  7. TResult waitEmailCode(
    1. AuthorizationStateWaitEmailCode value
    )?,
  8. TResult waitOtherDeviceConfirmation(
    1. AuthorizationStateWaitOtherDeviceConfirmation value
    )?,
  9. TResult waitPassword(
    1. AuthorizationStateWaitPassword value
    )?,
  10. TResult waitPhoneNumber(
    1. AuthorizationStateWaitPhoneNumber value
    )?,
  11. TResult waitPremiumPurchase(
    1. AuthorizationStateWaitPremiumPurchase value
    )?,
  12. TResult waitRegistration(
    1. AuthorizationStateWaitRegistration value
    )?,
  13. TResult waitTdlibParameters(
    1. AuthorizationStateWaitTdlibParameters value
    )?,
  14. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(AuthorizationStateClosed value)? closed,
  TResult Function(AuthorizationStateClosing value)? closing,
  TResult Function(AuthorizationStateLoggingOut value)? loggingOut,
  TResult Function(AuthorizationStateReady value)? ready,
  TResult Function(AuthorizationStateWaitCode value)? waitCode,
  TResult Function(AuthorizationStateWaitEmailAddress value)?
  waitEmailAddress,
  TResult Function(AuthorizationStateWaitEmailCode value)? waitEmailCode,
  TResult Function(AuthorizationStateWaitOtherDeviceConfirmation value)?
  waitOtherDeviceConfirmation,
  TResult Function(AuthorizationStateWaitPassword value)? waitPassword,
  TResult Function(AuthorizationStateWaitPhoneNumber value)? waitPhoneNumber,
  TResult Function(AuthorizationStateWaitPremiumPurchase value)?
  waitPremiumPurchase,
  TResult Function(AuthorizationStateWaitRegistration value)?
  waitRegistration,
  TResult Function(AuthorizationStateWaitTdlibParameters value)?
  waitTdlibParameters,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case AuthorizationStateClosed.constructor:
      if (closed != null) {
        return closed.call(this as AuthorizationStateClosed);
      }
      break;
    case AuthorizationStateClosing.constructor:
      if (closing != null) {
        return closing.call(this as AuthorizationStateClosing);
      }
      break;
    case AuthorizationStateLoggingOut.constructor:
      if (loggingOut != null) {
        return loggingOut.call(this as AuthorizationStateLoggingOut);
      }
      break;
    case AuthorizationStateReady.constructor:
      if (ready != null) {
        return ready.call(this as AuthorizationStateReady);
      }
      break;
    case AuthorizationStateWaitCode.constructor:
      if (waitCode != null) {
        return waitCode.call(this as AuthorizationStateWaitCode);
      }
      break;
    case AuthorizationStateWaitEmailAddress.constructor:
      if (waitEmailAddress != null) {
        return waitEmailAddress.call(
          this as AuthorizationStateWaitEmailAddress,
        );
      }
      break;
    case AuthorizationStateWaitEmailCode.constructor:
      if (waitEmailCode != null) {
        return waitEmailCode.call(this as AuthorizationStateWaitEmailCode);
      }
      break;
    case AuthorizationStateWaitOtherDeviceConfirmation.constructor:
      if (waitOtherDeviceConfirmation != null) {
        return waitOtherDeviceConfirmation.call(
          this as AuthorizationStateWaitOtherDeviceConfirmation,
        );
      }
      break;
    case AuthorizationStateWaitPassword.constructor:
      if (waitPassword != null) {
        return waitPassword.call(this as AuthorizationStateWaitPassword);
      }
      break;
    case AuthorizationStateWaitPhoneNumber.constructor:
      if (waitPhoneNumber != null) {
        return waitPhoneNumber.call(
          this as AuthorizationStateWaitPhoneNumber,
        );
      }
      break;
    case AuthorizationStateWaitPremiumPurchase.constructor:
      if (waitPremiumPurchase != null) {
        return waitPremiumPurchase.call(
          this as AuthorizationStateWaitPremiumPurchase,
        );
      }
      break;
    case AuthorizationStateWaitRegistration.constructor:
      if (waitRegistration != null) {
        return waitRegistration.call(
          this as AuthorizationStateWaitRegistration,
        );
      }
      break;
    case AuthorizationStateWaitTdlibParameters.constructor:
      if (waitTdlibParameters != null) {
        return waitTdlibParameters.call(
          this as AuthorizationStateWaitTdlibParameters,
        );
      }
      break;
  }
  return orElse.call();
}