From 530a4dffdc57700d2905a9e6552bc220a22b9b2a Mon Sep 17 00:00:00 2001 From: Christian Schira Date: Wed, 5 Jun 2024 11:21:42 +0200 Subject: [PATCH 1/2] Make `SimpleNormalizer::normalizeArray` public. --- CHANGELOG.md | 6 ++++++ src/Normalizer/SimpleNormalizer.php | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9bdbc34..ae4e156 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +1.2.2 +===== + +* (improvement) Make `SimpleNormalizer::normalizeArray` public. + + 1.2.1 ===== diff --git a/src/Normalizer/SimpleNormalizer.php b/src/Normalizer/SimpleNormalizer.php index 98c846a..b1f5c92 100644 --- a/src/Normalizer/SimpleNormalizer.php +++ b/src/Normalizer/SimpleNormalizer.php @@ -63,7 +63,7 @@ public function normalize (mixed $value, array $context = []) : mixed /** */ - private function normalizeArray (array $array, array $context) : array + public function normalizeArray (array $array, array $context) : array { $result = []; $isList = \array_is_list($array); From 130de496533ddd16f88b17f0a987e1cdd3779923 Mon Sep 17 00:00:00 2001 From: Christian Schira Date: Wed, 5 Jun 2024 11:26:10 +0200 Subject: [PATCH 2/2] fix linting issues --- .../ValueWithContextNormalizer.php | 3 +-- src/Normalizer/SimpleNormalizer.php | 17 ++++++++--------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/Normalizer/ObjectNormalizer/ValueWithContextNormalizer.php b/src/Normalizer/ObjectNormalizer/ValueWithContextNormalizer.php index 76ad481..4f1e5e5 100644 --- a/src/Normalizer/ObjectNormalizer/ValueWithContextNormalizer.php +++ b/src/Normalizer/ObjectNormalizer/ValueWithContextNormalizer.php @@ -17,11 +17,10 @@ public function normalize (object $value, array $context, SimpleNormalizer $norm return $normalizer->normalize( $value->value, - \array_replace($context, $value->context), + array_replace($context, $value->context), ); } - /** * @inheritDoc */ diff --git a/src/Normalizer/SimpleNormalizer.php b/src/Normalizer/SimpleNormalizer.php index b1f5c92..10cb654 100644 --- a/src/Normalizer/SimpleNormalizer.php +++ b/src/Normalizer/SimpleNormalizer.php @@ -16,7 +16,6 @@ public function __construct ( private readonly ServiceLocator $objectNormalizers, ) {} - /** */ public function normalize (mixed $value, array $context = []) : mixed @@ -35,29 +34,30 @@ public function normalize (mixed $value, array $context = []) : mixed { try { - $className = \get_class($value); + $className = $value::class; - if (\class_exists(ClassUtils::class)) + if (class_exists(ClassUtils::class)) { $className = ClassUtils::getRealClass($className); } $normalizer = $this->objectNormalizers->get($className); \assert($normalizer instanceof SimpleObjectNormalizerInterface); + return $normalizer->normalize($value, $context, $this); } catch (ServiceNotFoundException $exception) { - throw new ObjectTypeNotSupportedException(\sprintf( + throw new ObjectTypeNotSupportedException(sprintf( "Can't normalize type %s", - \get_debug_type($value), + get_debug_type($value), ), 0, $exception); } } - throw new UnsupportedTypeException(\sprintf( + throw new UnsupportedTypeException(sprintf( "Can't normalize type %s", - \get_debug_type($value), + get_debug_type($value), )); } @@ -66,7 +66,7 @@ public function normalize (mixed $value, array $context = []) : mixed public function normalizeArray (array $array, array $context) : array { $result = []; - $isList = \array_is_list($array); + $isList = array_is_list($array); foreach ($array as $key => $value) { @@ -93,7 +93,6 @@ public function normalizeArray (array $array, array $context) : array return $result; } - /** * Normalizes a map of values. * Will JSON-encode to `{}` when empty.