Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

127
Visualizações
¿Cuál es el mejor método (si lo hay) para importar un conjunto de funciones en un módulo?

Estoy tratando de resolver esto:

Tengo un módulo, digamos "usuarios", para el cual tengo un servicio con operaciones básicas de base de datos (buscar, encontrarMuchos, guardar, etc.).

Quiero crear más módulos que tengan las mismas operaciones básicas de base de datos, pero no quiero tener que volver a escribirlos todos.

Para facilitar las cosas, tengo estas 2 funciones en un archivo utils:

 export async function find<T extends Model>(model: T, query, options?): Promise<T> { return model.find(query) }

y

 export async function findOne<T extends Model>(model: T, query, options?): Promise<T> { return model.findOne(query) }

¿Cómo puedo hacerlo para importar cada una de estas funciones a una clase (usando decoradores de TypeScript u otra magia de TS)?

quiero tener algo asi

 import { attachAllBasicDatabaseMethods } from "./model-utils/operations" export class UserController { @attachAllBasicDatabaseMethods() private constructor() {} }

entonces en mi controlador puedo usar un método como este:

 async getSomeUsers() { const users = await this.findMany(UserModel, this.query, this.options); return users; }

La idea del decorador es algo en lo que he pensado, pero sé que hay otros métodos para resolver esto.

O mejor: usar ese decorador con el modelo como parámetro vincula automáticamente el modelo a los métodos, por lo que puedo usar this.find(this.query, this.options)

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda