$lines JSONL lines, oldest first. * @return array */ public static function select(array $lines): array { $selected = array(); foreach ($lines as $line) { if (is_array(json_decode($line, true))) { continue; } if (strlen($line) > self::MAX_RESERVED_LINE_BYTES) { $prefixBytes = self::MAX_RESERVED_LINE_BYTES - strlen(self::TRUNCATION_SUFFIX); $line = substr($line, 0, max(0, $prefixBytes)) . self::TRUNCATION_SUFFIX; } $selected[] = $line; if (count($selected) > self::MAX_RESERVED_LINES) { array_shift($selected); } } return $selected; } }