ChannelParticipantSelf.deserialize constructor

ChannelParticipantSelf.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory ChannelParticipantSelf.deserialize(BinaryReader reader) {
  // Read [ChannelParticipantSelf] fields.
  final flags = reader.readInt32();
  final viaRequest = (flags & 1) != 0;
  final userId = reader.readInt64();
  final inviterId = reader.readInt64();
  final date = reader.readDateTime();
  final hasSubscriptionUntilDateField = (flags & 2) != 0;
  final subscriptionUntilDate =
      hasSubscriptionUntilDateField ? reader.readDateTime() : null;
  final hasRankField = (flags & 4) != 0;
  final rank = hasRankField ? reader.readString() : null;

  // Construct [ChannelParticipantSelf] object.
  final returnValue = ChannelParticipantSelf(
    viaRequest: viaRequest,
    userId: userId,
    inviterId: inviterId,
    date: date,
    subscriptionUntilDate: subscriptionUntilDate,
    rank: rank,
  );

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