Вход Регистрация
Файл: vendor/phpunit/phpunit/src/Util/VersionComparisonOperator.php
Строк: 52
<?php declare(strict_types=1);
/*
 * This file is part of PHPUnit.
 *
 * (c) Sebastian Bergmann <sebastian@phpunit.de>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
namespace PHPUnitUtil;

use function 
in_array;
use function 
sprintf;

/**
 * @internal This class is not covered by the backward compatibility promise for PHPUnit
 *
 * @psalm-immutable
 */
final class VersionComparisonOperator
{
    
/**
     * @psalm-var '<'|'lt'|'<='|'le'|'>'|'gt'|'>='|'ge'|'=='|'='|'eq'|'!='|'<>'|'ne'
     */
    
private $operator;

    public function 
__construct(string $operator)
    {
        
$this->ensureOperatorIsValid($operator);

        
$this->operator $operator;
    }

    
/**
     * @return '!='|'<'|'<='|'<>'|'='|'=='|'>'|'>='|'eq'|'ge'|'gt'|'le'|'lt'|'ne'
     */
    
public function asString(): string
    
{
        return 
$this->operator;
    }

    
/**
     * @throws Exception
     *
     * @psalm-assert '<'|'lt'|'<='|'le'|'>'|'gt'|'>='|'ge'|'=='|'='|'eq'|'!='|'<>'|'ne' $operator
     */
    
private function ensureOperatorIsValid(string $operator): void
    
{
        if (!
in_array($operator, ['<''lt''<=''le''>''gt''>=''ge''==''=''eq''!=''<>''ne'], true)) {
            throw new 
Exception(
                
sprintf(
                    
'"%s" is not a valid version_compare() operator',
                    
$operator
                
)
            );
        }
    }
}
Онлайн: 0
Реклама