maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult administrator(
    1. ChatMemberStatusAdministrator value
    )?,
  2. TResult banned(
    1. ChatMemberStatusBanned value
    )?,
  3. TResult creator(
    1. ChatMemberStatusCreator value
    )?,
  4. TResult left(
    1. ChatMemberStatusLeft value
    )?,
  5. TResult member(
    1. ChatMemberStatusMember value
    )?,
  6. TResult restricted(
    1. ChatMemberStatusRestricted value
    )?,
  7. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(ChatMemberStatusAdministrator value)? administrator,
  TResult Function(ChatMemberStatusBanned value)? banned,
  TResult Function(ChatMemberStatusCreator value)? creator,
  TResult Function(ChatMemberStatusLeft value)? left,
  TResult Function(ChatMemberStatusMember value)? member,
  TResult Function(ChatMemberStatusRestricted value)? restricted,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case ChatMemberStatusAdministrator.constructor:
      if (administrator != null) {
        return administrator.call(this as ChatMemberStatusAdministrator);
      }
      break;
    case ChatMemberStatusBanned.constructor:
      if (banned != null) {
        return banned.call(this as ChatMemberStatusBanned);
      }
      break;
    case ChatMemberStatusCreator.constructor:
      if (creator != null) {
        return creator.call(this as ChatMemberStatusCreator);
      }
      break;
    case ChatMemberStatusLeft.constructor:
      if (left != null) {
        return left.call(this as ChatMemberStatusLeft);
      }
      break;
    case ChatMemberStatusMember.constructor:
      if (member != null) {
        return member.call(this as ChatMemberStatusMember);
      }
      break;
    case ChatMemberStatusRestricted.constructor:
      if (restricted != null) {
        return restricted.call(this as ChatMemberStatusRestricted);
      }
      break;
  }
  return orElse.call();
}