parseAsync method
Implementation
@override
void parseAsync(State<ChunkedData<I>> state, ResultCallback<List<O>> onDone) {
final input = state.input;
final pos = state.pos;
Result<O>? r1;
Result<O>? r2;
void parse2() {
p2.parseAsync(state, (result) {
if (result == null) {
state.pos = pos;
onDone(null);
} else {
r2 = result;
onDone(Result([
r1!.value,
r2!.value,
]));
}
});
}
void parse() {
p1.parseAsync(state, (result) {
if (result == null) {
onDone(null);
} else {
r1 = result;
input.handle(parse2);
}
});
}
parse();
}