Skip to content

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>> quand required: true.
  • Option<GenericName, DP.Output<GenericSchema> | undefined> sinon.

Voir aussi

Diffusé sous licence MIT.