UpdateShortMessage.deserialize constructor

UpdateShortMessage.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory UpdateShortMessage.deserialize(BinaryReader reader) {
  // Read [UpdateShortMessage] fields.
  final flags = reader.readInt32();
  final out = (flags & 2) != 0;
  final mentioned = (flags & 16) != 0;
  final mediaUnread = (flags & 32) != 0;
  final silent = (flags & 8192) != 0;
  final id = reader.readInt32();
  final userId = reader.readInt64();
  final message = reader.readString();
  final pts = reader.readInt32();
  final ptsCount = reader.readInt32();
  final date = reader.readDateTime();
  final hasFwdFromField = (flags & 4) != 0;
  final fwdFrom =
      hasFwdFromField ? reader.readObject() as MessageFwdHeaderBase : null;
  final hasViaBotIdField = (flags & 2048) != 0;
  final viaBotId = hasViaBotIdField ? reader.readInt64() : null;
  final hasReplyToField = (flags & 8) != 0;
  final replyTo =
      hasReplyToField ? reader.readObject() as MessageReplyHeaderBase : null;
  final hasEntitiesField = (flags & 128) != 0;
  final entities =
      hasEntitiesField ? reader.readVectorObject<MessageEntityBase>() : null;
  final hasTtlPeriodField = (flags & 33554432) != 0;
  final ttlPeriod = hasTtlPeriodField ? reader.readInt32() : null;

  // Construct [UpdateShortMessage] object.
  final returnValue = UpdateShortMessage(
    out: out,
    mentioned: mentioned,
    mediaUnread: mediaUnread,
    silent: silent,
    id: id,
    userId: userId,
    message: message,
    pts: pts,
    ptsCount: ptsCount,
    date: date,
    fwdFrom: fwdFrom,
    viaBotId: viaBotId,
    replyTo: replyTo,
    entities: entities,
    ttlPeriod: ttlPeriod,
  );

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