File "ExtendsWithoutChainDiscoverCondition.php"

Full Path: /var/www/html/back/vendor/spatie/php-structure-discoverer/src/DiscoverConditions/ExtendsWithoutChainDiscoverCondition.php
File size: 650 bytes
MIME-type: text/x-php
Charset: utf-8

<?php

namespace Spatie\StructureDiscoverer\DiscoverConditions;

use Spatie\StructureDiscoverer\Data\DiscoveredClass;
use Spatie\StructureDiscoverer\Data\DiscoveredStructure;

class ExtendsWithoutChainDiscoverCondition extends DiscoverCondition
{
    /** @var string[] */
    private array $classes;

    public function __construct(string ...$classes)
    {
        $this->classes = $classes;
    }

    public function satisfies(DiscoveredStructure $discoveredData): bool
    {
        if ($discoveredData instanceof DiscoveredClass) {
            return in_array($discoveredData->extends, $this->classes);
        }

        return false;
    }
}