MessageActionStarGiftUnique.deserialize constructor

MessageActionStarGiftUnique.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory MessageActionStarGiftUnique.deserialize(BinaryReader reader) {
  // Read [MessageActionStarGiftUnique] fields.
  final flags = reader.readInt32();
  final upgrade = (flags & 1) != 0;
  final transferred = (flags & 2) != 0;
  final saved = (flags & 4) != 0;
  final refunded = (flags & 32) != 0;
  final prepaidUpgrade = (flags & 2048) != 0;
  final assigned = (flags & 8192) != 0;
  final fromOffer = (flags & 16384) != 0;
  final craft = (flags & 65536) != 0;
  final gift = reader.readObject() as StarGiftBase;
  final hasCanExportAtField = (flags & 8) != 0;
  final canExportAt = hasCanExportAtField ? reader.readInt32() : null;
  final hasTransferStarsField = (flags & 16) != 0;
  final transferStars = hasTransferStarsField ? reader.readInt64() : null;
  final hasFromIdField = (flags & 64) != 0;
  final fromId = hasFromIdField ? reader.readObject() as PeerBase : null;
  final hasPeerField = (flags & 128) != 0;
  final peer = hasPeerField ? reader.readObject() as PeerBase : null;
  final hasSavedIdField = (flags & 128) != 0;
  final savedId = hasSavedIdField ? reader.readInt64() : null;
  final hasResaleAmountField = (flags & 256) != 0;
  final resaleAmount =
      hasResaleAmountField ? reader.readObject() as StarsAmountBase : null;
  final hasCanTransferAtField = (flags & 512) != 0;
  final canTransferAt = hasCanTransferAtField ? reader.readInt32() : null;
  final hasCanResellAtField = (flags & 1024) != 0;
  final canResellAt = hasCanResellAtField ? reader.readInt32() : null;
  final hasDropOriginalDetailsStarsField = (flags & 4096) != 0;
  final dropOriginalDetailsStars =
      hasDropOriginalDetailsStarsField ? reader.readInt64() : null;
  final hasCanCraftAtField = (flags & 32768) != 0;
  final canCraftAt = hasCanCraftAtField ? reader.readInt32() : null;

  // Construct [MessageActionStarGiftUnique] object.
  final returnValue = MessageActionStarGiftUnique(
    upgrade: upgrade,
    transferred: transferred,
    saved: saved,
    refunded: refunded,
    prepaidUpgrade: prepaidUpgrade,
    assigned: assigned,
    fromOffer: fromOffer,
    craft: craft,
    gift: gift,
    canExportAt: canExportAt,
    transferStars: transferStars,
    fromId: fromId,
    peer: peer,
    savedId: savedId,
    resaleAmount: resaleAmount,
    canTransferAt: canTransferAt,
    canResellAt: canResellAt,
    dropOriginalDetailsStars: dropOriginalDetailsStars,
    canCraftAt: canCraftAt,
  );

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