@seleria/nest-errors
v0.0.1
Published
Shared error mapping, query guards and service assertions for NestJS
Readme
@seleria/nest-errors
Utilidades compartidas para errores HTTP/RPC, validación de consultas, aserciones de negocio y traducción de errores de PostgreSQL y MySQL.
API
- AllExceptionsFilter: normaliza excepciones HTTP y RPC y oculta detalles inesperados.
- assertSafeQuery: bloquea consultas vacías, múltiples sentencias, construcciones peligrosas y SELECT sin WHERE o LIMIT.
- assertFound, assertNotFound y assertTrue: aserciones de dominio.
- assertPositiveNumber y assertNotFutureDate: validaciones simples.
- guardServiceCall: conserva HttpException y convierte errores desconocidos en InternalServerErrorException.
- mapPostgresError y mapMysqlError: convierten códigos de driver en respuestas HTTP estables.
Mapeo de errores
Los errores de conectividad producen ServiceUnavailableException. Violaciones de unicidad producen ConflictException. Restricciones de integridad o datos producen BadRequestException. Timeouts de consulta producen RequestTimeoutException. Errores de sintaxis o desconocidos se registran y se devuelven como error interno.
Desarrollo
- bun run build
- bun run lint
- bun run format:check
Las cadenas de error de sistema están en inglés técnico para logs y APIs internas. La capa de frontend debe traducirlas antes de mostrarlas al usuario.
Enlace local para desarrollo
Para utilizar esta copia local, descarga el repositorio, instala sus dependencias, genera dist y regístralo con Bun:
bun install
bun run build
bun linkDesde cada microservicio consumidor ejecuta bun link --no-save @seleria/nest-errors. No uses una vinculación guardada para este flujo local; así no se modifican package.json ni el lockfile.
