map<TResult extends Object?> method

TResult map<TResult extends Object?>({
  1. required TResult giftedStars(
    1. StorePaymentPurposeGiftedStars value
    ),
  2. required TResult premiumGift(
    1. StorePaymentPurposePremiumGift value
    ),
  3. required TResult premiumGiftCodes(
    1. StorePaymentPurposePremiumGiftCodes value
    ),
  4. required TResult premiumGiveaway(
    1. StorePaymentPurposePremiumGiveaway value
    ),
  5. required TResult premiumSubscription(
    1. StorePaymentPurposePremiumSubscription value
    ),
  6. required TResult starGiveaway(
    1. StorePaymentPurposeStarGiveaway value
    ),
  7. required TResult stars(
    1. StorePaymentPurposeStars value
    ),
})

Implementation

TResult map<TResult extends Object?>({
  required TResult Function(StorePaymentPurposeGiftedStars value) giftedStars,
  required TResult Function(StorePaymentPurposePremiumGift value) premiumGift,
  required TResult Function(StorePaymentPurposePremiumGiftCodes value)
  premiumGiftCodes,
  required TResult Function(StorePaymentPurposePremiumGiveaway value)
  premiumGiveaway,
  required TResult Function(StorePaymentPurposePremiumSubscription value)
  premiumSubscription,
  required TResult Function(StorePaymentPurposeStarGiveaway value)
  starGiveaway,
  required TResult Function(StorePaymentPurposeStars value) stars,
}) {
  switch (getConstructor()) {
    case StorePaymentPurposeGiftedStars.constructor:
      return giftedStars.call(this as StorePaymentPurposeGiftedStars);
    case StorePaymentPurposePremiumGift.constructor:
      return premiumGift.call(this as StorePaymentPurposePremiumGift);
    case StorePaymentPurposePremiumGiftCodes.constructor:
      return premiumGiftCodes.call(
        this as StorePaymentPurposePremiumGiftCodes,
      );
    case StorePaymentPurposePremiumGiveaway.constructor:
      return premiumGiveaway.call(this as StorePaymentPurposePremiumGiveaway);
    case StorePaymentPurposePremiumSubscription.constructor:
      return premiumSubscription.call(
        this as StorePaymentPurposePremiumSubscription,
      );
    case StorePaymentPurposeStarGiveaway.constructor:
      return starGiveaway.call(this as StorePaymentPurposeStarGiveaway);
    case StorePaymentPurposeStars.constructor:
      return stars.call(this as StorePaymentPurposeStars);
  }
  throw StateError('not handled type Generator');
}