Skip to content

Function: resolveArgs()

Resolve command line arguments.

Signature

ts
declare function resolveArgs<A extends Args>(args: A, tokens: ArgToken[], {
  shortGrouping,
  skipPositional,
  toKebab
}?: ResolveArgs): {
  values: ArgValues<A>;
  positionals: string[];
  rest: string[];
  error: AggregateError | undefined;
  explicit: ArgExplicitlyProvided<A>;
}

Type Parameters

NameDescription
A extends ArgsArguments, which is an object that defines the command line arguments.

Parameters

NameTypeDescription
argsAAn arguments that contains arguments schema.
tokensArgToken[]An array of tokens.
resolveArgsResolveArgsAn arguments that contains resolve arguments. (optional)

Returns

object — An object that contains the values of the arguments, positional arguments, rest arguments, validation errors, and explicit provision status.

error

ts
error: AggregateError | undefined;

explicit

ts
explicit: ArgExplicitlyProvided<A>;

positionals

ts
positionals: string[];

rest

ts
rest: string[];

values

ts
values: ArgValues<A>;

Examples

typescript
// passed tokens: --port 3000

const { values, explicit } = resolveArgs({
  port: {
    type: 'number',
    default: 8080
  },
  host: {
    type: 'string',
    default: 'localhost'
  }
}, parsedTokens)

values.port // 3000
values.host // 'localhost'

explicit.port // true (explicitly provided)
explicit.host // false (not provided, fallback to default)

Released under the MIT License.