parseAsync method
Implementation
@override
void parseAsync(
State<ChunkedData<StringReader>> state, ResultCallback<Object?> onDone) {
if (!backtrack(state)) {
onDone(null);
return;
}
final input = state.input;
void parse() {
final end = input.end;
if (state.pos >= end && !input.isClosed) {
input.sleep = true;
input.handle(parse);
return;
}
if (state.pos >= end) {
onDone(Result(null));
} else {
state.fail<Object?>(const ErrorExpectedEndOfInput());
onDone(null);
}
return;
}
parse();
}