maybeMap<TResult extends Object?> method

TResult maybeMap<TResult extends Object?>({
  1. TResult richMessage(
    1. DraftMessageContentRichMessage value
    )?,
  2. TResult text(
    1. DraftMessageContentText value
    )?,
  3. TResult videoNote(
    1. DraftMessageContentVideoNote value
    )?,
  4. TResult voiceNote(
    1. DraftMessageContentVoiceNote value
    )?,
  5. required TResult orElse(),
})

Implementation

TResult maybeMap<TResult extends Object?>({
  TResult Function(DraftMessageContentRichMessage value)? richMessage,
  TResult Function(DraftMessageContentText value)? text,
  TResult Function(DraftMessageContentVideoNote value)? videoNote,
  TResult Function(DraftMessageContentVoiceNote value)? voiceNote,
  required TResult Function() orElse,
}) {
  switch (getConstructor()) {
    case DraftMessageContentRichMessage.constructor:
      if (richMessage != null) {
        return richMessage.call(this as DraftMessageContentRichMessage);
      }
      break;
    case DraftMessageContentText.constructor:
      if (text != null) {
        return text.call(this as DraftMessageContentText);
      }
      break;
    case DraftMessageContentVideoNote.constructor:
      if (videoNote != null) {
        return videoNote.call(this as DraftMessageContentVideoNote);
      }
      break;
    case DraftMessageContentVoiceNote.constructor:
      if (voiceNote != null) {
        return voiceNote.call(this as DraftMessageContentVoiceNote);
      }
      break;
  }
  return orElse.call();
}