<?xml version="1.0"?>
<psalm
    errorLevel="2"
    resolveFromConfigFile="true"
    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"
>
    <projectFiles>
        <directory name="src" />
        <ignoreFiles>
            <directory name="vendor" />
        </ignoreFiles>
    </projectFiles>

    <issueHandlers>
        <ClassMustBeFinal>
            <errorLevel type="suppress">
                <file name="src/Internal/ConnectionProcessor.php"/>
            </errorLevel>
        </ClassMustBeFinal>

        <PossiblyInvalidArrayAccess>
            <errorLevel type="suppress">
                <file name="src/MysqlDataType.php"/>
            </errorLevel>
        </PossiblyInvalidArrayAccess>

        <PossiblyUnusedMethod>
            <errorLevel type="suppress">
                <directory name="src"/>
            </errorLevel>
        </PossiblyUnusedMethod>

        <PossiblyUnusedProperty>
            <errorLevel type="suppress">
                <file name="src/Internal/MysqlConnectionMetadata.php"/>
            </errorLevel>
        </PossiblyUnusedProperty>

        <UnsupportedPropertyReferenceUsage>
            <errorLevel type="suppress">
                <directory name="src"/>
            </errorLevel>
        </UnsupportedPropertyReferenceUsage>

        <PossiblyUnusedReturnValue>
            <errorLevel type="suppress">
                <file name="src/Internal/MysqlNestableExecutor.php"/>
                <file name="src/MysqlExecutor.php"/>
            </errorLevel>
        </PossiblyUnusedReturnValue>

        <UnusedClass>
            <errorLevel type="suppress">
                <directory name="src"/>
            </errorLevel>
        </UnusedClass>
    </issueHandlers>
</psalm>
