parse method

  1. @override
Result<Object?>? parse(
  1. State<I> state
)
override

Parses the input and returns a result wrapped in Result if successful, null otherwise.

Implementation

@override
Result<Object?>? parse(State<I> state) {
  final pos = state.pos;
  final r = p.parse(state);
  if (r == null) {
    return const Result(null);
  }

  state.pos = pos;
  return state.fail(ErrorUnexpectedInput(pos - state.pos));
}