maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult giftedStars(
    1. TelegramPaymentPurposeGiftedStars value
    )?,
  2. TResult joinChat(
    1. TelegramPaymentPurposeJoinChat value
    )?,
  3. TResult premiumGift(
    1. TelegramPaymentPurposePremiumGift value
    )?,
  4. TResult premiumGiftCodes(
    1. TelegramPaymentPurposePremiumGiftCodes value
    )?,
  5. TResult premiumGiveaway(
    1. TelegramPaymentPurposePremiumGiveaway value
    )?,
  6. TResult starGiveaway(
    1. TelegramPaymentPurposeStarGiveaway value
    )?,
  7. TResult stars(
    1. TelegramPaymentPurposeStars value
    )?,
  8. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(TelegramPaymentPurposeGiftedStars value)? giftedStars,
  TResult Function(TelegramPaymentPurposeJoinChat value)? joinChat,
  TResult Function(TelegramPaymentPurposePremiumGift value)? premiumGift,
  TResult Function(TelegramPaymentPurposePremiumGiftCodes value)?
  premiumGiftCodes,
  TResult Function(TelegramPaymentPurposePremiumGiveaway value)?
  premiumGiveaway,
  TResult Function(TelegramPaymentPurposeStarGiveaway value)? starGiveaway,
  TResult Function(TelegramPaymentPurposeStars value)? stars,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case TelegramPaymentPurposeGiftedStars.constructor:
      if (giftedStars != null) {
        return giftedStars.call(this as TelegramPaymentPurposeGiftedStars);
      }
      break;
    case TelegramPaymentPurposeJoinChat.constructor:
      if (joinChat != null) {
        return joinChat.call(this as TelegramPaymentPurposeJoinChat);
      }
      break;
    case TelegramPaymentPurposePremiumGift.constructor:
      if (premiumGift != null) {
        return premiumGift.call(this as TelegramPaymentPurposePremiumGift);
      }
      break;
    case TelegramPaymentPurposePremiumGiftCodes.constructor:
      if (premiumGiftCodes != null) {
        return premiumGiftCodes.call(
          this as TelegramPaymentPurposePremiumGiftCodes,
        );
      }
      break;
    case TelegramPaymentPurposePremiumGiveaway.constructor:
      if (premiumGiveaway != null) {
        return premiumGiveaway.call(
          this as TelegramPaymentPurposePremiumGiveaway,
        );
      }
      break;
    case TelegramPaymentPurposeStarGiveaway.constructor:
      if (starGiveaway != null) {
        return starGiveaway.call(this as TelegramPaymentPurposeStarGiveaway);
      }
      break;
    case TelegramPaymentPurposeStars.constructor:
      if (stars != null) {
        return stars.call(this as TelegramPaymentPurposeStars);
      }
      break;
  }
  return orElse.call();
}