write method

  1. @override
void write(
  1. BinaryWriter writer,
  2. T obj
)
override

Is called when a value has to be encoded.

Implementation

@override
void write(writer, T obj) {
  final _map = serialize(obj);
  // write key first
  writer.write(obj._key);

  // exclude relationships
  final keys = _map.keys.where((k) => !relationshipsFor().containsKey(k));
  writer.writeByte(keys.length);
  for (final k in keys) {
    writer.write(k);
    writer.write(_map[k]);
  }
}