PaymentRequestedInfo.deserialize constructor

PaymentRequestedInfo.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory PaymentRequestedInfo.deserialize(BinaryReader reader) {
  // Read [PaymentRequestedInfo] fields.
  final flags = reader.readInt32();
  final hasNameField = (flags & 1) != 0;
  final name = hasNameField ? reader.readString() : null;
  final hasPhoneField = (flags & 2) != 0;
  final phone = hasPhoneField ? reader.readString() : null;
  final hasEmailField = (flags & 4) != 0;
  final email = hasEmailField ? reader.readString() : null;
  final hasShippingAddressField = (flags & 8) != 0;
  final shippingAddress =
      hasShippingAddressField ? reader.readObject() as PostAddressBase : null;

  // Construct [PaymentRequestedInfo] object.
  final returnValue = PaymentRequestedInfo(
    name: name,
    phone: phone,
    email: email,
    shippingAddress: shippingAddress,
  );

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