maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult fragmentRefund(
    1. ChatRevenueTransactionTypeFragmentRefund value
    )?,
  2. TResult fragmentWithdrawal(
    1. ChatRevenueTransactionTypeFragmentWithdrawal value
    )?,
  3. TResult sponsoredMessageEarnings(
    1. ChatRevenueTransactionTypeSponsoredMessageEarnings value
    )?,
  4. TResult suggestedPostEarnings(
    1. ChatRevenueTransactionTypeSuggestedPostEarnings value
    )?,
  5. TResult unsupported(
    1. ChatRevenueTransactionTypeUnsupported value
    )?,
  6. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(ChatRevenueTransactionTypeFragmentRefund value)?
  fragmentRefund,
  TResult Function(ChatRevenueTransactionTypeFragmentWithdrawal value)?
  fragmentWithdrawal,
  TResult Function(ChatRevenueTransactionTypeSponsoredMessageEarnings value)?
  sponsoredMessageEarnings,
  TResult Function(ChatRevenueTransactionTypeSuggestedPostEarnings value)?
  suggestedPostEarnings,
  TResult Function(ChatRevenueTransactionTypeUnsupported value)? unsupported,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case ChatRevenueTransactionTypeFragmentRefund.constructor:
      if (fragmentRefund != null) {
        return fragmentRefund.call(
          this as ChatRevenueTransactionTypeFragmentRefund,
        );
      }
      break;
    case ChatRevenueTransactionTypeFragmentWithdrawal.constructor:
      if (fragmentWithdrawal != null) {
        return fragmentWithdrawal.call(
          this as ChatRevenueTransactionTypeFragmentWithdrawal,
        );
      }
      break;
    case ChatRevenueTransactionTypeSponsoredMessageEarnings.constructor:
      if (sponsoredMessageEarnings != null) {
        return sponsoredMessageEarnings.call(
          this as ChatRevenueTransactionTypeSponsoredMessageEarnings,
        );
      }
      break;
    case ChatRevenueTransactionTypeSuggestedPostEarnings.constructor:
      if (suggestedPostEarnings != null) {
        return suggestedPostEarnings.call(
          this as ChatRevenueTransactionTypeSuggestedPostEarnings,
        );
      }
      break;
    case ChatRevenueTransactionTypeUnsupported.constructor:
      if (unsupported != null) {
        return unsupported.call(
          this as ChatRevenueTransactionTypeUnsupported,
        );
      }
      break;
  }
  return orElse.call();
}