DraftMessage.deserialize constructor
DraftMessage.deserialize(
- BinaryReader reader
Deserialize.
Implementation
factory DraftMessage.deserialize(BinaryReader reader) {
// Read [DraftMessage] 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 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 date = reader.readDateTime();
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 RichMessageBase : null;
// Construct [DraftMessage] object.
final returnValue = DraftMessage(
noWebpage: noWebpage,
invertMedia: invertMedia,
replyTo: replyTo,
message: message,
entities: entities?.items,
media: media,
date: date,
effect: effect,
suggestedPost: suggestedPost,
richMessage: richMessage,
);
// Now return the deserialized [DraftMessage].
return returnValue;
}