I am trying to parse a sentence and, at the same time, convert numbers to their digit representation.
As a simple example I want the sentence
three apples
parsed and converted to
3 apples
With this code simple code I can actually parse the sentence correctly and convert three in 3, but when I try to flatten the result, 3 is reverted back to three.
Parser three() => string('three').trim().map((value) => '3');
Parser apples() => string('apples').trim();
Parser sentence = three() & apples();
// this produces Success[1:13]: [3, apples]
print(sentence.parse('three apples'));
// this produces Success[1:13]: three apples
print(sentence.flatten().parse('three apples'));
Am I missing something? Is flatten behavior correct?
Thanks in advance L