binarize function
Convert a PayloadWriter into a Uint8List of bytes.
Implementation
Uint8List binarize(PayloadWriter payload) {
final length = payload._data.fold<int>(
0,
(v, d) => v + (d.type.length(d.value)),
);
final uint8List = Uint8List(length);
final byteData = ByteData.view(uint8List.buffer);
var offset = 0;
for (final data in payload._data) {
final dynamic value = data.value;
data.type.set(value, byteData, offset);
offset += data.type.length(value);
}
return uint8List;
}