<?xml version="1.0"?>
<psalm
    cacheDirectory="./.psalm-cache"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="https://getpsalm.org/schema/config"
    xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
    errorLevel="1"
    findUnusedPsalmSuppress="true"
    findUnusedCode="true"
    findUnusedBaselineEntry="true"
    errorBaseline="psalm-baseline.xml"
>
    <projectFiles>
        <directory name="src"/>
        <directory name="test"/>
        <ignoreFiles>
            <directory name="vendor"/>
        </ignoreFiles>
    </projectFiles>

    <issueHandlers>
        <InternalClass>
            <errorLevel type="suppress">
                <referencedClass name="Mezzio\Hal\Response\CallableResponseFactoryDecorator"/>
            </errorLevel>
        </InternalClass>

        <DeprecatedClass>
            <errorLevel type="suppress">
                <referencedClass name="Mezzio\Hal\Response\CallableResponseFactoryDecorator"/>
            </errorLevel>
        </DeprecatedClass>

        <UndefinedClass>
            <errorLevel type="suppress">
                <referencedClass name="Mezzio\Container\ResponseFactoryFactory"/>
                <referencedClass name="Zend\Expressive\Hal\HalResponseFactory"/>
                <referencedClass name="Zend\Expressive\Hal\LinkGenerator"/>
                <referencedClass name="Zend\Expressive\Hal\LinkGenerator\ExpressiveUrlGenerator"/>
                <referencedClass name="Zend\Expressive\Hal\LinkGenerator\UrlGeneratorInterface"/>
                <referencedClass name="Zend\Expressive\Hal\Metadata\MetadataMap"/>
                <referencedClass name="Zend\Expressive\Hal\Renderer\JsonRenderer"/>
                <referencedClass name="Zend\Expressive\Hal\Renderer\XmlRenderer"/>
                <referencedClass name="Zend\Expressive\Hal\ResourceGenerator"/>
                <referencedClass name="Zend\Expressive\Hal\RouteBasedCollectionStrategy"/>
                <referencedClass name="Zend\Expressive\Hal\RouteBasedResourceStrategy"/>
                <referencedClass name="Zend\Expressive\Hal\UrlBasedCollectionStrategy"/>
                <referencedClass name="Zend\Expressive\Hal\UrlBasedResourceStrategy"/>
                <referencedClass name="Zend\Expressive\Helper\ServerUrlHelper"/>
                <referencedClass name="Zend\Expressive\Helper\UrlHelper"/>
            </errorLevel>
        </UndefinedClass>

        <InternalMethod>
            <errorLevel type="suppress">
                <referencedMethod name="Mezzio\Hal\Response\CallableResponseFactoryDecorator::getResponseFromCallable"/>
                <referencedMethod name="PHPUnit\Framework\Exception::__construct"/>
            </errorLevel>
        </InternalMethod>

        <DeprecatedTrait>
            <errorLevel type="suppress">
                <file name="src/HalResponseFactoryFactory.php"/>
                <file name="test/TestAsset/Psr17ResponseFactoryTraitImplementation.php"/>
            </errorLevel>
        </DeprecatedTrait>
    </issueHandlers>
    <plugins>
        <pluginClass class="Psalm\PhpUnitPlugin\Plugin"/>
    </plugins>
</psalm>
