@nebulae/tpiv2-interop-core
v0.0.1
Published
Tipos y utilidades compartidas para el SDK de Interoperabilidad
Readme
@nebulae/tpiv2-interop-core
Tipos, interfaces y utilidades compartidas para el SDK de Interoperabilidad.
Instalación
Este paquete es una dependencia de los otros módulos y se instala automáticamente.
npm install @nebulae/tpiv2-interop-coreContenido
Tipos Comunes
RetryConfig: Configuración de reintentosTimeoutConfig: Configuración de timeoutsInteropResponse<T>: Respuesta estándarTraceMetadata: Metadatos de trazabilidadBaseModuleConfig: Configuración base (incluyecircuitBreaker?: Partial<CircuitBreakerConfig>)CircuitBreakerConfig: Configuración del circuit breakerCircuitBreakerEvent: Payload de eventos del circuit breakerCircuitState:'CLOSED' | 'OPEN' | 'HALF_OPEN'
Errores
InteropError: Error baseAuthenticationError: Error de autenticaciónAuthorizationError: Error de autorizaciónValidationError: Error de validaciónTimeoutError: Error de timeoutConnectionError: Error de conexiónProtocolError: Error de protocoloConfigurationError: Error de configuraciónMaxRetriesExceededError: Reintentos agotadosCircuitOpenError: Circuito en estado OPEN — la operación fue rechazada antes de intentarse
Utilidades
InteropLogger: Logger estructuradoRetryHandler: Manejo de reintentosSchemaValidator: Validación de esquemas JSONCircuitBreaker: Circuit breaker por instancia (estados:CLOSED → OPEN → HALF_OPEN)
Uso
import {
InteropLogger,
RetryHandler,
ValidationError,
} from '@nebulae/tpiv2-interop-core';
const logger = new InteropLogger({
module: 'mi-servicio',
correlationId: 'req-12345',
});
const retryHandler = new RetryHandler({
maxRetries: 3,
initialDelay: 1000,
});