map<TResult extends Object?> method

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

Implementation

TResult map<TResult extends Object?>({
  required TResult Function(ReportSponsoredResultAdsHidden value) adsHidden,
  required TResult Function(ReportSponsoredResultFailed value) failed,
  required TResult Function(ReportSponsoredResultOk value) ok,
  required TResult Function(ReportSponsoredResultOptionRequired value)
  optionRequired,
  required TResult Function(ReportSponsoredResultPremiumRequired value)
  premiumRequired,
}) {
  switch (getConstructor()) {
    case ReportSponsoredResultAdsHidden.constructor:
      return adsHidden.call(this as ReportSponsoredResultAdsHidden);
    case ReportSponsoredResultFailed.constructor:
      return failed.call(this as ReportSponsoredResultFailed);
    case ReportSponsoredResultOk.constructor:
      return ok.call(this as ReportSponsoredResultOk);
    case ReportSponsoredResultOptionRequired.constructor:
      return optionRequired.call(this as ReportSponsoredResultOptionRequired);
    case ReportSponsoredResultPremiumRequired.constructor:
      return premiumRequired.call(
        this as ReportSponsoredResultPremiumRequired,
      );
  }
  throw StateError('not handled type Generator');
}