prepareMessagePack static method
Prepare the messagepack and sanitize it.
Implementation
static Map<String, dynamic> prepareMessagePack(Map<String, dynamic> data) {
final sanitizedMap = <String, dynamic>{};
// Sanitize all sub maps
data.forEach((key, value) {
var v = value;
if (data[key] is Map<String, dynamic>) {
final x = data[key] as Map<String, dynamic>;
v = prepareMessagePack(x);
} else if (data[key] is List<Map<String, dynamic>>) {
final l = <Map<String, dynamic>>[];
final values = data[key] as List<Map<String, dynamic>>;
for (var value in values) {
l.add(prepareMessagePack(value));
}
v = l;
} else if (data[key] is MessagePackable) {
final x = data[key] as MessagePackable;
v = prepareMessagePack(x.toMessagePack());
}
sanitizedMap[key] = v;
});
return sanitizeMessagePack(sanitizedMap);
}