PaymentsSendPaymentForm.deserialize constructor

PaymentsSendPaymentForm.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory PaymentsSendPaymentForm.deserialize(BinaryReader reader) {
  // Read [PaymentsSendPaymentForm] fields.
  final flags = reader.readInt32();
  final formId = reader.readInt64();
  final invoice = reader.readObject() as InputInvoiceBase;
  final hasRequestedInfoIdField = (flags & 1) != 0;
  final requestedInfoId =
      hasRequestedInfoIdField ? reader.readString() : null;
  final hasShippingOptionIdField = (flags & 2) != 0;
  final shippingOptionId =
      hasShippingOptionIdField ? reader.readString() : null;
  final credentials = reader.readObject() as InputPaymentCredentialsBase;
  final hasTipAmountField = (flags & 4) != 0;
  final tipAmount = hasTipAmountField ? reader.readInt64() : null;

  // Construct [PaymentsSendPaymentForm] object.
  final returnValue = PaymentsSendPaymentForm(
    formId: formId,
    invoice: invoice,
    requestedInfoId: requestedInfoId,
    shippingOptionId: shippingOptionId,
    credentials: credentials,
    tipAmount: tipAmount,
  );

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