docs(controllerClass, config)

Aplica decorators de Swagger a una clase controller desde fuera de su archivo, como efecto secundario al importar.

Firma

Llámalo en el nivel superior de un archivo *.controller.docs.ts, donde se ejecuta como efecto secundario al importar.

Type-safety

Completamente type-safe: config.methods solo acepta claves que existen en la clase controller. Los errores tipográficos se detectan en compile time.

ts
docs(UsersController, {
  classDecorators: [ApiTags('users')],
  methods: {
    findAll: [...],    // ✔ exists on UsersController
    typoMethod: [...], // ✖ TypeScript error
  },
});

Campos de config

  • config.classDecorators: ClassDecorator[], aplicado al constructor de la clase (ej. ApiTags, ApiBearerAuth).
  • config.methods: Partial<Record<keyof T, MethodDecorator[]>>, arrays de decorators indexados por nombre de método, aplicados en orden.
  • config.group: string, nombre de grupo lógico para la extensión x-tagGroups de ReDoc.
  • config.tags: string[], nombres de tags asociados al group. Deben coincidir con lo que pasas a ApiTags().

Comportamiento en runtime

Clave de método inexistente

Si una clave de método no existe en el controller en runtime, se registra un aviso y esa entrada se omite, pero el resto del docs file se sigue aplicando.