MessageActionSuggestedPostApproval.deserialize constructor

MessageActionSuggestedPostApproval.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory MessageActionSuggestedPostApproval.deserialize(BinaryReader reader) {
  // Read [MessageActionSuggestedPostApproval] fields.
  final flags = reader.readInt32();
  final rejected = (flags & 1) != 0;
  final balanceTooLow = (flags & 2) != 0;
  final hasRejectCommentField = (flags & 4) != 0;
  final rejectComment = hasRejectCommentField ? reader.readString() : null;
  final hasScheduleDateField = (flags & 8) != 0;
  final scheduleDate = hasScheduleDateField ? reader.readDateTime() : null;
  final hasPriceField = (flags & 16) != 0;
  final price = hasPriceField ? reader.readObject() as StarsAmountBase : null;

  // Construct [MessageActionSuggestedPostApproval] object.
  final returnValue = MessageActionSuggestedPostApproval(
    rejected: rejected,
    balanceTooLow: balanceTooLow,
    rejectComment: rejectComment,
    scheduleDate: scheduleDate,
    price: price,
  );

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