take method

String take(
  1. int length
)

Implementation

String take(int length) {
  if (length < 0) {
    return "";
  }

  if (!canTake(length)) {
    throw StateError("Not enough characters in queue to take $length");
  }

  StringBuffer sb = StringBuffer();
  while (sb.length < length && queue.isNotEmpty) {
    String piece = queue.first;
    if (sb.length + piece.length < length) {
      sb.write(removeFirst());
    } else {
      break;
    }
  }

  return sb.toString();
}