Skip to content

Commit b38638d

Browse files
committed
improve array normalizer performance
1 parent efbbce8 commit b38638d

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

src/Normalizer/ArrayNormalizer.php

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,11 @@ public function normalize(mixed $value): array|null
3232
throw InvalidArgument::withWrongType('array|null', $value);
3333
}
3434

35-
return array_map(fn (mixed $value): mixed => $this->normalizer->normalize($value), $value);
35+
foreach ($value as &$item) {
36+
$item = $this->normalizer->normalize($item);
37+
}
38+
39+
return $value;
3640
}
3741

3842
/** @return array<array-key, mixed>|null */
@@ -46,7 +50,11 @@ public function denormalize(mixed $value): array|null
4650
throw InvalidArgument::withWrongType('array|null', $value);
4751
}
4852

49-
return array_map(fn (mixed $value): mixed => $this->normalizer->denormalize($value), $value);
53+
foreach ($value as &$item) {
54+
$item = $this->normalizer->denormalize($item);
55+
}
56+
57+
return $value;
5058
}
5159

5260
public function setHydrator(Hydrator $hydrator): void

0 commit comments

Comments
 (0)