read method
Is called when a value has to be decoded.
Implementation
@override
Product read(BinaryReader reader) {
final numOfFields = reader.readByte();
final fields = <int, dynamic>{
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
};
return Product(
id: fields[0] as String?,
name: fields[1] as String,
description: fields[2] as String,
price: fields[3] as double,
type: fields[4] as ProductType,
listingType: fields[5] as ListingType,
sellerId: fields[6] as String,
location: fields[7] as String?,
createdAt: fields[8] as DateTime?,
images: (fields[9] as List?)?.cast<String>(),
isAvailable: fields[10] as bool,
);
}