ChannelParticipantAdmin.deserialize constructor

ChannelParticipantAdmin.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory ChannelParticipantAdmin.deserialize(BinaryReader reader) {
  // Read [ChannelParticipantAdmin] fields.
  final flags = reader.readInt32();
  final canEdit = (flags & 1) != 0;
  final self = (flags & 2) != 0;
  final userId = reader.readInt64();
  final hasInviterIdField = (flags & 2) != 0;
  final inviterId = hasInviterIdField ? reader.readInt64() : null;
  final promotedBy = reader.readInt64();
  final date = reader.readDateTime();
  final adminRights = reader.readObject() as ChatAdminRightsBase;
  final hasRankField = (flags & 4) != 0;
  final rank = hasRankField ? reader.readString() : null;

  // Construct [ChannelParticipantAdmin] object.
  final returnValue = ChannelParticipantAdmin(
    canEdit: canEdit,
    self: self,
    userId: userId,
    inviterId: inviterId,
    promotedBy: promotedBy,
    date: date,
    adminRights: adminRights,
    rank: rank,
  );

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