AvailableEffect.deserialize constructor

AvailableEffect.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory AvailableEffect.deserialize(BinaryReader reader) {
  // Read [AvailableEffect] fields.
  final flags = reader.readInt32();
  final premiumRequired = (flags & 4) != 0;
  final id = reader.readInt64();
  final emoticon = reader.readString();
  final hasStaticIconIdField = (flags & 1) != 0;
  final staticIconId = hasStaticIconIdField ? reader.readInt64() : null;
  final effectStickerId = reader.readInt64();
  final hasEffectAnimationIdField = (flags & 2) != 0;
  final effectAnimationId =
      hasEffectAnimationIdField ? reader.readInt64() : null;

  // Construct [AvailableEffect] object.
  final returnValue = AvailableEffect(
    premiumRequired: premiumRequired,
    id: id,
    emoticon: emoticon,
    staticIconId: staticIconId,
    effectStickerId: effectStickerId,
    effectAnimationId: effectAnimationId,
  );

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