parseAsync method
Implementation
@override
void parseAsync(State<ChunkedData<I>> state, ResultCallback<O> onDone) {
final pos = state.pos;
void parse() {
p.parseAsync(state, (result) {
if (result == null) {
onDone(null);
} else {
final value = result.value;
final v = f(value);
if (v) {
onDone(Result(value));
} else {
final error = h(pos, state.pos, value);
state.pos = pos;
state.failAt<Object?>(pos, error);
onDone(null);
}
}
});
}
parse();
}