InputMediaInvoice.deserialize constructor

InputMediaInvoice.deserialize(
  1. BinaryReader reader
)

Deserialize.

Implementation

factory InputMediaInvoice.deserialize(BinaryReader reader) {
  // Read [InputMediaInvoice] fields.
  final flags = reader.readInt32();
  final title = reader.readString();
  final description = reader.readString();
  final hasPhotoField = (flags & 1) != 0;
  final photo =
      hasPhotoField ? reader.readObject() as InputWebDocumentBase : null;
  final invoice = reader.readObject() as InvoiceBase;
  final payload = reader.readBytes();
  final provider = reader.readString();
  final providerData = reader.readObject() as DataJSONBase;
  final hasStartParamField = (flags & 2) != 0;
  final startParam = hasStartParamField ? reader.readString() : null;
  final hasExtendedMediaField = (flags & 4) != 0;
  final extendedMedia =
      hasExtendedMediaField ? reader.readObject() as InputMediaBase : null;

  // Construct [InputMediaInvoice] object.
  final returnValue = InputMediaInvoice(
    title: title,
    description: description,
    photo: photo,
    invoice: invoice,
    payload: payload,
    provider: provider,
    providerData: providerData,
    startParam: startParam,
    extendedMedia: extendedMedia,
  );

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