Skip to content

Commit

Permalink
Merge pull request #35 from rekalogika:feat/dynamic-property-scalar
Browse files Browse the repository at this point in the history
perf(`ObjectToObjectTransformer`): Prevent delegating to `MainTransformer` if  the current value in a dynamic property is a scalar.
  • Loading branch information
priyadi authored Feb 21, 2024
2 parents 9d8e927 + af8fbfa commit 129ee56
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 1 deletion.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
* fix: mapping to object extending `stdClass` to property with no setter.
* feat: `stdClass` to `stdClass` mapping should work correctly.
* feat: Mapping to existing values in a dynamic property.
* perf(`ObjectToObjectTransformer`): Prevent delegating to `MainTransformer` if
the current value in a dynamic property is a scalar.

## 1.0.0

Expand Down
5 changes: 4 additions & 1 deletion src/Transformer/Implementation/ObjectToObjectTransformer.php
Original file line number Diff line number Diff line change
Expand Up @@ -587,7 +587,10 @@ private function mapDynamicProperties(
}


if ($currentTargetPropertyValue === null) {
if (
$currentTargetPropertyValue === null
|| is_scalar($currentTargetPropertyValue)
) {
/** @psalm-suppress MixedAssignment */
$targetPropertyValue = $sourcePropertyValue;
} else {
Expand Down

0 comments on commit 129ee56

Please sign in to comment.