map<TResult extends Object?> method

TResult map<TResult extends Object?>({
  1. required TResult giftCode(
    1. ChatBoostSourceGiftCode value
    ),
  2. required TResult giveaway(
    1. ChatBoostSourceGiveaway value
    ),
  3. required TResult premium(
    1. ChatBoostSourcePremium value
    ),
})

Implementation

TResult map<TResult extends Object?>({
  required TResult Function(ChatBoostSourceGiftCode value) giftCode,
  required TResult Function(ChatBoostSourceGiveaway value) giveaway,
  required TResult Function(ChatBoostSourcePremium value) premium,
}) {
  switch (getConstructor()) {
    case ChatBoostSourceGiftCode.constructor:
      return giftCode.call(this as ChatBoostSourceGiftCode);
    case ChatBoostSourceGiveaway.constructor:
      return giveaway.call(this as ChatBoostSourceGiveaway);
    case ChatBoostSourcePremium.constructor:
      return premium.call(this as ChatBoostSourcePremium);
  }
  throw StateError('not handled type Generator');
}