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

223
Visualizações
Comandante de Node.js: predeterminado para la opción variádica?

Quiero tener una opción variable con valores predeterminados, pero solo podría ingresar un valor predeterminado como este:

 const program = new Command("ingest"); program .option("-e, --extensions <ext...>", "file extensions to load", "dat") .parse(process.argv); const options = program.opts();

Esto funciona y el valor predeterminado es "dat" . Pero, ¿qué debo hacer si el valor predeterminado es una matriz de varias cadenas como ["dat", "txt"] ?

La primera solución que encontré es no poner un valor predeterminado y luego, si options.extensions no está definido, cargarlo con la matriz predeterminada. Esto funciona, pero obviamente el valor predeterminado no aparece en la ayuda.

La segunda solución que resuelve este pequeño problema es ingresar el valor predeterminado como una cadena separada por espacios:

 program.option("-e, --extensions <ext...>", "file extensions to load", "dat txt");

y entonces:

 if(typeof options.extensions === "string") options.extensions = options.extensions.split(" ")

De esta manera, options.extensions es siempre una matriz de cadenas.

¿Podría .addOption(new Option()) ayudar aquí? Desafortunadamente, no puedo encontrar documentación para la clase Option además de los tres ejemplos proporcionados.

¡Gracias! mario

about 4 years ago · Santiago Gelvez
2 Respostas
Responde à pergunta

0

El valor predeterminado no tiene que ser una cadena. Use la matriz, e incluso podría simplificar su código posterior, ya que el valor de la opción siempre será una matriz.

 program.option("-e, --extensions <ext...>", "file extensions to load", ["dat", "txt"]);

TypeScript actualizado para incluir string[] en los tipos permitidos en Commander v9.3.0.

about 4 years ago · Santiago Gelvez Relatório

0

La forma más amigable con TypeScript de agregar una matriz predeterminada a una opción variable que he encontrado es:

 program.addOption(new Option("-e, --extensions <ext...>", "file extensions to load").default(["dat", "txt"])

Espero eso ayude

about 4 years ago · Santiago Gelvez Relatório
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