Skip to content

Commit d072c23

Browse files
committed
allow debug traceable normalizer in json model type
1 parent 22280f1 commit d072c23

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

src/DBAL/Type/JsonModelType.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use Doctrine\DBAL\Platforms\AbstractPlatform;
88
use Doctrine\DBAL\Types\ConversionException;
99
use Doctrine\DBAL\Types\JsonType;
10+
use Symfony\Component\Serializer\Debug\TraceableNormalizer;
1011
use Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer;
1112

1213
abstract class JsonModelType extends JsonType
@@ -54,12 +55,12 @@ public function convertToPHPValue(mixed $value, AbstractPlatform $platform): mix
5455
);
5556
}
5657

57-
public function setObjectNormalizer(AbstractObjectNormalizer $normalizer): void
58+
public function setObjectNormalizer(AbstractObjectNormalizer|TraceableNormalizer $normalizer): void
5859
{
5960
$this->normalizer = $normalizer;
6061
}
6162

62-
protected function getObjectNormalizer(): AbstractObjectNormalizer
63+
protected function getObjectNormalizer(): AbstractObjectNormalizer|TraceableNormalizer
6364
{
6465
if ($this->normalizer === null) {
6566
throw new \RuntimeException('JsonModelType requires object normalizer to be set');

src/DBAL/Type/JsonModelTypeRegistry.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use Doctrine\DBAL\Exception;
88
use Doctrine\DBAL\Types\Type;
99
use Symfony\Component\PropertyInfo\Extractor\ReflectionExtractor;
10+
use Symfony\Component\Serializer\Debug\TraceableNormalizer;
1011
use Symfony\Component\Serializer\NameConverter\CamelCaseToSnakeCaseNameConverter;
1112
use Symfony\Component\Serializer\Normalizer\AbstractObjectNormalizer;
1213
use Symfony\Component\Serializer\Normalizer\ObjectNormalizer;
@@ -21,8 +22,8 @@ final class JsonModelTypeRegistry
2122
* @param string $name
2223
* @param class-string $className
2324
* @param bool $override
24-
* @return void
2525
* @throws Exception
26+
* @return void
2627
*/
2728
public static function addType(string $name, string $className, bool $override = false): void
2829
{
@@ -44,14 +45,14 @@ public static function hasType(string $name): bool
4445
return array_key_exists($name, self::$typesMap);
4546
}
4647

47-
public static function getObjectNormalizer(): AbstractObjectNormalizer
48+
public static function getObjectNormalizer(): AbstractObjectNormalizer|TraceableNormalizer
4849
{
4950
return self::$objectNormalizer ??= new ObjectNormalizer(
5051
nameConverter: new CamelCaseToSnakeCaseNameConverter(),
5152
propertyTypeExtractor: new ReflectionExtractor()
5253
);
5354
}
54-
public static function setObjectNormalizer(AbstractObjectNormalizer $objectNormalizer): void
55+
public static function setObjectNormalizer(AbstractObjectNormalizer|TraceableNormalizer $objectNormalizer): void
5556
{
5657
self::$objectNormalizer = $objectNormalizer;
5758
}

0 commit comments

Comments
 (0)