read method

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

Is called when a value has to be decoded.

Implementation

@override
CloudMessage read(BinaryReader reader) {
  final numOfFields = reader.readByte();
  final fields = <int, dynamic>{
    for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
  };
  return CloudMessage(
    title: fields[0] as String,
    dateTime: fields[1] as DateTime?,
    content: fields[2] as String?,
    url: fields[3] as String?,
    imageUrl: fields[4] as String?,
    data: (fields[5] as Map?)?.cast<String, dynamic>(),
  );
}