PaymentsPaymentForm.deserialize constructor

PaymentsPaymentForm.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory PaymentsPaymentForm.deserialize(BinaryReader reader) {
  // Read [PaymentsPaymentForm] fields.
  final flags = reader.readInt32();
  final canSaveCredentials = (flags & 4) != 0;
  final passwordMissing = (flags & 8) != 0;
  final formId = reader.readInt64();
  final botId = reader.readInt64();
  final title = reader.readString();
  final description = reader.readString();
  final hasPhotoField = (flags & 32) != 0;
  final photo = hasPhotoField ? reader.readObject() as WebDocumentBase : null;
  final invoice = reader.readObject() as InvoiceBase;
  final providerId = reader.readInt64();
  final url = reader.readString();
  final hasNativeProviderField = (flags & 16) != 0;
  final nativeProvider = hasNativeProviderField ? reader.readString() : null;
  final hasNativeParamsField = (flags & 16) != 0;
  final nativeParams =
      hasNativeParamsField ? reader.readObject() as DataJSONBase : null;
  final hasAdditionalMethodsField = (flags & 64) != 0;
  final additionalMethods = hasAdditionalMethodsField
      ? reader.readVectorObject<PaymentFormMethodBase>()
      : null;
  final hasSavedInfoField = (flags & 1) != 0;
  final savedInfo = hasSavedInfoField
      ? reader.readObject() as PaymentRequestedInfoBase
      : null;
  final hasSavedCredentialsField = (flags & 2) != 0;
  final savedCredentials = hasSavedCredentialsField
      ? reader.readVectorObject<PaymentSavedCredentialsBase>()
      : null;
  final users = reader.readVectorObject<UserBase>();

  // Construct [PaymentsPaymentForm] object.
  final returnValue = PaymentsPaymentForm(
    canSaveCredentials: canSaveCredentials,
    passwordMissing: passwordMissing,
    formId: formId,
    botId: botId,
    title: title,
    description: description,
    photo: photo,
    invoice: invoice,
    providerId: providerId,
    url: url,
    nativeProvider: nativeProvider,
    nativeParams: nativeParams,
    additionalMethods: additionalMethods,
    savedInfo: savedInfo,
    savedCredentials: savedCredentials,
    users: users,
  );

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