read method
Is called when a value has to be decoded.
Implementation
@override
CropData read(BinaryReader reader) {
final numOfFields = reader.readByte();
final fields = <int, dynamic>{
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
};
return CropData(
id: fields[0] as String,
name: fields[1] as String,
description: fields[2] as String,
wateringScheduleByRegion:
(fields[3] as Map).cast<String, WateringSchedule>(),
growthDurationDays: fields[4] as int,
imageUrl: fields[5] as String?,
tips: (fields[6] as List?)?.cast<String>(),
);
}