ChannelParticipant.deserialize constructor

ChannelParticipant.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

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

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

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