Class: MassargOption<OptionType, Args>
option.MassargOption
An option that can be passed to a command.
Options can be specified in two ways:
- Using the long form, e.g.
--option value
- Using the short form, e.g.
-o value
They can also have a parse function, which will be used to parse the value passed in from the original argument (string).
Example
massarg(options).option({
name: 'option',
description: 'An option',
defaultValue: 'default',
aliases: ['o'],
parse: (value) => value.toUpperCase(),
})
Type parameters
Name | Type |
---|---|
OptionType | extends any = unknown |
Args | extends ArgsObject = ArgsObject |
Hierarchy
-
MassargOption
Implements
OptionConfig
<OptionType
,Args
>
Constructors
constructor
• new MassargOption<OptionType
, Args
>(options
): MassargOption
<OptionType
, Args
>
Type parameters
Name | Type |
---|---|
OptionType | extends unknown = unknown |
Args | extends ArgsObject = ArgsObject |
Parameters
Name | Type | Description |
---|---|---|
options | Object | - |
options.name | string | Name of the option |
options.description | string | Description of the option, displayed in the help output |
options.aliases | string [] | Aliases for the option, which can be used with the shorthand option notation. |
options.defaultValue? | any | Default value of the option |
options.array? | boolean | Whether the option is an array. Array options can be specified multiple times, and the values will be collected into an array. Normally, specifying an option multiple times will override the previous value. |
options.required? | boolean | Whether the option is required. If it is required, parsing will throw an error if it's not present. |
options.isDefault? | boolean | Whether the option is the default option. The default option is the option that is used if no other option is specified, e.g. a value is passed in without an option name. Note that if commands match the same argument first, they will be used instead of the default option. |
options.hidden? | boolean | Whether the option is hidden. Hidden options are not displayed in the help output. |
options.outputName? | string | Specify a custom name for the output, which will be used when parsing the args. |
options.parse? | Parser <Args , OptionType > | Parse the value of the option. You can return any type here, or throw an error if the value is invalid. |
Returns
MassargOption
<OptionType
, Args
>
Defined in
Properties
name
• name: string
Implementation of
OptionConfig.name
Defined in
description
• description: string
Implementation of
OptionConfig.description
Defined in
defaultValue
• Optional
defaultValue: OptionType
Implementation of
OptionConfig.defaultValue
Defined in
aliases
• aliases: string
[]
Implementation of
OptionConfig.aliases
Defined in
parse
• parse: Parser
<Args
, OptionType
>
Implementation of
OptionConfig.parse
Defined in
isArray
• isArray: boolean
Whether this option can be used multiple times. Any passed values will end up in an array instead of each usage overwriting the existing value.
Defined in
isRequired
• isRequired: boolean
Whether this option is required. Failing to specify this option will throw an error.
Defined in
isDefault
• isDefault: boolean
Implementation of
OptionConfig.isDefault
Defined in
outputName
• Optional
outputName: string
Implementation of
OptionConfig.outputName
Defined in
Methods
fromTypedConfig
▸ fromTypedConfig<T
, A
>(config
): MassargOption
<T
, ArgsObject
>
Create a typed option from a configuration. Currently supports number
options which
are automatically transformed from string
to number
.
Type parameters
Name | Type |
---|---|
T | unknown |
A | extends ArgsObject = ArgsObject |
Parameters
Name | Type |
---|---|
config | Object |
config.name | string |
config.description | string |
config.aliases | string [] |
config.type | undefined | "number" |
config.defaultValue | any |
config.array | undefined | boolean |
config.required | undefined | boolean |
config.isDefault | undefined | boolean |
config.hidden | undefined | boolean |
config.outputName | undefined | string |
config.parse | undefined | Parser <A , T > |
Returns
Defined in
getOutputName
▸ getOutputName(): string
Returns the key which this option outputs to in the final object.
Returns
string
Default
The camelCase version of this option's name.
Can be overridden with {@link outputName}.
Defined in
helpString
▸ helpString(): string
Get the help string for this option
Returns
string
Defined in
isMatch
▸ isMatch(arg
, prefixes
): boolean
Returns true if the flag (including any prefixes) matches the name or aliases
Parameters
Name | Type |
---|---|
arg | string |
prefixes | Prefixes |
Returns
boolean
Defined in
qualifiedNames
▸ qualifiedNames(prefixes
): QualifiedNames
Return the finalized names that will cause this option to match.
Parameters
Name | Type |
---|---|
prefixes | Prefixes |