| 1 | <?php | ||
| 16 | final class FormatsFactory | ||
| 17 | { | ||
| 18 | 2 | public function make(array $formats): Formats | |
| 19 |     { | ||
| 20 | 2 |         $map = new Map('string', Format::class); | |
| 21 | |||
| 22 | 2 |         foreach ($formats as $name => $format) { | |
| 23 | 2 | $map = $map->put( | |
| 24 | 2 | $name, | |
| 25 | 2 | $this->makeFormat($name, $format) | |
| 26 | ); | ||
| 27 | } | ||
| 28 | |||
| 29 | 2 | return new Formats($map); | |
| 30 | } | ||
| 31 | |||
| 32 | 2 | private function makeFormat(string $name, array $config): Format | |
| 44 | } | ||
| 45 |