maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult premium(
    1. GiveawayPrizePremium value
    )?,
  2. TResult stars(
    1. GiveawayPrizeStars value
    )?,
  3. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(GiveawayPrizePremium value)? premium,
  TResult Function(GiveawayPrizeStars value)? stars,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case GiveawayPrizePremium.constructor:
      if (premium != null) {
        return premium.call(this as GiveawayPrizePremium);
      }
      break;
    case GiveawayPrizeStars.constructor:
      if (stars != null) {
        return stars.call(this as GiveawayPrizeStars);
      }
      break;
  }
  return orElse.call();
}