maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult businessFeature(
    1. PremiumSourceBusinessFeature value
    )?,
  2. TResult feature(
    1. PremiumSourceFeature value
    )?,
  3. TResult limitExceeded(
    1. PremiumSourceLimitExceeded value
    )?,
  4. TResult link(
    1. PremiumSourceLink value
    )?,
  5. TResult settings(
    1. PremiumSourceSettings value
    )?,
  6. TResult storyFeature(
    1. PremiumSourceStoryFeature value
    )?,
  7. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(PremiumSourceBusinessFeature value)? businessFeature,
  TResult Function(PremiumSourceFeature value)? feature,
  TResult Function(PremiumSourceLimitExceeded value)? limitExceeded,
  TResult Function(PremiumSourceLink value)? link,
  TResult Function(PremiumSourceSettings value)? settings,
  TResult Function(PremiumSourceStoryFeature value)? storyFeature,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case PremiumSourceBusinessFeature.constructor:
      if (businessFeature != null) {
        return businessFeature.call(this as PremiumSourceBusinessFeature);
      }
      break;
    case PremiumSourceFeature.constructor:
      if (feature != null) {
        return feature.call(this as PremiumSourceFeature);
      }
      break;
    case PremiumSourceLimitExceeded.constructor:
      if (limitExceeded != null) {
        return limitExceeded.call(this as PremiumSourceLimitExceeded);
      }
      break;
    case PremiumSourceLink.constructor:
      if (link != null) {
        return link.call(this as PremiumSourceLink);
      }
      break;
    case PremiumSourceSettings.constructor:
      if (settings != null) {
        return settings.call(this as PremiumSourceSettings);
      }
      break;
    case PremiumSourceStoryFeature.constructor:
      if (storyFeature != null) {
        return storyFeature.call(this as PremiumSourceStoryFeature);
      }
      break;
  }
  return orElse.call();
}