map<TResult extends Object?> method

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

Implementation

TResult map<TResult extends Object?>({
  required TResult Function(TelegramPaymentPurposeGiftedStars value)
  giftedStars,
  required TResult Function(TelegramPaymentPurposeJoinChat value) joinChat,
  required TResult Function(TelegramPaymentPurposePremiumGift value)
  premiumGift,
  required TResult Function(TelegramPaymentPurposePremiumGiftCodes value)
  premiumGiftCodes,
  required TResult Function(TelegramPaymentPurposePremiumGiveaway value)
  premiumGiveaway,
  required TResult Function(TelegramPaymentPurposeStarGiveaway value)
  starGiveaway,
  required TResult Function(TelegramPaymentPurposeStars value) stars,
}) {
  switch (getConstructor()) {
    case TelegramPaymentPurposeGiftedStars.constructor:
      return giftedStars.call(this as TelegramPaymentPurposeGiftedStars);
    case TelegramPaymentPurposeJoinChat.constructor:
      return joinChat.call(this as TelegramPaymentPurposeJoinChat);
    case TelegramPaymentPurposePremiumGift.constructor:
      return premiumGift.call(this as TelegramPaymentPurposePremiumGift);
    case TelegramPaymentPurposePremiumGiftCodes.constructor:
      return premiumGiftCodes.call(
        this as TelegramPaymentPurposePremiumGiftCodes,
      );
    case TelegramPaymentPurposePremiumGiveaway.constructor:
      return premiumGiveaway.call(
        this as TelegramPaymentPurposePremiumGiveaway,
      );
    case TelegramPaymentPurposeStarGiveaway.constructor:
      return starGiveaway.call(this as TelegramPaymentPurposeStarGiveaway);
    case TelegramPaymentPurposeStars.constructor:
      return stars.call(this as TelegramPaymentPurposeStars);
  }
  throw StateError('not handled type Generator');
}