createOption
Crée une option à valeur unique depuis un DataParser ou un contrat clean.
Exemple
ts
import { SC } from "@duplojs/server-utils";
import { C, DP } from "@duplojs/utils";
const UserId = C.createNewType("user-id", DP.number(), C.Positive);
await SC.exec({
options: [
SC.createOption("host", DP.string()),
SC.createOption(
"port",
DP.number(),
{ required: true },
),
SC.createOption(
"environment",
DP.literal(["dev", "prod"]),
),
SC.createOption("email", C.Email),
SC.createOption("userId", UserId),
],
}, ({ options }) => {
});Syntaxe
typescript
function createOption<
GenericName extends string,
GenericSpec extends EligibleSpec,
GenericOutput extends ComputeOptionSpec<GenericSpec> = ComputeOptionSpec<GenericSpec>
>(
name: GenericName,
spec: GenericSpec,
params: {
description?: string
aliases?: readonly string[]
required: true
}
): Option<GenericName, GenericOutput>
function createOption<
GenericName extends string,
GenericSpec extends EligibleSpec,
GenericOutput extends ComputeOptionSpec<GenericSpec> = ComputeOptionSpec<GenericSpec>
>(
name: GenericName,
spec: GenericSpec,
params?: {
description?: string
aliases?: readonly string[]
}
): Option<GenericName, GenericOutput | undefined>Paramètres
name(string) : nom de l'option utilisé comme--name.spec(EligibleSpec) : parseur ou spec clean utilisée 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, GenericOutput>quandrequired: true.Option<GenericName, GenericOutput | undefined>sinon.
Notes
- Les parsers primitifs et les contrats clean primitifs sont coercés automatiquement depuis l'entrée CLI en chaîne.
Voir aussi
createBooleanOption- Construit une option drapeau booléenne.createArrayOption- Construit une option tableau.create- Construit une commande utilisant cette option.
