parse static method
Because Mobile platforms returns data as list and desktop returns as map , so to unify the data
Implementation
static List<Message> parse(dynamic data) {
if (data == null) return [];
try {
if (data is String && data.trim().isNotEmpty) {
final decoded = jsonDecode(data);
return parse(decoded);
}
if (data is List) {
return data
.where((e) => e != null && e is Map)
.map((e) => Message.fromJson(Map<String, dynamic>.from(e as Map)))
.toList();
} else if (data is Map) {
return [Message.fromJson(Map<String, dynamic>.from(data))];
}
} catch (e) {
// ignore
}
return [];
}