AvailableReaction.deserialize constructor

AvailableReaction.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory AvailableReaction.deserialize(BinaryReader reader) {
  // Read [AvailableReaction] fields.
  final flags = reader.readInt32();
  final inactive = (flags & 1) != 0;
  final premium = (flags & 4) != 0;
  final reaction = reader.readString();
  final title = reader.readString();
  final staticIcon = reader.readObject() as DocumentBase;
  final appearAnimation = reader.readObject() as DocumentBase;
  final selectAnimation = reader.readObject() as DocumentBase;
  final activateAnimation = reader.readObject() as DocumentBase;
  final effectAnimation = reader.readObject() as DocumentBase;
  final hasAroundAnimationField = (flags & 2) != 0;
  final aroundAnimation =
      hasAroundAnimationField ? reader.readObject() as DocumentBase : null;
  final hasCenterIconField = (flags & 2) != 0;
  final centerIcon =
      hasCenterIconField ? reader.readObject() as DocumentBase : null;

  // Construct [AvailableReaction] object.
  final returnValue = AvailableReaction(
    inactive: inactive,
    premium: premium,
    reaction: reaction,
    title: title,
    staticIcon: staticIcon,
    appearAnimation: appearAnimation,
    selectAnimation: selectAnimation,
    activateAnimation: activateAnimation,
    effectAnimation: effectAnimation,
    aroundAnimation: aroundAnimation,
    centerIcon: centerIcon,
  );

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