maybeMap<TResult extends Object?> method

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

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(GiftPurchaseOfferStateAccepted value)? accepted,
  TResult Function(GiftPurchaseOfferStatePending value)? pending,
  TResult Function(GiftPurchaseOfferStateRejected value)? rejected,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case GiftPurchaseOfferStateAccepted.constructor:
      if (accepted != null) {
        return accepted.call(this as GiftPurchaseOfferStateAccepted);
      }
      break;
    case GiftPurchaseOfferStatePending.constructor:
      if (pending != null) {
        return pending.call(this as GiftPurchaseOfferStatePending);
      }
      break;
    case GiftPurchaseOfferStateRejected.constructor:
      if (rejected != null) {
        return rejected.call(this as GiftPurchaseOfferStateRejected);
      }
      break;
  }
  return orElse.call();
}