Ir al contenido

Bienvenida a annotations-design-patterns

La documentación corresponde a la versión 2.3.0. Las APIs señaladas como experimentales conservan esa condición. Consulta la migración a 2.3 para distinguir las APIs nuevas y experimentales.

Patrones de diseño como decoradores TypeScript estándar (TC39) y como funciones componibles. Los patrones GoF clásicos, inyección de dependencias, un toolkit de resiliencia completo y utilidades de método. La resiliencia y la caché también están disponibles como operadores funcionales: consulta la guía de operadores.

import { Singleton, Retry, Timeout, Fallback } from 'annotations-design-patterns';
@Singleton
class ApiClient {
@Fallback<User[]>([])
@Retry({ attempts: 3, delayMs: 200, backoffFactor: 2 })
@Timeout(5000)
async fetchUsers(): Promise<User[]> {
/* ... */
}
}
  • Decoradores TC39 estándar — funciona con TypeScript 5+ sin experimentalDecorators ni reflect-metadata. Las colecciones clásicas siguen ancladas al sistema legacy.
  • Cero dependencias — cada patrón autocontenido, tree-shakeable.
  • Tipado estricto — con tests de tipos además de los de comportamiento; cualquier any queda acotado.
  • 15 patrones GoF + inyección de dependencias + resiliencia + utilidades de método, cubiertos en esta documentación.
  • TypeScript 5.0+ con target ES2022 o superior.
  • No actives experimentalDecorators: esta librería usa los decoradores estándar.
  • Node 20+ (o cualquier bundler moderno).
Ventana de terminal
npm install annotations-design-patterns

Elige una guía en el menú lateral según lo que busques hacer:

Para una referencia detallada de tipos y firmas, consulta la Referencia de API.