Example #1
0
        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));
        }
Example #2
0
        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));
        }