map<TResult extends Object?> method

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

Implementation

TResult map<TResult extends Object?>({
  required TResult Function(DraftMessageContentRichMessage value) richMessage,
  required TResult Function(DraftMessageContentText value) text,
  required TResult Function(DraftMessageContentVideoNote value) videoNote,
  required TResult Function(DraftMessageContentVoiceNote value) voiceNote,
}) {
  switch (getConstructor()) {
    case DraftMessageContentRichMessage.constructor:
      return richMessage.call(this as DraftMessageContentRichMessage);
    case DraftMessageContentText.constructor:
      return text.call(this as DraftMessageContentText);
    case DraftMessageContentVideoNote.constructor:
      return videoNote.call(this as DraftMessageContentVideoNote);
    case DraftMessageContentVoiceNote.constructor:
      return voiceNote.call(this as DraftMessageContentVoiceNote);
  }
  throw StateError('not handled type Generator');
}