positionalArgumentParser function

ArgumentEntryParser positionalArgumentParser({
  1. required ParserContext parserContext,
  2. required dynamic positionalParameter,
  3. required List<Parameter> parameters,
  4. required SettableParser loopbackParser,
})

Accepts a value expression (not starting with name=) and converts it to a ArgumentEntry It uses a loopback parser which is an expressionParser so that it can parse any known expression to a parameter value. The loopbackParser is a SettableParser because the expressionParser does not exist when this positionalArgumentParser is created.

Implementation

ArgumentEntryParser positionalArgumentParser({
  required ParserContext parserContext,
  required positionalParameter,
  required List<Parameter> parameters,
  required SettableParser loopbackParser,
}) =>
    ([for (var p in parameters) (string(p.name).trim() & char('=').trim())]
                .toChoiceParser()
                .not() &
            loopbackParser)
        .map((values) => ArgumentEntry(positionalParameter.name, values[1]));