StarGift.deserialize constructor
StarGift.deserialize(
- BinaryReader reader
Deserialize.
Implementation
factory StarGift.deserialize(BinaryReader reader) {
// Read [StarGift] fields.
final flags = reader.readInt32();
final limited = (flags & 1) != 0;
final soldOut = (flags & 2) != 0;
final birthday = (flags & 4) != 0;
final requirePremium = (flags & 128) != 0;
final limitedPerUser = (flags & 256) != 0;
final peerColorAvailable = (flags & 1024) != 0;
final auction = (flags & 2048) != 0;
final id = reader.readInt64();
final sticker = reader.readObject() as DocumentBase;
final stars = reader.readInt64();
final hasAvailabilityRemainsField = (flags & 1) != 0;
final availabilityRemains =
hasAvailabilityRemainsField ? reader.readInt32() : null;
final hasAvailabilityTotalField = (flags & 1) != 0;
final availabilityTotal =
hasAvailabilityTotalField ? reader.readInt32() : null;
final hasAvailabilityResaleField = (flags & 16) != 0;
final availabilityResale =
hasAvailabilityResaleField ? reader.readInt64() : null;
final convertStars = reader.readInt64();
final hasFirstSaleDateField = (flags & 2) != 0;
final firstSaleDate = hasFirstSaleDateField ? reader.readDateTime() : null;
final hasLastSaleDateField = (flags & 2) != 0;
final lastSaleDate = hasLastSaleDateField ? reader.readDateTime() : null;
final hasUpgradeStarsField = (flags & 8) != 0;
final upgradeStars = hasUpgradeStarsField ? reader.readInt64() : null;
final hasResellMinStarsField = (flags & 16) != 0;
final resellMinStars = hasResellMinStarsField ? reader.readInt64() : null;
final hasTitleField = (flags & 32) != 0;
final title = hasTitleField ? reader.readString() : null;
final hasReleasedByField = (flags & 64) != 0;
final releasedBy =
hasReleasedByField ? reader.readObject() as PeerBase : null;
final hasPerUserTotalField = (flags & 256) != 0;
final perUserTotal = hasPerUserTotalField ? reader.readInt32() : null;
final hasPerUserRemainsField = (flags & 256) != 0;
final perUserRemains = hasPerUserRemainsField ? reader.readInt32() : null;
final hasLockedUntilDateField = (flags & 512) != 0;
final lockedUntilDate =
hasLockedUntilDateField ? reader.readDateTime() : null;
final hasAuctionSlugField = (flags & 2048) != 0;
final auctionSlug = hasAuctionSlugField ? reader.readString() : null;
final hasGiftsPerRoundField = (flags & 2048) != 0;
final giftsPerRound = hasGiftsPerRoundField ? reader.readInt32() : null;
final hasAuctionStartDateField = (flags & 2048) != 0;
final auctionStartDate =
hasAuctionStartDateField ? reader.readDateTime() : null;
final hasUpgradeVariantsField = (flags & 4096) != 0;
final upgradeVariants = hasUpgradeVariantsField ? reader.readInt32() : null;
final hasBackgroundField = (flags & 8192) != 0;
final background = hasBackgroundField
? reader.readObject() as StarGiftBackgroundBase
: null;
// Construct [StarGift] object.
final returnValue = StarGift(
limited: limited,
soldOut: soldOut,
birthday: birthday,
requirePremium: requirePremium,
limitedPerUser: limitedPerUser,
peerColorAvailable: peerColorAvailable,
auction: auction,
id: id,
sticker: sticker,
stars: stars,
availabilityRemains: availabilityRemains,
availabilityTotal: availabilityTotal,
availabilityResale: availabilityResale,
convertStars: convertStars,
firstSaleDate: firstSaleDate,
lastSaleDate: lastSaleDate,
upgradeStars: upgradeStars,
resellMinStars: resellMinStars,
title: title,
releasedBy: releasedBy,
perUserTotal: perUserTotal,
perUserRemains: perUserRemains,
lockedUntilDate: lockedUntilDate,
auctionSlug: auctionSlug,
giftsPerRound: giftsPerRound,
auctionStartDate: auctionStartDate,
upgradeVariants: upgradeVariants,
background: background,
);
// Now return the deserialized [StarGift].
return returnValue;
}