map<TResult extends Object?> method

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

Implementation

TResult map<TResult extends Object?>({
  required TResult Function(AuthorizationStateClosed value) closed,
  required TResult Function(AuthorizationStateClosing value) closing,
  required TResult Function(AuthorizationStateLoggingOut value) loggingOut,
  required TResult Function(AuthorizationStateReady value) ready,
  required TResult Function(AuthorizationStateWaitCode value) waitCode,
  required TResult Function(AuthorizationStateWaitEmailAddress value)
  waitEmailAddress,
  required TResult Function(AuthorizationStateWaitEmailCode value)
  waitEmailCode,
  required TResult Function(
    AuthorizationStateWaitOtherDeviceConfirmation value,
  )
  waitOtherDeviceConfirmation,
  required TResult Function(AuthorizationStateWaitPassword value)
  waitPassword,
  required TResult Function(AuthorizationStateWaitPhoneNumber value)
  waitPhoneNumber,
  required TResult Function(AuthorizationStateWaitPremiumPurchase value)
  waitPremiumPurchase,
  required TResult Function(AuthorizationStateWaitRegistration value)
  waitRegistration,
  required TResult Function(AuthorizationStateWaitTdlibParameters value)
  waitTdlibParameters,
}) {
  switch (getConstructor()) {
    case AuthorizationStateClosed.constructor:
      return closed.call(this as AuthorizationStateClosed);
    case AuthorizationStateClosing.constructor:
      return closing.call(this as AuthorizationStateClosing);
    case AuthorizationStateLoggingOut.constructor:
      return loggingOut.call(this as AuthorizationStateLoggingOut);
    case AuthorizationStateReady.constructor:
      return ready.call(this as AuthorizationStateReady);
    case AuthorizationStateWaitCode.constructor:
      return waitCode.call(this as AuthorizationStateWaitCode);
    case AuthorizationStateWaitEmailAddress.constructor:
      return waitEmailAddress.call(
        this as AuthorizationStateWaitEmailAddress,
      );
    case AuthorizationStateWaitEmailCode.constructor:
      return waitEmailCode.call(this as AuthorizationStateWaitEmailCode);
    case AuthorizationStateWaitOtherDeviceConfirmation.constructor:
      return waitOtherDeviceConfirmation.call(
        this as AuthorizationStateWaitOtherDeviceConfirmation,
      );
    case AuthorizationStateWaitPassword.constructor:
      return waitPassword.call(this as AuthorizationStateWaitPassword);
    case AuthorizationStateWaitPhoneNumber.constructor:
      return waitPhoneNumber.call(this as AuthorizationStateWaitPhoneNumber);
    case AuthorizationStateWaitPremiumPurchase.constructor:
      return waitPremiumPurchase.call(
        this as AuthorizationStateWaitPremiumPurchase,
      );
    case AuthorizationStateWaitRegistration.constructor:
      return waitRegistration.call(
        this as AuthorizationStateWaitRegistration,
      );
    case AuthorizationStateWaitTdlibParameters.constructor:
      return waitTdlibParameters.call(
        this as AuthorizationStateWaitTdlibParameters,
      );
  }
  throw StateError('not handled type Generator');
}