read method

  1. @override
CropData read(
  1. BinaryReader reader
)
override

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>(),
  );
}