InputMediaUploadedDocument.deserialize constructor

InputMediaUploadedDocument.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory InputMediaUploadedDocument.deserialize(BinaryReader reader) {
  // Read [InputMediaUploadedDocument] fields.
  final flags = reader.readInt32();
  final nosoundVideo = (flags & 8) != 0;
  final forceFile = (flags & 16) != 0;
  final spoiler = (flags & 32) != 0;
  final file = reader.readObject() as InputFileBase;
  final hasThumbField = (flags & 4) != 0;
  final thumb = hasThumbField ? reader.readObject() as InputFileBase : null;
  final mimeType = reader.readString();
  final attributes = reader.readVectorObject<DocumentAttributeBase>();
  final hasStickersField = (flags & 1) != 0;
  final stickers =
      hasStickersField ? reader.readVectorObject<InputDocumentBase>() : null;
  final hasTtlSecondsField = (flags & 2) != 0;
  final ttlSeconds = hasTtlSecondsField ? reader.readInt32() : null;

  // Construct [InputMediaUploadedDocument] object.
  final returnValue = InputMediaUploadedDocument(
    nosoundVideo: nosoundVideo,
    forceFile: forceFile,
    spoiler: spoiler,
    file: file,
    thumb: thumb,
    mimeType: mimeType,
    attributes: attributes,
    stickers: stickers,
    ttlSeconds: ttlSeconds,
  );

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