parseOn method
Primitive method doing the actual parsing.
The method is overridden in concrete subclasses to implement the
parser specific logic. The methods takes a parse context
and
returns the resulting context, which is either a Success or
Failure context.
Implementation
@override
Result<List<R>> parseOn(Context context) {
final result = delegate.parseOn(context);
if (result is Failure) return result;
final value = result.value;
final values = List.generate(indexes.length, (i) {
final index = indexes[i];
return value[index < 0 ? value.length + index : index];
}, growable: false);
return result.success(values);
}