maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult adsHidden(
    1. ReportSponsoredResultAdsHidden value
    )?,
  2. TResult failed(
    1. ReportSponsoredResultFailed value
    )?,
  3. TResult ok(
    1. ReportSponsoredResultOk value
    )?,
  4. TResult optionRequired(
    1. ReportSponsoredResultOptionRequired value
    )?,
  5. TResult premiumRequired(
    1. ReportSponsoredResultPremiumRequired value
    )?,
  6. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(ReportSponsoredResultAdsHidden value)? adsHidden,
  TResult Function(ReportSponsoredResultFailed value)? failed,
  TResult Function(ReportSponsoredResultOk value)? ok,
  TResult Function(ReportSponsoredResultOptionRequired value)? optionRequired,
  TResult Function(ReportSponsoredResultPremiumRequired value)?
  premiumRequired,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case ReportSponsoredResultAdsHidden.constructor:
      if (adsHidden != null) {
        return adsHidden.call(this as ReportSponsoredResultAdsHidden);
      }
      break;
    case ReportSponsoredResultFailed.constructor:
      if (failed != null) {
        return failed.call(this as ReportSponsoredResultFailed);
      }
      break;
    case ReportSponsoredResultOk.constructor:
      if (ok != null) {
        return ok.call(this as ReportSponsoredResultOk);
      }
      break;
    case ReportSponsoredResultOptionRequired.constructor:
      if (optionRequired != null) {
        return optionRequired.call(
          this as ReportSponsoredResultOptionRequired,
        );
      }
      break;
    case ReportSponsoredResultPremiumRequired.constructor:
      if (premiumRequired != null) {
        return premiumRequired.call(
          this as ReportSponsoredResultPremiumRequired,
        );
      }
      break;
  }
  return orElse.call();
}