StarsSubscription.deserialize constructor
StarsSubscription.deserialize(
- BinaryReader reader
Deserialize.
Implementation
factory StarsSubscription.deserialize(BinaryReader reader) {
// Read [StarsSubscription] fields.
final flags = reader.readInt32();
final canceled = (flags & 1) != 0;
final canRefulfill = (flags & 2) != 0;
final missingBalance = (flags & 4) != 0;
final botCanceled = (flags & 128) != 0;
final id = reader.readString();
final peer = reader.readObject() as PeerBase;
final untilDate = reader.readDateTime();
final pricing = reader.readObject() as StarsSubscriptionPricingBase;
final hasChatInviteHashField = (flags & 8) != 0;
final chatInviteHash = hasChatInviteHashField ? reader.readString() : null;
final hasTitleField = (flags & 16) != 0;
final title = hasTitleField ? reader.readString() : null;
final hasPhotoField = (flags & 32) != 0;
final photo = hasPhotoField ? reader.readObject() as WebDocumentBase : null;
final hasInvoiceSlugField = (flags & 64) != 0;
final invoiceSlug = hasInvoiceSlugField ? reader.readString() : null;
// Construct [StarsSubscription] object.
final returnValue = StarsSubscription(
canceled: canceled,
canRefulfill: canRefulfill,
missingBalance: missingBalance,
botCanceled: botCanceled,
id: id,
peer: peer,
untilDate: untilDate,
pricing: pricing,
chatInviteHash: chatInviteHash,
title: title,
photo: photo,
invoiceSlug: invoiceSlug,
);
// Now return the deserialized [StarsSubscription].
return returnValue;
}