private IParsingResult <T> GetOptionResult <T>(int valueIndex, List <string> values, ValueOption <T> option1) { string value = valueIndex < values.Count ? values[valueIndex] : null; if (option1.Info is RequiredValueOptionInfo && value == null) { return(ParsingResult <T> .FailedResult($"{option1.Info.Name} is a required positional argument for option {Info.Name}")); } return(option1.Parse(value)); }
public override ParsingResult <List <T> > Parse(SuccessfulResultCollection input) { var values = input.Get(Info); var results = new List <T>(); foreach (var value in values) { var result = _valueOption.Parse(value); if (!result.Success) { return(ParsingResult <List <T> > .FailedResult(result.ErrorMessage)); } results.Add(result.Result); } return(ParsingResult <List <T> > .SuccessfulResult(results)); }