maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult administrator(
    1. GiveawayParticipantStatusAdministrator value
    )?,
  2. TResult alreadyWasMember(
    1. GiveawayParticipantStatusAlreadyWasMember value
    )?,
  3. TResult disallowedCountry(
    1. GiveawayParticipantStatusDisallowedCountry value
    )?,
  4. TResult eligible(
    1. GiveawayParticipantStatusEligible value
    )?,
  5. TResult participating(
    1. GiveawayParticipantStatusParticipating value
    )?,
  6. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(GiveawayParticipantStatusAdministrator value)?
  administrator,
  TResult Function(GiveawayParticipantStatusAlreadyWasMember value)?
  alreadyWasMember,
  TResult Function(GiveawayParticipantStatusDisallowedCountry value)?
  disallowedCountry,
  TResult Function(GiveawayParticipantStatusEligible value)? eligible,
  TResult Function(GiveawayParticipantStatusParticipating value)?
  participating,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case GiveawayParticipantStatusAdministrator.constructor:
      if (administrator != null) {
        return administrator.call(
          this as GiveawayParticipantStatusAdministrator,
        );
      }
      break;
    case GiveawayParticipantStatusAlreadyWasMember.constructor:
      if (alreadyWasMember != null) {
        return alreadyWasMember.call(
          this as GiveawayParticipantStatusAlreadyWasMember,
        );
      }
      break;
    case GiveawayParticipantStatusDisallowedCountry.constructor:
      if (disallowedCountry != null) {
        return disallowedCountry.call(
          this as GiveawayParticipantStatusDisallowedCountry,
        );
      }
      break;
    case GiveawayParticipantStatusEligible.constructor:
      if (eligible != null) {
        return eligible.call(this as GiveawayParticipantStatusEligible);
      }
      break;
    case GiveawayParticipantStatusParticipating.constructor:
      if (participating != null) {
        return participating.call(
          this as GiveawayParticipantStatusParticipating,
        );
      }
      break;
  }
  return orElse.call();
}