From 73c6128ff5a4022002169c7732436581fc52d229 Mon Sep 17 00:00:00 2001 From: Priyadi Iman Nurcahyo <1102197+priyadi@users.noreply.github.com> Date: Thu, 11 Jan 2024 23:25:21 +0700 Subject: [PATCH] `TraversableToTraversableTransformer` now accepts `Generator` as a target type --- CHANGELOG.md | 1 + src/Transformer/TraversableToTraversableTransformer.php | 1 + tests/IntegrationTest/TraversableToTraversableMappingTest.php | 2 ++ 3 files changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f119f67..8cdf3c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## 0.5.4 * Add a caching layer for `TypeResolver` +* `TraversableToTraversableTransformer` now accepts `Generator` as a target type ## 0.5.3 diff --git a/src/Transformer/TraversableToTraversableTransformer.php b/src/Transformer/TraversableToTraversableTransformer.php index 0e2e753..4b590a3 100644 --- a/src/Transformer/TraversableToTraversableTransformer.php +++ b/src/Transformer/TraversableToTraversableTransformer.php @@ -168,6 +168,7 @@ public function getSupportedTransformation(): iterable ]; $targetTypes = [ + TypeFactory::objectOfClass(\Generator::class), TypeFactory::objectOfClass(\Traversable::class), ]; diff --git a/tests/IntegrationTest/TraversableToTraversableMappingTest.php b/tests/IntegrationTest/TraversableToTraversableMappingTest.php index 2154cbb..52ae7ae 100644 --- a/tests/IntegrationTest/TraversableToTraversableMappingTest.php +++ b/tests/IntegrationTest/TraversableToTraversableMappingTest.php @@ -33,6 +33,7 @@ public function testTraversableToTraversableDto(): void $this->assertInstanceOf(ObjectWithTraversablePropertyDto::class, $result); $this->assertNotNull($result->property); + $this->assertInstanceOf(\Generator::class, $result->property); foreach ($result->property as $item) { $this->assertInstanceOf(ObjectWithScalarPropertiesDto::class, $item); @@ -52,6 +53,7 @@ public function testArrayToTraversableDto(): void $this->assertInstanceOf(ObjectWithTraversablePropertyDto::class, $result); $this->assertNotNull($result->property); + $this->assertInstanceOf(\Generator::class, $result->property); foreach ($result->property as $item) { $this->assertInstanceOf(ObjectWithScalarPropertiesDto::class, $item);