StarsTransaction.deserialize constructor
StarsTransaction.deserialize(
- BinaryReader reader
Deserialize.
Implementation
factory StarsTransaction.deserialize(BinaryReader reader) {
// Read [StarsTransaction] fields.
final flags = reader.readInt32();
final refund = (flags & 8) != 0;
final pending = (flags & 16) != 0;
final failed = (flags & 64) != 0;
final gift = (flags & 1024) != 0;
final reaction = (flags & 2048) != 0;
final stargiftUpgrade = (flags & 262144) != 0;
final businessTransfer = (flags & 2097152) != 0;
final stargiftResale = (flags & 4194304) != 0;
final postsSearch = (flags & 16777216) != 0;
final stargiftPrepaidUpgrade = (flags & 33554432) != 0;
final stargiftDropOriginalDetails = (flags & 67108864) != 0;
final phonegroupMessage = (flags & 134217728) != 0;
final stargiftAuctionBid = (flags & 268435456) != 0;
final offer = (flags & 536870912) != 0;
final id = reader.readString();
final amount = reader.readObject() as StarsAmountBase;
final date = reader.readDateTime();
final peer = reader.readObject() as StarsTransactionPeerBase;
final hasTitleField = (flags & 1) != 0;
final title = hasTitleField ? reader.readString() : null;
final hasDescriptionField = (flags & 2) != 0;
final description = hasDescriptionField ? reader.readString() : null;
final hasPhotoField = (flags & 4) != 0;
final photo = hasPhotoField ? reader.readObject() as WebDocumentBase : null;
final hasTransactionDateField = (flags & 32) != 0;
final transactionDate =
hasTransactionDateField ? reader.readDateTime() : null;
final hasTransactionUrlField = (flags & 32) != 0;
final transactionUrl = hasTransactionUrlField ? reader.readString() : null;
final hasBotPayloadField = (flags & 128) != 0;
final botPayload = hasBotPayloadField ? reader.readBytes() : null;
final hasMsgIdField = (flags & 256) != 0;
final msgId = hasMsgIdField ? reader.readInt32() : null;
final hasExtendedMediaField = (flags & 512) != 0;
final extendedMedia = hasExtendedMediaField
? reader.readVectorObject<MessageMediaBase>()
: null;
final hasSubscriptionPeriodField = (flags & 4096) != 0;
final subscriptionPeriod =
hasSubscriptionPeriodField ? reader.readInt32() : null;
final hasGiveawayPostIdField = (flags & 8192) != 0;
final giveawayPostId = hasGiveawayPostIdField ? reader.readInt32() : null;
final hasStargiftField = (flags & 16384) != 0;
final stargift =
hasStargiftField ? reader.readObject() as StarGiftBase : null;
final hasFloodskipNumberField = (flags & 32768) != 0;
final floodskipNumber = hasFloodskipNumberField ? reader.readInt32() : null;
final hasStarrefCommissionPermilleField = (flags & 65536) != 0;
final starrefCommissionPermille =
hasStarrefCommissionPermilleField ? reader.readInt32() : null;
final hasStarrefPeerField = (flags & 131072) != 0;
final starrefPeer =
hasStarrefPeerField ? reader.readObject() as PeerBase : null;
final hasStarrefAmountField = (flags & 131072) != 0;
final starrefAmount =
hasStarrefAmountField ? reader.readObject() as StarsAmountBase : null;
final hasPaidMessagesField = (flags & 524288) != 0;
final paidMessages = hasPaidMessagesField ? reader.readInt32() : null;
final hasPremiumGiftMonthsField = (flags & 1048576) != 0;
final premiumGiftMonths =
hasPremiumGiftMonthsField ? reader.readInt32() : null;
final hasAdsProceedsFromDateField = (flags & 8388608) != 0;
final adsProceedsFromDate =
hasAdsProceedsFromDateField ? reader.readDateTime() : null;
final hasAdsProceedsToDateField = (flags & 8388608) != 0;
final adsProceedsToDate =
hasAdsProceedsToDateField ? reader.readDateTime() : null;
// Construct [StarsTransaction] object.
final returnValue = StarsTransaction(
refund: refund,
pending: pending,
failed: failed,
gift: gift,
reaction: reaction,
stargiftUpgrade: stargiftUpgrade,
businessTransfer: businessTransfer,
stargiftResale: stargiftResale,
postsSearch: postsSearch,
stargiftPrepaidUpgrade: stargiftPrepaidUpgrade,
stargiftDropOriginalDetails: stargiftDropOriginalDetails,
phonegroupMessage: phonegroupMessage,
stargiftAuctionBid: stargiftAuctionBid,
offer: offer,
id: id,
amount: amount,
date: date,
peer: peer,
title: title,
description: description,
photo: photo,
transactionDate: transactionDate,
transactionUrl: transactionUrl,
botPayload: botPayload,
msgId: msgId,
extendedMedia: extendedMedia?.items,
subscriptionPeriod: subscriptionPeriod,
giveawayPostId: giveawayPostId,
stargift: stargift,
floodskipNumber: floodskipNumber,
starrefCommissionPermille: starrefCommissionPermille,
starrefPeer: starrefPeer,
starrefAmount: starrefAmount,
paidMessages: paidMessages,
premiumGiftMonths: premiumGiftMonths,
adsProceedsFromDate: adsProceedsFromDate,
adsProceedsToDate: adsProceedsToDate,
);
// Now return the deserialized [StarsTransaction].
return returnValue;
}