maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult forward(
    1. StoryInteractionTypeForward value
    )?,
  2. TResult repost(
    1. StoryInteractionTypeRepost value
    )?,
  3. TResult view(
    1. StoryInteractionTypeView value
    )?,
  4. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(StoryInteractionTypeForward value)? forward,
  TResult Function(StoryInteractionTypeRepost value)? repost,
  TResult Function(StoryInteractionTypeView value)? view,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case StoryInteractionTypeForward.constructor:
      if (forward != null) {
        return forward.call(this as StoryInteractionTypeForward);
      }
      break;
    case StoryInteractionTypeRepost.constructor:
      if (repost != null) {
        return repost.call(this as StoryInteractionTypeRepost);
      }
      break;
    case StoryInteractionTypeView.constructor:
      if (view != null) {
        return view.call(this as StoryInteractionTypeView);
      }
      break;
  }
  return orElse.call();
}