|
4 | 4 |
|
5 | 5 | namespace DigitalCraftsman\DateTimePrecision\DependencyInjection; |
6 | 6 |
|
7 | | -use DigitalCraftsman\DateTimePrecision\Doctrine\DateType; |
8 | | -use DigitalCraftsman\DateTimePrecision\Doctrine\MomentType; |
9 | | -use DigitalCraftsman\DateTimePrecision\Doctrine\MonthType; |
10 | | -use DigitalCraftsman\DateTimePrecision\Doctrine\TimeType; |
11 | | -use DigitalCraftsman\DateTimePrecision\Doctrine\WeekdaysType; |
12 | | -use DigitalCraftsman\DateTimePrecision\Doctrine\WeekdayType; |
13 | | -use DigitalCraftsman\DateTimePrecision\Doctrine\YearType; |
| 7 | +use DigitalCraftsman\DateTimePrecision\Date; |
| 8 | +use DigitalCraftsman\DateTimePrecision\Moment; |
| 9 | +use DigitalCraftsman\DateTimePrecision\Month; |
| 10 | +use DigitalCraftsman\DateTimePrecision\Time; |
| 11 | +use DigitalCraftsman\DateTimePrecision\Weekday; |
| 12 | +use DigitalCraftsman\DateTimePrecision\Weekdays; |
| 13 | +use DigitalCraftsman\DateTimePrecision\Year; |
| 14 | +use DigitalCraftsman\SelfAwareNormalizers\Doctrine\ArrayNormalizableThroughLookupType; |
| 15 | +use DigitalCraftsman\SelfAwareNormalizers\Doctrine\IntNormalizableThroughLookupType; |
| 16 | +use DigitalCraftsman\SelfAwareNormalizers\Doctrine\StringNormalizableThroughLookupType; |
14 | 17 | use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; |
15 | 18 | use Symfony\Component\DependencyInjection\ContainerBuilder; |
16 | 19 |
|
17 | 20 | final readonly class DoctrineTypeRegisterCompilerPass implements CompilerPassInterface |
18 | 21 | { |
19 | | - public const TYPE_DEFINITION_PARAMETER = 'doctrine.dbal.connection_factory.types'; |
| 22 | + public const string TYPE_DEFINITION_PARAMETER = 'doctrine.dbal.connection_factory.types'; |
20 | 23 |
|
21 | 24 | #[\Override] |
22 | 25 | public function process(ContainerBuilder $container): void |
23 | 26 | { |
24 | | - /** @var array<string, array{class: class-string}> $typeDefinitions */ |
| 27 | + /** |
| 28 | + * @var array<string, array{ |
| 29 | + * class: class-string, |
| 30 | + * }> $typeDefinitions |
| 31 | + */ |
25 | 32 | $typeDefinitions = $container->getParameter(self::TYPE_DEFINITION_PARAMETER); |
26 | 33 |
|
27 | | - $typeDefinitions['dtp_moment'] = ['class' => MomentType::class]; |
28 | | - $typeDefinitions['dtp_time'] = ['class' => TimeType::class]; |
29 | | - $typeDefinitions['dtp_weekday'] = ['class' => WeekdayType::class]; |
30 | | - $typeDefinitions['dtp_weekdays'] = ['class' => WeekdaysType::class]; |
31 | | - $typeDefinitions['dtp_date'] = ['class' => DateType::class]; |
32 | | - $typeDefinitions['dtp_month'] = ['class' => MonthType::class]; |
33 | | - $typeDefinitions['dtp_year'] = ['class' => YearType::class]; |
| 34 | + $typeDefinitions[Moment::class] = ['class' => StringNormalizableThroughLookupType::class]; |
| 35 | + $typeDefinitions[Time::class] = ['class' => StringNormalizableThroughLookupType::class]; |
| 36 | + $typeDefinitions[Weekday::class] = ['class' => StringNormalizableThroughLookupType::class]; |
| 37 | + $typeDefinitions[Weekdays::class] = ['class' => ArrayNormalizableThroughLookupType::class]; |
| 38 | + $typeDefinitions[Date::class] = ['class' => StringNormalizableThroughLookupType::class]; |
| 39 | + $typeDefinitions[Month::class] = ['class' => StringNormalizableThroughLookupType::class]; |
| 40 | + $typeDefinitions[Year::class] = ['class' => IntNormalizableThroughLookupType::class]; |
34 | 41 |
|
35 | 42 | $container->setParameter(self::TYPE_DEFINITION_PARAMETER, $typeDefinitions); |
36 | 43 | } |
|
0 commit comments