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

217
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 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