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

149
Visualizações
Passing arguments with Awilix

I'm using Awilix in my code for Dependecy Injection and I have this User class.

    class User {
    constructor(opts){
        this.validator = opts.validator
    }

    async validateUsername(username) {
        this.validator.username(username)
    }
    async validatePassword(password) {
            this.validator.password(password)
        }


}


    module.exports = User

Container:

const User = require('../../user/User')
const Validator = require('../../user/Validator')
const awilix = require('awilix')

const container = awilix.createContainer({
  injectionMode: awilix.InjectionMode.PROXY
})

container.register({
  user: awilix.asClass(User),
  validator: awilix.asClass(Validator),

})


module.exports = container

What I want do is to add "username" and "password" in the constructor, because those are properties of the class "User". So, it will look like this:

class User {
  constructor(opts, username, password){
      this.validator = opts.validator
      this.username = username 
      this.password = password 
  }

  async validateUsername() {
      this.validator.username(this.username)
  }
  async validatePassword() {
      this.validator.password(this.password)
      }
}


  module.exports = User

I can't figure out how to pass arguments through the constructor with Awilix.

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