maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult live(
    1. StoryContentTypeLive value
    )?,
  2. TResult photo(
    1. StoryContentTypePhoto value
    )?,
  3. TResult unsupported(
    1. StoryContentTypeUnsupported value
    )?,
  4. TResult video(
    1. StoryContentTypeVideo value
    )?,
  5. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(StoryContentTypeLive value)? live,
  TResult Function(StoryContentTypePhoto value)? photo,
  TResult Function(StoryContentTypeUnsupported value)? unsupported,
  TResult Function(StoryContentTypeVideo value)? video,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case StoryContentTypeLive.constructor:
      if (live != null) {
        return live.call(this as StoryContentTypeLive);
      }
      break;
    case StoryContentTypePhoto.constructor:
      if (photo != null) {
        return photo.call(this as StoryContentTypePhoto);
      }
      break;
    case StoryContentTypeUnsupported.constructor:
      if (unsupported != null) {
        return unsupported.call(this as StoryContentTypeUnsupported);
      }
      break;
    case StoryContentTypeVideo.constructor:
      if (video != null) {
        return video.call(this as StoryContentTypeVideo);
      }
      break;
  }
  return orElse.call();
}