PremiumSubscriptionOption.deserialize constructor

PremiumSubscriptionOption.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory PremiumSubscriptionOption.deserialize(BinaryReader reader) {
  // Read [PremiumSubscriptionOption] fields.
  final flags = reader.readInt32();
  final current = (flags & 2) != 0;
  final canPurchaseUpgrade = (flags & 4) != 0;
  final hasTransactionField = (flags & 8) != 0;
  final transaction = hasTransactionField ? reader.readString() : null;
  final months = reader.readInt32();
  final currency = reader.readString();
  final amount = reader.readInt64();
  final botUrl = reader.readString();
  final hasStoreProductField = (flags & 1) != 0;
  final storeProduct = hasStoreProductField ? reader.readString() : null;

  // Construct [PremiumSubscriptionOption] object.
  final returnValue = PremiumSubscriptionOption(
    current: current,
    canPurchaseUpgrade: canPurchaseUpgrade,
    transaction: transaction,
    months: months,
    currency: currency,
    amount: amount,
    botUrl: botUrl,
    storeProduct: storeProduct,
  );

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