MessageActionStarGift.deserialize constructor

MessageActionStarGift.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory MessageActionStarGift.deserialize(BinaryReader reader) {
  // Read [MessageActionStarGift] fields.
  final flags = reader.readInt32();
  final nameHidden = (flags & 1) != 0;
  final saved = (flags & 4) != 0;
  final converted = (flags & 8) != 0;
  final upgraded = (flags & 32) != 0;
  final refunded = (flags & 512) != 0;
  final canUpgrade = (flags & 1024) != 0;
  final prepaidUpgrade = (flags & 8192) != 0;
  final upgradeSeparate = (flags & 65536) != 0;
  final auctionAcquired = (flags & 131072) != 0;
  final gift = reader.readObject() as StarGiftBase;
  final hasMessageField = (flags & 2) != 0;
  final message =
      hasMessageField ? reader.readObject() as TextWithEntitiesBase : null;
  final hasConvertStarsField = (flags & 16) != 0;
  final convertStars = hasConvertStarsField ? reader.readInt64() : null;
  final hasUpgradeMsgIdField = (flags & 32) != 0;
  final upgradeMsgId = hasUpgradeMsgIdField ? reader.readInt32() : null;
  final hasUpgradeStarsField = (flags & 256) != 0;
  final upgradeStars = hasUpgradeStarsField ? reader.readInt64() : null;
  final hasFromIdField = (flags & 2048) != 0;
  final fromId = hasFromIdField ? reader.readObject() as PeerBase : null;
  final hasPeerField = (flags & 4096) != 0;
  final peer = hasPeerField ? reader.readObject() as PeerBase : null;
  final hasSavedIdField = (flags & 4096) != 0;
  final savedId = hasSavedIdField ? reader.readInt64() : null;
  final hasPrepaidUpgradeHashField = (flags & 16384) != 0;
  final prepaidUpgradeHash =
      hasPrepaidUpgradeHashField ? reader.readString() : null;
  final hasGiftMsgIdField = (flags & 32768) != 0;
  final giftMsgId = hasGiftMsgIdField ? reader.readInt32() : null;
  final hasToIdField = (flags & 262144) != 0;
  final toId = hasToIdField ? reader.readObject() as PeerBase : null;
  final hasGiftNumField = (flags & 524288) != 0;
  final giftNum = hasGiftNumField ? reader.readInt32() : null;

  // Construct [MessageActionStarGift] object.
  final returnValue = MessageActionStarGift(
    nameHidden: nameHidden,
    saved: saved,
    converted: converted,
    upgraded: upgraded,
    refunded: refunded,
    canUpgrade: canUpgrade,
    prepaidUpgrade: prepaidUpgrade,
    upgradeSeparate: upgradeSeparate,
    auctionAcquired: auctionAcquired,
    gift: gift,
    message: message,
    convertStars: convertStars,
    upgradeMsgId: upgradeMsgId,
    upgradeStars: upgradeStars,
    fromId: fromId,
    peer: peer,
    savedId: savedId,
    prepaidUpgradeHash: prepaidUpgradeHash,
    giftMsgId: giftMsgId,
    toId: toId,
    giftNum: giftNum,
  );

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