read method

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

Is called when a value has to be decoded.

Implementation

@override
T read(reader) {
  // read attributes (no relationships stored)
  final total = reader.readByte();
  final map = <String, dynamic>{
    for (var i = 0; i < total; i++) reader.read().toString(): reader.read(),
  };

  final model = deserialize(map);

  // Model initialization is necessary here as `DataModel`s
  // auto-initialization is not ready at this point
  // (reading adapters during FD initialization)
  initModel(model);

  return model;
}