maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult closed(
    1. PollVoteRestrictionReasonClosed value
    )?,
  2. TResult countryRestricted(
    1. PollVoteRestrictionReasonCountryRestricted value
    )?,
  3. TResult membershipRequired(
    1. PollVoteRestrictionReasonMembershipRequired value
    )?,
  4. TResult other(
    1. PollVoteRestrictionReasonOther value
    )?,
  5. TResult scheduled(
    1. PollVoteRestrictionReasonScheduled value
    )?,
  6. TResult yetUnsent(
    1. PollVoteRestrictionReasonYetUnsent value
    )?,
  7. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(PollVoteRestrictionReasonClosed value)? closed,
  TResult Function(PollVoteRestrictionReasonCountryRestricted value)?
  countryRestricted,
  TResult Function(PollVoteRestrictionReasonMembershipRequired value)?
  membershipRequired,
  TResult Function(PollVoteRestrictionReasonOther value)? other,
  TResult Function(PollVoteRestrictionReasonScheduled value)? scheduled,
  TResult Function(PollVoteRestrictionReasonYetUnsent value)? yetUnsent,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case PollVoteRestrictionReasonClosed.constructor:
      if (closed != null) {
        return closed.call(this as PollVoteRestrictionReasonClosed);
      }
      break;
    case PollVoteRestrictionReasonCountryRestricted.constructor:
      if (countryRestricted != null) {
        return countryRestricted.call(
          this as PollVoteRestrictionReasonCountryRestricted,
        );
      }
      break;
    case PollVoteRestrictionReasonMembershipRequired.constructor:
      if (membershipRequired != null) {
        return membershipRequired.call(
          this as PollVoteRestrictionReasonMembershipRequired,
        );
      }
      break;
    case PollVoteRestrictionReasonOther.constructor:
      if (other != null) {
        return other.call(this as PollVoteRestrictionReasonOther);
      }
      break;
    case PollVoteRestrictionReasonScheduled.constructor:
      if (scheduled != null) {
        return scheduled.call(this as PollVoteRestrictionReasonScheduled);
      }
      break;
    case PollVoteRestrictionReasonYetUnsent.constructor:
      if (yetUnsent != null) {
        return yetUnsent.call(this as PollVoteRestrictionReasonYetUnsent);
      }
      break;
  }
  return orElse.call();
}