parse static method

List<Message> parse(
  1. dynamic data
)

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 [];
}