MessagesSaveDraft.deserialize constructor

MessagesSaveDraft.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory MessagesSaveDraft.deserialize(BinaryReader reader) {
  // Read [MessagesSaveDraft] fields.
  final flags = reader.readInt32();
  final noWebpage = (flags & 2) != 0;
  final invertMedia = (flags & 64) != 0;
  final hasReplyToField = (flags & 16) != 0;
  final replyTo =
      hasReplyToField ? reader.readObject() as InputReplyToBase : null;
  final peer = reader.readObject() as InputPeerBase;
  final message = reader.readString();
  final hasEntitiesField = (flags & 8) != 0;
  final entities =
      hasEntitiesField ? reader.readVectorObject<MessageEntityBase>() : null;
  final hasMediaField = (flags & 32) != 0;
  final media = hasMediaField ? reader.readObject() as InputMediaBase : null;
  final hasEffectField = (flags & 128) != 0;
  final effect = hasEffectField ? reader.readInt64() : null;
  final hasSuggestedPostField = (flags & 256) != 0;
  final suggestedPost =
      hasSuggestedPostField ? reader.readObject() as SuggestedPostBase : null;
  final hasRichMessageField = (flags & 512) != 0;
  final richMessage = hasRichMessageField
      ? reader.readObject() as InputRichMessageBase
      : null;

  // Construct [MessagesSaveDraft] object.
  final returnValue = MessagesSaveDraft(
    noWebpage: noWebpage,
    invertMedia: invertMedia,
    replyTo: replyTo,
    peer: peer,
    message: message,
    entities: entities?.items,
    media: media,
    effect: effect,
    suggestedPost: suggestedPost,
    richMessage: richMessage,
  );

  // Now return the deserialized [MessagesSaveDraft].
  return returnValue;
}