parse method

  1. @override
Result<int>? parse(
  1. State<StringReader> state
)
override

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

Implementation

@override
Result<int>? parse(State<StringReader> state) {
  final input = state.input;
  if (state.pos < input.length) {
    final c = input.readChar(state.pos);
    if (f(c)) {
      state.pos += input.count;
      return Result(c);
    }
  }

  return state.fail(ErrorUnexpectedCharacter());
}