| 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 |