Skip to content

Commit 757bddb

Browse files
committed
fix(ugrade): remove annotation, use only attribute
1 parent 0cc6fed commit 757bddb

File tree

19 files changed

+47
-40
lines changed

19 files changed

+47
-40
lines changed

phpstan.neon

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,3 @@ parameters:
77
- src/
88

99
tmpDir: cache
10-
11-
ignoreErrors:
12-
-
13-
message: "#^Method Symfony\\\\Component\\\\Serializer\\\\NameConverter\\\\NameConverterInterface\\:\\:normalize\\(\\) invoked with 2 parameters, 1 required\\.$#"
14-
count: 2
15-
path: src/EventListener/Symfony/AdvancedNameConverterListener.php

src/AutoMapper.php

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
use AutoMapper\Transformer\PropertyTransformer\PropertyTransformerInterface;
2020
use AutoMapper\Transformer\PropertyTransformer\PropertyTransformerRegistry;
2121
use AutoMapper\Transformer\TransformerFactoryInterface;
22-
use Doctrine\Common\Annotations\AnnotationReader;
2322
use Doctrine\Persistence\ObjectManager;
2423
use Symfony\Component\EventDispatcher\EventDispatcher;
2524
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
@@ -28,9 +27,7 @@
2827
use Symfony\Component\Lock\Store\FlockStore;
2928
use Symfony\Component\Serializer\Mapping\ClassDiscriminatorFromClassMetadata;
3029
use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactory;
31-
use Symfony\Component\Serializer\Mapping\Loader\AnnotationLoader;
3230
use Symfony\Component\Serializer\Mapping\Loader\AttributeLoader;
33-
use Symfony\Component\Serializer\NameConverter\AdvancedNameConverterInterface;
3431
use Symfony\Component\Serializer\NameConverter\NameConverterInterface;
3532

3633
/**
@@ -143,7 +140,7 @@ public function mapCollection(iterable $collection, string $target, array $conte
143140
public static function create(
144141
Configuration $configuration = new Configuration(),
145142
?string $cacheDirectory = null,
146-
AdvancedNameConverterInterface|NameConverterInterface|null $nameConverter = null,
143+
?NameConverterInterface $nameConverter = null,
147144
array $transformerFactories = [],
148145
iterable $propertyTransformers = [],
149146
?ExpressionLanguageProvider $expressionLanguageProvider = null,
@@ -153,9 +150,6 @@ public static function create(
153150
): AutoMapperInterface {
154151
if (class_exists(AttributeLoader::class)) {
155152
$loaderClass = new AttributeLoader();
156-
} elseif (class_exists(AnnotationReader::class) && class_exists(AnnotationLoader::class)) {
157-
/** @var AttributeLoader $loaderClass */
158-
$loaderClass = new AnnotationLoader(new AnnotationReader());
159153
} else {
160154
$loaderClass = null;
161155
}

src/EventListener/Symfony/AdvancedNameConverterListener.php renamed to src/EventListener/Symfony/NameConverterListener.php

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,29 @@
55
namespace AutoMapper\EventListener\Symfony;
66

77
use AutoMapper\Event\PropertyMetadataEvent;
8-
use Symfony\Component\Serializer\NameConverter\AdvancedNameConverterInterface;
98
use Symfony\Component\Serializer\NameConverter\NameConverterInterface;
109

11-
final readonly class AdvancedNameConverterListener
10+
final readonly class NameConverterListener
1211
{
1312
public function __construct(
14-
private AdvancedNameConverterInterface|NameConverterInterface $nameConverter,
13+
private NameConverterInterface $nameConverter,
1514
) {
1615
}
1716

1817
public function __invoke(PropertyMetadataEvent $event): void
1918
{
2019
if (($event->mapperMetadata->source === 'array' || $event->mapperMetadata->source === \stdClass::class) && $event->source->property === $event->target->property) {
21-
$event->source->property = $this->nameConverter->normalize($event->target->property, $event->mapperMetadata->target);
20+
/** @var class-string $target */
21+
$target = $event->mapperMetadata->target;
22+
23+
$event->source->property = $this->nameConverter->normalize($event->target->property, $target);
2224
}
2325

2426
if (($event->mapperMetadata->target === 'array' || $event->mapperMetadata->target === \stdClass::class) && $event->source->property === $event->target->property) {
25-
$event->target->property = $this->nameConverter->normalize($event->source->property, $event->mapperMetadata->source);
27+
/** @var class-string $source */
28+
$source = $event->mapperMetadata->source;
29+
30+
$event->target->property = $this->nameConverter->normalize($event->source->property, $source);
2631
}
2732
}
2833
}

