MCPcopy Create free account
hub / github.com/yargs/yargs / cmdToParseOptions

Method cmdToParseOptions

lib/command.ts:594–623  ·  view source on GitHub ↗
(cmdString: string)

Source from the content-addressed store, hash-verified

592 // Based on parsing variadic markers '...', demand syntax '<foo>', etc.,
593 // populate parser hints:
594 public cmdToParseOptions(cmdString: string): Positionals {
595 const parseOptions: Positionals = {
596 array: [],
597 default: {},
598 alias: {},
599 demand: {},
600 };
601
602 const parsed = parseCommand(cmdString);
603 parsed.demanded.forEach(d => {
604 const [cmd, ...aliases] = d.cmd;
605 if (d.variadic) {
606 parseOptions.array.push(cmd);
607 parseOptions.default[cmd] = [];
608 }
609 parseOptions.alias[cmd] = aliases;
610 parseOptions.demand[cmd] = true;
611 });
612
613 parsed.optional.forEach(o => {
614 const [cmd, ...aliases] = o.cmd;
615 if (o.variadic) {
616 parseOptions.array.push(cmd);
617 parseOptions.default[cmd] = [];
618 }
619 parseOptions.alias[cmd] = aliases;
620 });
621
622 return parseOptions;
623 }
624
625 // we run yargs-parser against the positional arguments
626 // applying the same parsing logic used for flags.

Callers 2

populatePositionalsMethod · 0.95
positionalMethod · 0.80

Calls 1

parseCommandFunction · 0.85

Tested by

no test coverage detected