encodeType static method
Implementation
static String encodeType(
String primaryType, Map<String, List<TypedDataField>> types) {
var result = '';
final unsortedDeps = findTypeDependencies(primaryType, types)
..removeWhere((type) => type == primaryType);
var deps = [primaryType, ...List.of(unsortedDeps)..sort()];
for (var type in deps) {
if (!types.containsKey(type)) {
throw ArgumentError('No type definition specified: $type');
}
result +=
"$type(${types[type]!.map((field) => '${field.type} ${field.name}').join(',')})";
}
return result;
}