maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult live(
    1. StoryContentLive value
    )?,
  2. TResult photo(
    1. StoryContentPhoto value
    )?,
  3. TResult unsupported(
    1. StoryContentUnsupported value
    )?,
  4. TResult video(
    1. StoryContentVideo value
    )?,
  5. required TResult orElse(),
})

Implementation

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