parseAsync method

  1. @override
AsyncResult<O?> parseAsync(
  1. State<ChunkedData<I>> state
)
override

Experimental. Not yet fully implemented

Implementation

@override
AsyncResult<O?> parseAsync(State<ChunkedData<I>> state) {
  final result = AsyncResult<O?>();
  final r1 = p.parseAsync(state);
  void handle() {
    result.ok = true;
    result.value = r1.ok == true ? r1.value : const Result(null);
    state.input.handler = result.handler;
  }

  if (r1.ok != null) {
    handle();
  } else {
    r1.handler = handle;
  }

  return result;
}