MessagesSearch.deserialize constructor

MessagesSearch.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory MessagesSearch.deserialize(BinaryReader reader) {
  // Read [MessagesSearch] fields.
  final flags = reader.readInt32();
  final peer = reader.readObject() as InputPeerBase;
  final q = reader.readString();
  final hasFromIdField = (flags & 1) != 0;
  final fromId = hasFromIdField ? reader.readObject() as InputPeerBase : null;
  final hasSavedPeerIdField = (flags & 4) != 0;
  final savedPeerId =
      hasSavedPeerIdField ? reader.readObject() as InputPeerBase : null;
  final hasTopMsgIdField = (flags & 2) != 0;
  final topMsgId = hasTopMsgIdField ? reader.readInt32() : null;
  final filter = reader.readObject() as MessagesFilterBase;
  final minDate = reader.readDateTime();
  final maxDate = reader.readDateTime();
  final offsetId = reader.readInt32();
  final addOffset = reader.readInt32();
  final limit = reader.readInt32();
  final maxId = reader.readInt32();
  final minId = reader.readInt32();
  final hash = reader.readInt64();

  // Construct [MessagesSearch] object.
  final returnValue = MessagesSearch(
    peer: peer,
    q: q,
    fromId: fromId,
    savedPeerId: savedPeerId,
    topMsgId: topMsgId,
    filter: filter,
    minDate: minDate,
    maxDate: maxDate,
    offsetId: offsetId,
    addOffset: addOffset,
    limit: limit,
    maxId: maxId,
    minId: minId,
    hash: hash,
  );

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