PaymentsGiveawayInfo.deserialize constructor

PaymentsGiveawayInfo.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory PaymentsGiveawayInfo.deserialize(BinaryReader reader) {
  // Read [PaymentsGiveawayInfo] fields.
  final flags = reader.readInt32();
  final participating = (flags & 1) != 0;
  final preparingResults = (flags & 8) != 0;
  final startDate = reader.readDateTime();
  final hasJoinedTooEarlyDateField = (flags & 2) != 0;
  final joinedTooEarlyDate =
      hasJoinedTooEarlyDateField ? reader.readDateTime() : null;
  final hasAdminDisallowedChatIdField = (flags & 4) != 0;
  final adminDisallowedChatId =
      hasAdminDisallowedChatIdField ? reader.readInt64() : null;
  final hasDisallowedCountryField = (flags & 16) != 0;
  final disallowedCountry =
      hasDisallowedCountryField ? reader.readString() : null;

  // Construct [PaymentsGiveawayInfo] object.
  final returnValue = PaymentsGiveawayInfo(
    participating: participating,
    preparingResults: preparingResults,
    startDate: startDate,
    joinedTooEarlyDate: joinedTooEarlyDate,
    adminDisallowedChatId: adminDisallowedChatId,
    disallowedCountry: disallowedCountry,
  );

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