Document.deserialize constructor

Document.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory Document.deserialize(BinaryReader reader) {
  // Read [Document] fields.
  final flags = reader.readInt32();
  final id = reader.readInt64();
  final accessHash = reader.readInt64();
  final fileReference = reader.readBytes();
  final date = reader.readDateTime();
  final mimeType = reader.readString();
  final size = reader.readInt64();
  final hasThumbsField = (flags & 1) != 0;
  final thumbs =
      hasThumbsField ? reader.readVectorObject<PhotoSizeBase>() : null;
  final hasVideoThumbsField = (flags & 2) != 0;
  final videoThumbs =
      hasVideoThumbsField ? reader.readVectorObject<VideoSizeBase>() : null;
  final dcId = reader.readInt32();
  final attributes = reader.readVectorObject<DocumentAttributeBase>();

  // Construct [Document] object.
  final returnValue = Document(
    id: id,
    accessHash: accessHash,
    fileReference: fileReference,
    date: date,
    mimeType: mimeType,
    size: size,
    thumbs: thumbs,
    videoThumbs: videoThumbs,
    dcId: dcId,
    attributes: attributes,
  );

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