543
// onto argv.
544
private populatePositionals(
546
>
argv: Arguments,
547
>
context: Context,
548
>
yargs: YargsInstance
549
>
) {
550
>
argv._ = argv._.slice(context.commands.length); // nuke the current commands
551
>
const demanded = commandHandler.demanded.slice(0);
552
>
const optional = commandHandler.optional.slice(0);
553
>
const positionalMap: Dictionary<string[]> = {};
554
>
555
>
this.validation.positionalCount(demanded.length, argv._.length);
556
>
557
>
while (demanded.length) {
558
const demand = demanded.shift()!;
559
this.populatePositional(demand, argv, positionalMap);
560
}
562
>
while (optional.length) {
563
const maybe = optional.shift()!;
564
this.populatePositional(maybe, argv, positionalMap);
565
}
567
>
argv._ = context.commands.concat(argv._.map(a => '' + a));
568
>
569
>
this.postProcessPositionals(
570
>
argv,
571
>
positionalMap,
572
>
this.cmdToParseOptions(commandHandler.original),
573
>
yargs
574
>
);
575
>
576
>
return positionalMap;
577
>
}
578
579
private populatePositional(