Skip to content

Commit ff5ecdb

Browse files
authored
Merge pull request #37 from rekalogika:chore/simplify-remembering-mapper
chore: Simplify remembering mapper.
2 parents 99012f7 + 11fa0fb commit ff5ecdb

File tree

2 files changed

+4
-13
lines changed

2 files changed

+4
-13
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
* perf(`ObjectToObjectTransformer`): Prevent delegating to `MainTransformer` if
2323
the current value in a dynamic property is a scalar.
2424
* feat(`PresetMappingFactory`): Add `fromObjectCache()` and `fromObjectCacheReversed()`.
25+
* chore: Simplify remembering mapper.
2526

2627
## 1.0.0
2728

tests/Fixtures/RememberingMapper/RememberingMapper.php

+3-13
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
namespace Rekalogika\Mapper\Tests\Fixtures\RememberingMapper;
1515

1616
use Rekalogika\Mapper\Context\Context;
17-
use Rekalogika\Mapper\Exception\UnexpectedValueException;
1817
use Rekalogika\Mapper\MapperInterface;
1918
use Rekalogika\Mapper\ObjectCache\ObjectCacheFactoryInterface;
2019
use Rekalogika\Mapper\Transformer\Context\PresetMapping;
@@ -37,29 +36,20 @@ public function reset(): void
3736
$this->presetMapping = new PresetMapping();
3837
}
3938

39+
/** @psalm-suppress InvalidReturnType */
4040
public function map(object $source, object|string $target, ?Context $context = null): object
4141
{
4242
$objectCache = $this->objectCacheFactory->createObjectCache();
4343

44-
if ($context === null) {
45-
$context = Context::create();
46-
}
47-
44+
$context ??= Context::create();
4845
$context = $context->with($objectCache, $this->presetMapping);
4946

5047
$result = $this->decorated->map($source, $target, $context);
5148

52-
if (is_object($target)) {
53-
$target = $target::class;
54-
}
55-
56-
if (!$result instanceof $target) {
57-
throw new UnexpectedValueException(sprintf('Expected instance of "%s", got "%s"', $target, get_class($result)));
58-
}
59-
6049
$newPresetMapping = PresetMappingFactory::fromObjectCacheReversed($objectCache);
6150
$this->presetMapping->mergeFrom($newPresetMapping);
6251

52+
/** @psalm-suppress InvalidReturnStatement */
6353
return $result;
6454
}
6555
}

0 commit comments

Comments
 (0)