InputMediaInvoice.deserialize constructor
InputMediaInvoice.deserialize(
- 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;
}