map<TResult extends Object?> method

TResult map<TResult extends Object?>({
  1. required TResult accepted(
    1. GiftPurchaseOfferStateAccepted value
    ),
  2. required TResult pending(
    1. GiftPurchaseOfferStatePending value
    ),
  3. required TResult rejected(
    1. GiftPurchaseOfferStateRejected value
    ),
})

Implementation

TResult map<TResult extends Object?>({
  required TResult Function(GiftPurchaseOfferStateAccepted value) accepted,
  required TResult Function(GiftPurchaseOfferStatePending value) pending,
  required TResult Function(GiftPurchaseOfferStateRejected value) rejected,
}) {
  switch (getConstructor()) {
    case GiftPurchaseOfferStateAccepted.constructor:
      return accepted.call(this as GiftPurchaseOfferStateAccepted);
    case GiftPurchaseOfferStatePending.constructor:
      return pending.call(this as GiftPurchaseOfferStatePending);
    case GiftPurchaseOfferStateRejected.constructor:
      return rejected.call(this as GiftPurchaseOfferStateRejected);
  }
  throw StateError('not handled type Generator');
}