map<TResult extends Object?> method

TResult map<TResult extends Object?>({
  1. required TResult epic(
    1. UpgradedGiftAttributeRarityEpic value
    ),
  2. required TResult legendary(
    1. UpgradedGiftAttributeRarityLegendary value
    ),
  3. required TResult perMille(
    1. UpgradedGiftAttributeRarityPerMille value
    ),
  4. required TResult rare(
    1. UpgradedGiftAttributeRarityRare value
    ),
  5. required TResult uncommon(
    1. UpgradedGiftAttributeRarityUncommon value
    ),
})

Implementation

TResult map<TResult extends Object?>({
  required TResult Function(UpgradedGiftAttributeRarityEpic value) epic,
  required TResult Function(UpgradedGiftAttributeRarityLegendary value)
  legendary,
  required TResult Function(UpgradedGiftAttributeRarityPerMille value)
  perMille,
  required TResult Function(UpgradedGiftAttributeRarityRare value) rare,
  required TResult Function(UpgradedGiftAttributeRarityUncommon value)
  uncommon,
}) {
  switch (getConstructor()) {
    case UpgradedGiftAttributeRarityEpic.constructor:
      return epic.call(this as UpgradedGiftAttributeRarityEpic);
    case UpgradedGiftAttributeRarityLegendary.constructor:
      return legendary.call(this as UpgradedGiftAttributeRarityLegendary);
    case UpgradedGiftAttributeRarityPerMille.constructor:
      return perMille.call(this as UpgradedGiftAttributeRarityPerMille);
    case UpgradedGiftAttributeRarityRare.constructor:
      return rare.call(this as UpgradedGiftAttributeRarityRare);
    case UpgradedGiftAttributeRarityUncommon.constructor:
      return uncommon.call(this as UpgradedGiftAttributeRarityUncommon);
  }
  throw StateError('not handled type Generator');
}