* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace SebastianBergmann\FileIterator; use function array_unique; use function assert; use function sort; use SplFileInfo; /** * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit */ final class Facade { /** * @psalm-param list|non-empty-string $paths * @psalm-param list|string $suffixes * @psalm-param list|string $prefixes * @psalm-param list $exclude * * @psalm-return list */ public function getFilesAsArray(array|string $paths, array|string $suffixes = '', array|string $prefixes = '', array $exclude = []): array { $iterator = (new Factory)->getFileIterator($paths, $suffixes, $prefixes, $exclude); $files = []; foreach ($iterator as $file) { assert($file instanceof SplFileInfo); $file = $file->getRealPath(); if ($file) { $files[] = $file; } } $files = array_unique($files); sort($files); return $files; } }