Skip to content

Instantly share code, notes, and snippets.

@soyuka
Last active June 12, 2020 14:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save soyuka/79b60710de2a79f66c5c2889f2170161 to your computer and use it in GitHub Desktop.
Save soyuka/79b60710de2a79f66c5c2889f2170161 to your computer and use it in GitHub Desktop.
Patch a composer vendor on the fly
"scripts": {
"post-update-cmd": "cd vendor/symfony/serializer && cat ../../../serializer.patch | patch"
}
diff --git a/Serializer.php b/Serializer.php
index 3f2461cf96..8e92abe29c 100644
--- a/Serializer.php
+++ b/Serializer.php
@@ -157,6 +157,10 @@ class Serializer implements SerializerInterface, ContextAwareNormalizerInterface
}
if (\is_array($data) || $data instanceof \Traversable) {
+ if ($data instanceof \Countable && 0 === $data->count()) {
+ return $data;
+ }
+
$normalized = [];
foreach ($data as $key => $val) {
$normalized[$key] = $this->normalize($val, $format, $context);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment