encodeGeneric function
Implementation
Uint8List encodeGeneric(
MessageModel model, GenericMessage message, FileModel file) {
final out = BytesBuilder();
final numbers = message.values.keys.toList()..sort();
for (final number in numbers) {
final field = model.fields[number];
if (field == null) {
throw StatusException(Wire.codeInvalidArgument,
'unknown field $number for ${model.fullName}');
}
final values = message.values[number]!;
if (field.repeated) {
for (final value in values) {
_encodeValue(out, field, value, file);
}
} else if (values.isNotEmpty) {
_encodeValue(out, field, values[0], file);
}
}
for (final chunk in message.unknown) {
out.add(chunk);
}
return out.toBytes();
}