src/Extractor/FromSourceMappingExtractor.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@
1919
*/
2020
final class FromSourceMappingExtractor extends MappingExtractor
2121
{
22+
/**
23+
* @param class-string $source
24+
* @param 'array' $target
25+
*/
2226
public function getTypes(string $source, SourcePropertyMetadata $sourceProperty, string $target, TargetPropertyMetadata $targetProperty, bool $extractTypesFromGetter): array
2327
{
2428
$sourceType = $this->sourceTypeExtractor->getType($source, $sourceProperty->property) ?? Type::mixed();

src/Extractor/FromTargetMappingExtractor.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@
1919
*/
2020
final class FromTargetMappingExtractor extends MappingExtractor
2121
{
22+
/**
23+
* @param 'array' $source
24+
* @param class-string $target
25+
*/
2226
public function getTypes(string $source, SourcePropertyMetadata $sourceProperty, string $target, TargetPropertyMetadata $targetProperty, bool $extractTypesFromGetter): array
2327
{
2428
$targetType = $this->targetTypeExtractor->getType($target, $targetProperty->property) ?? Type::mixed();

src/Extractor/MappingExtractorInterface.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ interface MappingExtractorInterface
2828
public function getProperties(string $class): iterable;
2929

3030
/**
31+
* @param class-string|'array' $source
32+
* @param class-string|'array' $target
33+
*
3134
* @return array{Type, Type}
3235
*/
3336
public function getTypes(string $source, SourcePropertyMetadata $sourceProperty, string $target, TargetPropertyMetadata $targetProperty, bool $extractTypesFromGetter): array;

src/Extractor/SourceTargetMappingExtractor.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@
1717
*/
1818
class SourceTargetMappingExtractor extends MappingExtractor
1919
{
20+
/**
21+
* @param class-string $source
22+
* @param class-string $target
23+
*/
2024
public function getTypes(string $source, SourcePropertyMetadata $sourceProperty, string $target, TargetPropertyMetadata $targetProperty, bool $extractTypesFromGetter): array
2125
{
2226
$sourceType = $this->sourceTypeExtractor->getType($source, $sourceProperty->property) ?? Type::mixed();

src/Metadata/MetadataFactory.php

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
use AutoMapper\EventListener\MapProviderListener;
1717
use AutoMapper\EventListener\MapToContextListener;
1818
use AutoMapper\EventListener\MapToListener;
19-
use AutoMapper\EventListener\Symfony\AdvancedNameConverterListener;
2019
use AutoMapper\EventListener\Symfony\ClassDiscriminatorListener;
20+
use AutoMapper\EventListener\Symfony\NameConverterListener;
2121
use AutoMapper\EventListener\Symfony\SerializerGroupListener;
2222
use AutoMapper\EventListener\Symfony\SerializerIgnoreListener;
2323
use AutoMapper\EventListener\Symfony\SerializerMaxDepthListener;
@@ -56,7 +56,6 @@
5656
use Symfony\Component\PropertyInfo\PropertyInfoExtractor;
5757
use Symfony\Component\Serializer\Mapping\ClassDiscriminatorFromClassMetadata;
5858
use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactory;
59-
use Symfony\Component\Serializer\NameConverter\AdvancedNameConverterInterface;
6059
use Symfony\Component\Serializer\NameConverter\MetadataAwareNameConverter;
6160
use Symfony\Component\Serializer\NameConverter\NameConverterInterface;
6261
use Symfony\Component\Uid\AbstractUid;
@@ -352,7 +351,7 @@ public static function create(
352351
MetadataRegistry $metadataRegistry,
353352
ClassDiscriminatorResolver $classDiscriminatorResolver,
354353
?ClassMetadataFactory $classMetadataFactory = null,
355-
AdvancedNameConverterInterface|NameConverterInterface|null $nameConverter = null,
354+
?NameConverterInterface $nameConverter = null,
356355
ExpressionLanguage $expressionLanguage = new ExpressionLanguage(),
357356
EventDispatcherInterface $eventDispatcher = new EventDispatcher(),
358357
?ObjectManager $objectManager = null,
@@ -375,13 +374,13 @@ public static function create(
375374
$reflectionExtractor = new ReflectionExtractor(accessFlags: $flags);
376375

377376
if (null !== $classMetadataFactory) {
378-
$eventDispatcher->addListener(PropertyMetadataEvent::class, new AdvancedNameConverterListener(new MetadataAwareNameConverter($classMetadataFactory, $nameConverter)));
377+
$eventDispatcher->addListener(PropertyMetadataEvent::class, new NameConverterListener(new MetadataAwareNameConverter($classMetadataFactory, $nameConverter)));
379378
$eventDispatcher->addListener(PropertyMetadataEvent::class, new SerializerMaxDepthListener($classMetadataFactory));
380379
$eventDispatcher->addListener(PropertyMetadataEvent::class, new SerializerGroupListener($classMetadataFactory));
381380
$eventDispatcher->addListener(PropertyMetadataEvent::class, new SerializerIgnoreListener($classMetadataFactory));
382381
$eventDispatcher->addListener(GenerateMapperEvent::class, new ClassDiscriminatorListener(new ClassDiscriminatorFromClassMetadata($classMetadataFactory)));
383382
} elseif (null !== $nameConverter) {
384-
$eventDispatcher->addListener(PropertyMetadataEvent::class, new AdvancedNameConverterListener($nameConverter));
383+
$eventDispatcher->addListener(PropertyMetadataEvent::class, new NameConverterListener($nameConverter));
385384
}
386385

387386
if (null !== $objectManager) {

src/Symfony/Bundle/DependencyInjection/AutoMapperExtension.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
use AutoMapper\Configuration as AutoMapperConfiguration;
99
use AutoMapper\ConstructorStrategy;
1010
use AutoMapper\Event\PropertyMetadataEvent;
11-
use AutoMapper\EventListener\Symfony\AdvancedNameConverterListener;
11+
use AutoMapper\EventListener\Symfony\NameConverterListener;
1212
use AutoMapper\Exception\LogicException;
1313
use AutoMapper\Loader\ClassLoaderInterface;
1414
use AutoMapper\Loader\EvalLoader;
@@ -145,7 +145,7 @@ public function load(array $configs, ContainerBuilder $container): void
145145
->setArgument(1, new Reference($config['name_converter']));
146146
} else {
147147
$container
148-
->getDefinition(AdvancedNameConverterListener::class)
148+
->getDefinition(NameConverterListener::class)
149149
->replaceArgument(0, new Reference($config['name_converter']))
150150
->addTag('kernel.event_listener', ['event' => PropertyMetadataEvent::class, 'priority' => -64]);
151151
}

src/Symfony/Bundle/Resources/config/event.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
use AutoMapper\EventListener\MapProviderListener;
1212
use AutoMapper\EventListener\MapToContextListener;
1313
use AutoMapper\EventListener\MapToListener;
14-
use AutoMapper\EventListener\Symfony\AdvancedNameConverterListener;
14+
use AutoMapper\EventListener\Symfony\NameConverterListener;
1515
use AutoMapper\Transformer\PropertyTransformer\PropertyTransformerRegistry;
16-
use Symfony\Component\Serializer\NameConverter\AdvancedNameConverterInterface;
16+
use Symfony\Component\Serializer\NameConverter\NameConverterInterface;
1717

1818
return static function (ContainerConfigurator $container) {
1919
$container->services()
@@ -31,7 +31,7 @@
3131
->set(MapperListener::class)
3232
->tag('kernel.event_listener', ['event' => GenerateMapperEvent::class, 'priority' => 256])
3333

34-
->set(AdvancedNameConverterListener::class)
35-
->args([service(AdvancedNameConverterInterface::class)])
34+
->set(NameConverterListener::class)
35+
->args([service(NameConverterInterface::class)])
3636
;
3737
};

0 commit comments

Comments
 (0)