in src/unparsed-blocks/Lines.php [151:180]
public function withoutFirstNBytes(
int $count,
): Lines {
$lines = $this->lines;
while ($count > 0) {
list($offset, $line) = C\firstx($lines);
$len = Str\length($line);
if ($count > $len) {
$count -= $len + 1; // +1 for "\n"
$lines = Vec\drop($lines, 1);
continue;
}
if ($count === $len) {
$lines = Vec\concat(
vec[tuple($offset + $count, '')],
Vec\drop($lines, 1),
);
break;
}
if ($count <= $len) {
$lines = Vec\concat(
vec[tuple($offset + $count, Str\slice($line, $count))],
Vec\drop($lines, 1),
);
break;
}
}
return new self($lines);
}