2 declare(strict_types = 1);
59 public function count(): int
63 return count($this->result);
81 public function key(): int
85 return key($this->result);
91 public function next(): void
100 public function rewind(): void
103 reset($this->result);
110 public function valid(): bool
114 return current($this->result) !==
false;
119 if ($this->result ===
null) {
120 $this->result = $this->
applyFilters(...iterator_to_array($this->searchResult));
133 foreach ($files as $file) {
134 $itemIdentifier = $file->getIdentifier();
138 foreach ($this->filters as $filter) {
139 if (!is_callable($filter)) {
142 $result = $filter($itemName, $itemIdentifier, $parentIdentifier, [], $this->driver);
149 throw new \RuntimeException(
150 'Could not apply file/folder name filter ' . $filter[0] .
'::' . $filter[1],
156 $filteredFiles[] = $file;
160 return $filteredFiles;