Current File : /var/www/prestashop/modules/ps_metrics/vendor/friendsofphp/php-cs-fixer/src/RuleSet/RuleSets.php
<?php

declare (strict_types=1);
/*
 * This file is part of PHP CS Fixer.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *     Dariusz Rumiński <dariusz.ruminski@gmail.com>
 *
 * This source file is subject to the MIT license that is bundled
 * with this source code in the file LICENSE.
 */
namespace ps_metrics_module_v4_0_6\PhpCsFixer\RuleSet;

use Symfony\Component\Finder\Finder;
/**
 * Set of rule sets to be used by fixer.
 *
 * @internal
 */
final class RuleSets
{
    /**
     * @var array<string,RuleSetDescriptionInterface>
     */
    private static $setDefinitions;
    /**
     * @return array<string, RuleSetDescriptionInterface>
     */
    public static function getSetDefinitions() : array
    {
        if (null === self::$setDefinitions) {
            self::$setDefinitions = [];
            foreach (Finder::create()->files()->in(__DIR__ . '/Sets') as $file) {
                $class = 'PhpCsFixer\\RuleSet\\Sets\\' . $file->getBasename('.php');
                $set = new $class();
                self::$setDefinitions[$set->getName()] = $set;
            }
            \ksort(self::$setDefinitions);
        }
        return self::$setDefinitions;
    }
    /**
     * @return string[]
     */
    public static function getSetDefinitionNames() : array
    {
        return \array_keys(self::getSetDefinitions());
    }
    public static function getSetDefinition(string $name) : RuleSetDescriptionInterface
    {
        $definitions = self::getSetDefinitions();
        if (!isset($definitions[$name])) {
            throw new \InvalidArgumentException(\sprintf('Set "%s" does not exist.', $name));
        }
        return $definitions[$name];
    }
}