public function describe() : array
    {
        $info = [
            'path' => $this->path,
            'maxDepth' => $this->maxDepth,
            'skipSymLinks' => $this->skipSymLinks,
            'dirs' => $this->dirs,
            'itemValue' => $this->itemValue,
            'traverseHidden' => $this->traverseHidden,
            'skipUnreadable' => $this->skipUnreadable,
            'requireUnique' => $this->requireUnique,
            // Count actual criteria.
            'criteriaCount' => (int) !$this->includeHidden,
            // First actual criteria.
            'includeHidden' => $this->includeHidden,
        ];
        $possible_empties = [
            'includeNames',
            'excludeNames',
            'includeExtensions',
            'excludeExtensions',
            'includeParents',
            'excludeParents',
            'customFilter',
        ];
        foreach ($possible_empties as $key) {
            if ($this->{$key}) {
                ++$info['criteriaCount'];
                $info[$key] = $this->{$key};
            }
        }
        return $info;
    }
public function describe() : array
    {
        $info = [
            'path' => $this->path,
            'maxDepth' => $this->maxDepth,
            'skipSymLinks' => $this->skipSymLinks,
            'dirs' => $this->dirs,
            'itemValue' => $this->itemValue,
            'traverseHidden' => $this->traverseHidden,
            'skipUnreadable' => $this->skipUnreadable,
            'requireUnique' => $this->requireUnique,
            // Count actual criteria.
            'criteriaCount' => (int) !$this->includeHidden,
            // First actual criteria.
            'includeHidden' => $this->includeHidden,
        ];
        $possible_empties = [
            'includeNames',
            'excludeNames',
            'includeExtensions',
            'excludeExtensions',
            'includeParents',
            'excludeParents',
            'customFilter',
        ];
        foreach ($possible_empties as $key) {
            if ($this->{$key}) {
                ++$info['criteriaCount'];
                $info[$key] = $this->{$key};
            }
        }
        return $info;
    }
public function describe ( ) : array { $ info = [ 'path' => $ this -> path , 'maxDepth' => $ this -> maxDepth , 'skipSymLinks' => $ this -> skipSymLinks , 'dirs' => $ this -> dirs , 'itemValue' => $ this -> itemValue , 'traverseHidden' => $ this -> traverseHidden , 'skipUnreadable' => $ this -> skipUnreadable , 'requireUnique' => $ this -> requireUnique , // Count actual criteria. 'criteriaCount' => ( int ) ! $ this -> includeHidden , // First actual criteria. 'includeHidden' => $ this -> includeHidden , ] ; $ possible_empties = [ 'includeNames' , 'excludeNames' , 'includeExtensions' , 'excludeExtensions' , 'includeParents' , 'excludeParents' , 'customFilter' , ] ; foreach ( $ possible_empties as $ key ) { if ( $ this -> { $ key } ) { ++ $ info [ 'criteriaCount' ] ; $ info [ $ key ] = $ this -> { $ key } ; } } return $ info ; }
Dumps requirements, inclusions and exclusions to array.

Adds bucket criteriaCount, counting actual filter criteria;
zero of no filters and truthy includeHidden.

@return array
Dumps requirements inclusions and exclusions to array .