import { Application } from './core/Application'; import { ExampleService } from './services/ExampleService'; import logger from './utils/logger'; /** * EJEMPLOS DE USO * * Este archivo muestra cómo usar los diferentes componentes de la aplicación. * Puedes copiar estos ejemplos en tu index.ts o crear nuevos servicios. */ /** * Ejemplo 1: Uso básico del servicio */ async function ejemploServicioBasico() { const service = new ExampleService(); const resultado = await service.execute('Hola Mundo'); if (resultado.success) { logger.info('Resultado del servicio:', resultado.data); } else { logger.error('Error:', resultado.error); } } /** * Ejemplo 2: Inicialización con servicios personalizados */ async function ejemploConServicios() { const app = new Application(); await app.initialize(); // Usar servicios const exampleService = new ExampleService(); const resultado = await exampleService.execute('Datos de prueba'); logger.info('Resultado:', resultado); await app.shutdown(); } /** * Ejemplo 3: Manejo de errores */ async function ejemploManejoErrores() { try { const service = new ExampleService(); const resultado = await service.execute('test'); if (!resultado.success) { throw new Error(resultado.error); } logger.info('Éxito:', resultado.data); } catch (error) { logger.error('Error capturado:', error); } } /** * Ejemplo 4: Uso de configuración */ async function ejemploConfiguracion() { const { config } = await import('./config'); logger.info('Configuración actual:', { entorno: config.nodeEnv, nombre: config.appName, puerto: config.appPort, }); } /** * Ejemplo 5: Logger con diferentes niveles */ function ejemploLogger() { logger.debug('Mensaje de debug - solo en desarrollo'); logger.info('Información general'); logger.warn('Advertencia'); logger.error('Error', new Error('Ejemplo de error')); } // Exportar ejemplos para uso en otros archivos export { ejemploServicioBasico, ejemploConServicios, ejemploManejoErrores, ejemploConfiguracion, ejemploLogger, };