* Dariusz RumiƄski * * This source file is subject to the MIT license that is bundled * with this source code in the file LICENSE. */ namespace PhpCsFixer\FixerConfiguration; /** * @internal */ final class AllowedValueSubset { /** * @var list */ private array $allowedValues; /** * @param list $allowedValues */ public function __construct(array $allowedValues) { $this->allowedValues = $allowedValues; sort($this->allowedValues, SORT_FLAG_CASE | SORT_STRING); } /** * Checks whether the given values are a subset of the allowed ones. * * @param mixed $values the value to validate */ public function __invoke($values): bool { if (!\is_array($values)) { return false; } foreach ($values as $value) { if (!\in_array($value, $this->allowedValues, true)) { return false; } } return true; } /** * @return list */ public function getAllowedValues(): array { return $this->allowedValues; } }