maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult photo(
    1. PaidMediaPhoto value
    )?,
  2. TResult preview(
    1. PaidMediaPreview value
    )?,
  3. TResult unsupported(
    1. PaidMediaUnsupported value
    )?,
  4. TResult video(
    1. PaidMediaVideo value
    )?,
  5. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(PaidMediaPhoto value)? photo,
  TResult Function(PaidMediaPreview value)? preview,
  TResult Function(PaidMediaUnsupported value)? unsupported,
  TResult Function(PaidMediaVideo value)? video,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case PaidMediaPhoto.constructor:
      if (photo != null) {
        return photo.call(this as PaidMediaPhoto);
      }
      break;
    case PaidMediaPreview.constructor:
      if (preview != null) {
        return preview.call(this as PaidMediaPreview);
      }
      break;
    case PaidMediaUnsupported.constructor:
      if (unsupported != null) {
        return unsupported.call(this as PaidMediaUnsupported);
      }
      break;
    case PaidMediaVideo.constructor:
      if (video != null) {
        return video.call(this as PaidMediaVideo);
      }
      break;
  }
  return orElse.call();
}