maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult activeStoryLimitExceeded(
    1. CanPostStoryResultActiveStoryLimitExceeded value
    )?,
  2. TResult boostNeeded(
    1. CanPostStoryResultBoostNeeded value
    )?,
  3. TResult liveStoryIsActive(
    1. CanPostStoryResultLiveStoryIsActive value
    )?,
  4. TResult monthlyLimitExceeded(
    1. CanPostStoryResultMonthlyLimitExceeded value
    )?,
  5. TResult ok(
    1. CanPostStoryResultOk value
    )?,
  6. TResult premiumNeeded(
    1. CanPostStoryResultPremiumNeeded value
    )?,
  7. TResult weeklyLimitExceeded(
    1. CanPostStoryResultWeeklyLimitExceeded value
    )?,
  8. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(CanPostStoryResultActiveStoryLimitExceeded value)?
  activeStoryLimitExceeded,
  TResult Function(CanPostStoryResultBoostNeeded value)? boostNeeded,
  TResult Function(CanPostStoryResultLiveStoryIsActive value)?
  liveStoryIsActive,
  TResult Function(CanPostStoryResultMonthlyLimitExceeded value)?
  monthlyLimitExceeded,
  TResult Function(CanPostStoryResultOk value)? ok,
  TResult Function(CanPostStoryResultPremiumNeeded value)? premiumNeeded,
  TResult Function(CanPostStoryResultWeeklyLimitExceeded value)?
  weeklyLimitExceeded,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case CanPostStoryResultActiveStoryLimitExceeded.constructor:
      if (activeStoryLimitExceeded != null) {
        return activeStoryLimitExceeded.call(
          this as CanPostStoryResultActiveStoryLimitExceeded,
        );
      }
      break;
    case CanPostStoryResultBoostNeeded.constructor:
      if (boostNeeded != null) {
        return boostNeeded.call(this as CanPostStoryResultBoostNeeded);
      }
      break;
    case CanPostStoryResultLiveStoryIsActive.constructor:
      if (liveStoryIsActive != null) {
        return liveStoryIsActive.call(
          this as CanPostStoryResultLiveStoryIsActive,
        );
      }
      break;
    case CanPostStoryResultMonthlyLimitExceeded.constructor:
      if (monthlyLimitExceeded != null) {
        return monthlyLimitExceeded.call(
          this as CanPostStoryResultMonthlyLimitExceeded,
        );
      }
      break;
    case CanPostStoryResultOk.constructor:
      if (ok != null) {
        return ok.call(this as CanPostStoryResultOk);
      }
      break;
    case CanPostStoryResultPremiumNeeded.constructor:
      if (premiumNeeded != null) {
        return premiumNeeded.call(this as CanPostStoryResultPremiumNeeded);
      }
      break;
    case CanPostStoryResultWeeklyLimitExceeded.constructor:
      if (weeklyLimitExceeded != null) {
        return weeklyLimitExceeded.call(
          this as CanPostStoryResultWeeklyLimitExceeded,
        );
      }
      break;
  }
  return orElse.call();
}