InputMediaDocumentExternal.deserialize constructor

InputMediaDocumentExternal.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory InputMediaDocumentExternal.deserialize(BinaryReader reader) {
  // Read [InputMediaDocumentExternal] fields.
  final flags = reader.readInt32();
  final spoiler = (flags & 2) != 0;
  final url = reader.readString();
  final hasTtlSecondsField = (flags & 1) != 0;
  final ttlSeconds = hasTtlSecondsField ? reader.readInt32() : null;
  final hasVideoCoverField = (flags & 4) != 0;
  final videoCover =
      hasVideoCoverField ? reader.readObject() as InputPhotoBase : null;
  final hasVideoTimestampField = (flags & 8) != 0;
  final videoTimestamp = hasVideoTimestampField ? reader.readInt32() : null;

  // Construct [InputMediaDocumentExternal] object.
  final returnValue = InputMediaDocumentExternal(
    spoiler: spoiler,
    url: url,
    ttlSeconds: ttlSeconds,
    videoCover: videoCover,
    videoTimestamp: videoTimestamp,
  );

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