HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: /home/xedaptot/work.naniguide.com/vendor/phpro/grumphp/src/Locator/ListedFiles.php
<?php

declare(strict_types=1);

namespace GrumPHP\Locator;

use GrumPHP\Collection\FilesCollection;
use GrumPHP\Util\Paths;
use Symfony\Component\Finder\SplFileInfo;

class ListedFiles
{
    /**
     * @var Paths
     */
    private $paths;

    public function __construct(Paths $paths)
    {
        $this->paths = $paths;
    }

    public function locate(string $fileList): FilesCollection
    {
        $filePaths = preg_split("/\r\n|\n|\r/", $fileList);

        $files = [];
        foreach (array_filter($filePaths) as $file) {
            $relativeFile = $this->paths->makePathRelativeToProjectDir($file);
            $files[] = new SplFileInfo($relativeFile, dirname($relativeFile), $relativeFile);
        }

        return new FilesCollection($files);
    }
}