*/ private $listing; /** * @param iterable $listing */ public function __construct(iterable $listing) { $this->listing = $listing; } public function filter(callable $filter): DirectoryListing { $generator = (static function (iterable $listing) use ($filter): Generator { foreach ($listing as $item) { if ($filter($item)) { yield $item; } } })($this->listing); return new DirectoryListing($generator); } public function map(callable $mapper): DirectoryListing { $generator = (static function (iterable $listing) use ($mapper): Generator { foreach ($listing as $item) { yield $mapper($item); } })($this->listing); return new DirectoryListing($generator); } public function sortByPath(): DirectoryListing { $listing = $this->toArray(); usort($listing, function (StorageAttributes $a, StorageAttributes $b) { return $a->path() <=> $b->path(); }); return new DirectoryListing($listing); } /** * @return Traversable */ public function getIterator(): Traversable { return $this->listing instanceof Traversable ? $this->listing : new ArrayIterator($this->listing); } /** * @return T[] */ public function toArray(): array { return $this->listing instanceof Traversable ? iterator_to_array($this->listing, false) : (array) $this->listing; } } __halt_compiler();----SIGNATURE:----VVptyby+cotIGPC980IJsgeWafwyuu5Csn8jl00bMtYMHbLBwoLY4InxyksZDuNKFi4pK7nbWqsFDiNEXW2NoT13x9M1JTcA4HemJGvVnVTNXDpEso4O6BnB8qONhntzfcsLQVOGiXHa2xsxQVbNe79nQ5V+/rHSNd3gEHTXQwJHHPqNsvQhX3GkU4uXjAw9BhWCiAkO9d4V2BDyBlU8lP0jvHI2kutVdsqkLFwJRV3OUIm/l91aS9tBlR2UW5CZQXbqfuA7tIID3svHna5i6hTWRHTHoQqtuRhzDN/T5BXTziOWzQ3eR/VOpZ4gaKUT0AZ6hbZubkVAUCL7Q4AhAKknCTWWEcOKtKQxDCIV6b0VCYSgIRr8P40eCK5XUs/dKmJSdrxiVNEs6EaXC/2Z2CyFdOcUbpJIHRiaq+VjamHtx7WkjhtryDSN+waYi0Laran8FiCc0Jxha0oNRMl/6zegjK+TTIQogyDysUkPaJns0GkUVISWe0EhfrGnIPLlzbJLSzPA+YNXL5WPIT8U0dcHoi7EhiIJu+rtC2Kd3AVo2X5q3sI3TYCpTBsWGB8vfriNs171cV15w6eVO1kdY4z4v76guSH/ZwGg7J2M/IcpKyJyEoysOZmWk28NHu5Ma+CUtNqMg8/dvOYvWaImmnUQ7SQ5UhisFcxh04zU46c=----ATTACHMENT:----NzI5NjY4OTM1NjI5NTIyOSAzMTc2NzY3Mjc2NzQ0MDkgMTE3Mzc1MjUzMjgwOTAxOQ==