ChatInviteExported.deserialize constructor

ChatInviteExported.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory ChatInviteExported.deserialize(BinaryReader reader) {
  // Read [ChatInviteExported] fields.
  final flags = reader.readInt32();
  final revoked = (flags & 1) != 0;
  final permanent = (flags & 32) != 0;
  final requestNeeded = (flags & 64) != 0;
  final link = reader.readString();
  final adminId = reader.readInt64();
  final date = reader.readDateTime();
  final hasStartDateField = (flags & 16) != 0;
  final startDate = hasStartDateField ? reader.readDateTime() : null;
  final hasExpireDateField = (flags & 2) != 0;
  final expireDate = hasExpireDateField ? reader.readDateTime() : null;
  final hasUsageLimitField = (flags & 4) != 0;
  final usageLimit = hasUsageLimitField ? reader.readInt32() : null;
  final hasUsageField = (flags & 8) != 0;
  final usage = hasUsageField ? reader.readInt32() : null;
  final hasRequestedField = (flags & 128) != 0;
  final requested = hasRequestedField ? reader.readInt32() : null;
  final hasTitleField = (flags & 256) != 0;
  final title = hasTitleField ? reader.readString() : null;

  // Construct [ChatInviteExported] object.
  final returnValue = ChatInviteExported(
    revoked: revoked,
    permanent: permanent,
    requestNeeded: requestNeeded,
    link: link,
    adminId: adminId,
    date: date,
    startDate: startDate,
    expireDate: expireDate,
    usageLimit: usageLimit,
    usage: usage,
    requested: requested,
    title: title,
  );

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