codigoAEjecutar static method
Implementation
static String codigoAEjecutar(
String nombreArchivo, List<Map<String, String>> data) {
// Buscar el archivo correspondiente en la data
final archivo =
data.firstWhere((element) => element['nombre'] == nombreArchivo);
// Extraer el código del archivo
String codigo = archivo['codigo']!;
// Buscar las importaciones
final regex = RegExp(r"import:'([^']+)';");
final matches = regex.allMatches(codigo);
String codigoFinal = '';
for (var match in matches) {
final importPath = match.group(1)!;
final importNombre = importPath.split('/').last.split('.').first;
// print('Procesando archivo importado: $importNombre');
// Llamada recursiva para obtener el código de los archivos importados
codigoFinal += codigoAEjecutar(importNombre, data);
}
// Eliminar las declaraciones de importación del código antes de ejecutarlo
codigo = codigo.replaceAll(regex, '');
// Agregar el código actual al código final
codigoFinal += codigo;
// Retornar el código final combinado
return codigoFinal;
}