createArrayOption
Crée une option qui parse une liste séparée en tableau typé.
Exemple
ts
import { SC } from "@duplojs/server-utils";
import { DP, type ExpectType } from "@duplojs/utils";
const command = SC.create(
"batch",
{
options: [
SC.createArrayOption(
"tags",
DP.string(),
),
SC.createArrayOption(
"files",
DP.string(),
{
required: true,
min: 1,
separator: ";",
},
),
],
},
({ options }) => {
type check = ExpectType<
typeof options,
{
tags: string[] | undefined;
files: [string, ...string[]];
},
"strict"
>;
},
);
await command.execute([
"--tags=api,docs",
"--files=src/a.ts;src/b.ts",
]);Syntaxe
typescript
function createArrayOption<
GenericName extends string,
GenericSchema extends EligibleDataParser,
GenericMinValues extends number
>(
name: GenericName,
schema: GenericSchema,
params: {
description?: string
aliases?: readonly string[]
min?: GenericMinValues
max?: number
required: true
separator?: string
}
): Option<
GenericName,
[
...A.CreateTuple<DP.Output<GenericSchema>, GenericMinValues>,
...DP.Output<GenericSchema>[]
]
>
function createArrayOption<
GenericName extends string,
GenericSchema extends EligibleDataParser,
GenericMinValues extends number
>(
name: GenericName,
schema: GenericSchema,
params?: {
description?: string
aliases?: readonly string[]
min?: GenericMinValues
max?: number
separator?: string
}
): Option<
GenericName,
| [
...A.CreateTuple<DP.Output<GenericSchema>, GenericMinValues>,
...DP.Output<GenericSchema>[]
]
| undefined
>Paramètres
name(string) : nom de l'option utilisé comme--name.schema(EligibleDataParser) : parseur de chaque élément du tableau.params(optionnel) : métadonnées et contraintes de tableau.params.required(true, optionnel) : déclenche une erreur si l'option est absente.params.min(number, optionnel) : nombre minimal de valeurs.params.max(number, optionnel) : nombre maximal de valeurs.params.separator(string, par défaut",") : séparateur d'entrée.params.description(string, optionnel) : description dans le help.params.aliases(string[], optionnel) : alias courts.
Valeur de retour
- Mode requis:
Option<GenericName, [..items]>. - Mode optionnel:
Option<GenericName, [..items] | undefined>.
Voir aussi
createOption- Construit une option à valeur unique.createBooleanOption- Construit une option drapeau booléenne.create- Construit une commande utilisant cette option.
