parseMany1 method

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

Implementation

@override
Tuple1<List<int>>? parseMany1(ParseState state) {
  final pos = state.pos;
  final length = state.length;
  if (pos + 2 <= length) {
    final source = state.data;
    final c = source.getUint16(pos, Endian.little);
    if (c >= 0x30 && c <= 0x39) {
      state.pos += 2;
      final list = [c];
      while (true) {
        final pos = state.pos;
        if (pos + 2 <= length) {
          final c = source.getUint16(pos, Endian.little);
          if (c >= 0x30 && c <= 0x39) {
            state.pos += 2;
            list.add(c);
            continue;
          }
        }

        return Tuple1(list);
      }
    }
  }
}