parse method

  1. @override
Tuple1<int>? parse(
  1. ParseState state
)
override

Parses input data actively and produces the result.

Returns Tuple1 of the result if parsing was successful; otherwise returns null.

final r1 = p.parse(state);

Implementation

@override
Tuple1<int>? parse(ParseState state) {
  final pos = state.pos;
  if (pos + 2 <= state.length) {
    final c = state.data.getUint16(pos, Endian.little);
    if (c <= _maxChar) {
      for (var i = 0; i < _cs.length; i++) {
        if (c == _cs[i]) {
          state.pos += 2;
          return Tuple1(c);
        }
      }
    }
  }
}