processRawData method
Método principal para mapear e extrair dados de forma segura
Implementation
List<Map<String, dynamic>> processRawData(dynamic rawData) {
List<Map<String, dynamic>> normalizedData = normalizeRawData(rawData);
List<Map<String, dynamic>> processedData = [];
for (var item in normalizedData) {
Map<String, dynamic> mappedData = {};
fieldMappings.forEach((expectedField, actualField) {
if (item.containsKey(actualField)) {
dynamic value = item[actualField];
// Convertendo valores numéricos que vêm como string
if (value is String && isNumeric(value)) {
value = double.parse(value);
}
// Convertendo listas de números
if (value is List) {
value = value.map((e) => toDouble(e)).toList();
}
mappedData[expectedField] = value;
}
});
processedData.add(mappedData);
}
return processedData;
}