fastParse method

  1. @override
bool fastParse(
  1. ParseState state
)
override

Parses input data passively, with minimal consumption of system resources during parsing.

Returns true if parsing was successful; otherwise returns false.

if(!fastParse(state)) {
  state.fail(err, state.pos);
}

Implementation

@override
bool fastParse(ParseState state) {
  final pos = state.pos;
  if (!p.fastParse(state)) {
    return min == 0;
  }

  var count = 0;
  while (count < max) {
    if (!p.fastParse(state)) {
      break;
    }

    count++;
  }

  if (count >= min) {
    return true;
  }

  state.pos = pos;
  return false;
}