Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

179
Vistas
Cómo construir un patrón o fábrica de decorador adecuado para Javascript

Estoy tratando de construir un patrón de decorador que debería tener 2 parámetros. El primer parámetro es la función que debe decorarse y el segundo es la matriz de funciones que debe aplicarse a la función principal.

Por ejemplo:

 const decoratedFunc = decorate(shouldDecoratedFunc, [validate, confirmMessage("Are you sure")] function shouldDecoratedFunc(a, b, c) { return a + b + c; }

El problema es que cuando construyo la función de decorar simplemente no puedo pasar los parámetros de la función que debería ser decorada a la función de decorar. Así que realmente no sé qué hacer. O cómo lograr esto.

¿Alguien puede ayudarme a construir algo como esto?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Lo mejor que pude hacer es a continuación y en realidad funciona.

El problema con este es que cuando quiero ejecutar la función que decoró condicionalmente, simplemente no puedo.

 function decorator(target, decorators) { const name = target.name const descriptor = Object.getOwnPropertyDescriptor(target, "prototype") return (...args) => { decorators.forEach(func => { if (func instanceof Function) func(target.bind(this, ...args) ,name, descriptor) }) target.call(this, ...args) } }

Estoy abierto a cualquier idea.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda