createOption
Crée une option avec une valeur unique parsée via un schéma DataParser.
Exemple
ts
import { SC } from "@duplojs/server-utils";
import { DP, type ExpectType } from "@duplojs/utils";
const command = SC.create(
"serve",
{
options: [
SC.createOption("host", DP.string()),
SC.createOption(
"port",
DP.coerce.number(),
{ required: true },
),
SC.createOption(
"environment",
DP.literal(["dev", "prod"]),
),
],
},
({ options }) => {
type check = ExpectType<
typeof options,
{
host: string | undefined;
port: number;
environment: "dev" | "prod" | undefined;
},
"strict"
>;
},
);
await command.execute([
"--host",
"0.0.0.0",
"--port=8080",
"--environment=prod",
]);Syntaxe
typescript
function createOption<
GenericName extends string,
GenericSchema extends EligibleDataParser
>(
name: GenericName,
schema: GenericSchema,
params: {
description?: string
aliases?: readonly string[]
required: true
}
): Option<GenericName, DP.Output<GenericSchema>>
function createOption<
GenericName extends string,
GenericSchema extends EligibleDataParser
>(
name: GenericName,
schema: GenericSchema,
params?: {
description?: string
aliases?: readonly string[]
}
): Option<GenericName, DP.Output<GenericSchema> | undefined>Paramètres
name(string) : nom de l'option utilisé comme--name.schema(EligibleDataParser) : parseur utilisé pour valider/transformer la valeur.params(optionnel) : métadonnées d'option et comportement d'obligation.params.required(true, optionnel) : déclenche une erreur si l'option est absente.params.description(string, optionnel) : description dans le help.params.aliases(string[], optionnel) : alias courts.
Valeur de retour
Option<GenericName, DP.Output<GenericSchema>>quandrequired: true.Option<GenericName, DP.Output<GenericSchema> | undefined>sinon.
Voir aussi
createBooleanOption- Construit une option drapeau booléenne.createArrayOption- Construit une option tableau.create- Construit une commande utilisant cette option.
