map<TResult extends Object?> method

TResult map<TResult extends Object?>({
  1. required TResult ok(
    1. CheckChatUsernameResultOk value
    ),
  2. required TResult publicChatsTooMany(
    1. CheckChatUsernameResultPublicChatsTooMany value
    ),
  3. required TResult publicGroupsUnavailable(
    1. CheckChatUsernameResultPublicGroupsUnavailable value
    ),
  4. required TResult usernameInvalid(
    1. CheckChatUsernameResultUsernameInvalid value
    ),
  5. required TResult usernameOccupied(
    1. CheckChatUsernameResultUsernameOccupied value
    ),
  6. required TResult usernamePurchasable(
    1. CheckChatUsernameResultUsernamePurchasable value
    ),
})

Implementation

TResult map<TResult extends Object?>({
  required TResult Function(CheckChatUsernameResultOk value) ok,
  required TResult Function(CheckChatUsernameResultPublicChatsTooMany value)
  publicChatsTooMany,
  required TResult Function(
    CheckChatUsernameResultPublicGroupsUnavailable value,
  )
  publicGroupsUnavailable,
  required TResult Function(CheckChatUsernameResultUsernameInvalid value)
  usernameInvalid,
  required TResult Function(CheckChatUsernameResultUsernameOccupied value)
  usernameOccupied,
  required TResult Function(CheckChatUsernameResultUsernamePurchasable value)
  usernamePurchasable,
}) {
  switch (getConstructor()) {
    case CheckChatUsernameResultOk.constructor:
      return ok.call(this as CheckChatUsernameResultOk);
    case CheckChatUsernameResultPublicChatsTooMany.constructor:
      return publicChatsTooMany.call(
        this as CheckChatUsernameResultPublicChatsTooMany,
      );
    case CheckChatUsernameResultPublicGroupsUnavailable.constructor:
      return publicGroupsUnavailable.call(
        this as CheckChatUsernameResultPublicGroupsUnavailable,
      );
    case CheckChatUsernameResultUsernameInvalid.constructor:
      return usernameInvalid.call(
        this as CheckChatUsernameResultUsernameInvalid,
      );
    case CheckChatUsernameResultUsernameOccupied.constructor:
      return usernameOccupied.call(
        this as CheckChatUsernameResultUsernameOccupied,
      );
    case CheckChatUsernameResultUsernamePurchasable.constructor:
      return usernamePurchasable.call(
        this as CheckChatUsernameResultUsernamePurchasable,
      );
  }
  throw StateError('not handled type Generator');
}