| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 | 
							- <?php
 
- declare(strict_types=1);
 
- /*
 
-  * (c) Jeroen van den Enden <info@endroid.nl>
 
-  *
 
-  * This source file is subject to the MIT license that is bundled
 
-  * with this source code in the file LICENSE.
 
-  */
 
- namespace Endroid\QrCode;
 
- use Endroid\QrCode\Exception\InvalidWriterException;
 
- use Endroid\QrCode\Writer\BinaryWriter;
 
- use Endroid\QrCode\Writer\DebugWriter;
 
- use Endroid\QrCode\Writer\EpsWriter;
 
- use Endroid\QrCode\Writer\PngWriter;
 
- use Endroid\QrCode\Writer\SvgWriter;
 
- use Endroid\QrCode\Writer\WriterInterface;
 
- class WriterRegistry implements WriterRegistryInterface
 
- {
 
-     /** @var WriterInterface[] */
 
-     private $writers = [];
 
-     /** @var WriterInterface|null */
 
-     private $defaultWriter;
 
-     public function loadDefaultWriters(): void
 
-     {
 
-         if (count($this->writers) > 0) {
 
-             return;
 
-         }
 
-         $this->addWriters([
 
-             new BinaryWriter(),
 
-             new DebugWriter(),
 
-             new EpsWriter(),
 
-             new PngWriter(),
 
-             new SvgWriter(),
 
-         ]);
 
-         $this->setDefaultWriter('png');
 
-     }
 
-     public function addWriters(iterable $writers): void
 
-     {
 
-         foreach ($writers as $writer) {
 
-             $this->addWriter($writer);
 
-         }
 
-     }
 
-     public function addWriter(WriterInterface $writer): void
 
-     {
 
-         $this->writers[$writer->getName()] = $writer;
 
-     }
 
-     public function getWriter(string $name): WriterInterface
 
-     {
 
-         $this->assertValidWriter($name);
 
-         return $this->writers[$name];
 
-     }
 
-     public function getDefaultWriter(): WriterInterface
 
-     {
 
-         if ($this->defaultWriter instanceof WriterInterface) {
 
-             return $this->defaultWriter;
 
-         }
 
-         throw new InvalidWriterException('Please set the default writer via the second argument of addWriter');
 
-     }
 
-     public function setDefaultWriter(string $name): void
 
-     {
 
-         $this->defaultWriter = $this->writers[$name];
 
-     }
 
-     public function getWriters(): array
 
-     {
 
-         return $this->writers;
 
-     }
 
-     private function assertValidWriter(string $name): void
 
-     {
 
-         if (!isset($this->writers[$name])) {
 
-             throw new InvalidWriterException('Invalid writer "'.$name.'"');
 
-         }
 
-     }
 
- }
 
 
  |