maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult anonymousAdministrator(
    1. ReactionUnavailabilityReasonAnonymousAdministrator value
    )?,
  2. TResult guest(
    1. ReactionUnavailabilityReasonGuest value
    )?,
  3. TResult restricted(
    1. ReactionUnavailabilityReasonRestricted value
    )?,
  4. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(ReactionUnavailabilityReasonAnonymousAdministrator value)?
  anonymousAdministrator,
  TResult Function(ReactionUnavailabilityReasonGuest value)? guest,
  TResult Function(ReactionUnavailabilityReasonRestricted value)? restricted,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case ReactionUnavailabilityReasonAnonymousAdministrator.constructor:
      if (anonymousAdministrator != null) {
        return anonymousAdministrator.call(
          this as ReactionUnavailabilityReasonAnonymousAdministrator,
        );
      }
      break;
    case ReactionUnavailabilityReasonGuest.constructor:
      if (guest != null) {
        return guest.call(this as ReactionUnavailabilityReasonGuest);
      }
      break;
    case ReactionUnavailabilityReasonRestricted.constructor:
      if (restricted != null) {
        return restricted.call(
          this as ReactionUnavailabilityReasonRestricted,
        );
      }
      break;
  }
  return orElse.call();
}