read method

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

Is called when a value has to be decoded.

Implementation

@override
Presence read(BinaryReader reader) {
  final numOfFields = reader.readByte();
  final fields = <int, dynamic>{
    for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
  };
  return Presence(
    title: fields[100] == null ? '' : fields[100] as String,
    author: fields[101] == null ? '' : fields[101] as String,
    date: fields[102] as DateTime?,
    position: fields[103] == null ? 0 : fields[103] as double,
    value: fields[1] == null ? '' : fields[1] as String,
    emptyIs: fields[3] == null ? '' : fields[3] as String?,
    color:
        fields[4] == null ? PresenceColor.unset : fields[4] as PresenceColor,
    visibilityDate: fields[5] as DateTime?,
    visible: fields[6] as bool?,
  );
}