map<TResult extends Object?> method

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

Implementation

TResult map<TResult extends Object?>({
  required TResult Function(PaidMediaPhoto value) photo,
  required TResult Function(PaidMediaPreview value) preview,
  required TResult Function(PaidMediaUnsupported value) unsupported,
  required TResult Function(PaidMediaVideo value) video,
}) {
  switch (getConstructor()) {
    case PaidMediaPhoto.constructor:
      return photo.call(this as PaidMediaPhoto);
    case PaidMediaPreview.constructor:
      return preview.call(this as PaidMediaPreview);
    case PaidMediaUnsupported.constructor:
      return unsupported.call(this as PaidMediaUnsupported);
    case PaidMediaVideo.constructor:
      return video.call(this as PaidMediaVideo);
  }
  throw StateError('not handled type Generator');
}