EVOLUTION-NINJA
Edit File: OutputFormatterCollector.php
<?php declare (strict_types=1); namespace Rector\Core\Console\Output; use Rector\ChangesReporting\Contract\Output\OutputFormatterInterface; use Rector\Core\Exception\Configuration\InvalidConfigurationException; final class OutputFormatterCollector { /** * @var OutputFormatterInterface[] */ private $outputFormatters = []; /** * @param OutputFormatterInterface[] $outputFormatters */ public function __construct(array $outputFormatters) { foreach ($outputFormatters as $outputFormatter) { $this->outputFormatters[$outputFormatter->getName()] = $outputFormatter; } } public function getByName(string $name) : \Rector\ChangesReporting\Contract\Output\OutputFormatterInterface { $this->ensureOutputFormatExists($name); return $this->outputFormatters[$name]; } /** * @return int[]|string[] */ public function getNames() : array { return \array_keys($this->outputFormatters); } private function ensureOutputFormatExists(string $name) : void { if (isset($this->outputFormatters[$name])) { return; } throw new \Rector\Core\Exception\Configuration\InvalidConfigurationException(\sprintf('Output formatter "%s" was not found. Pick one of "%s".', $name, \implode('", "', $this->getNames()))); } }