Skip to content

Commit

Permalink
Drop discriminatorMapper as its always string
Browse files Browse the repository at this point in the history
  • Loading branch information
olsavmic committed Sep 6, 2024
1 parent d8710f9 commit 601440a
Show file tree
Hide file tree
Showing 4 changed files with 1 addition and 6 deletions.
3 changes: 1 addition & 2 deletions src/Compiler/Mapper/Object/MapDiscriminatedObject.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ class MapDiscriminatedObject implements GenericMapperCompiler
*/
public function __construct(
public readonly string $className,
public readonly MapString $discriminatorMapper,
public readonly string $discriminatorFieldName,
public readonly array $objectMappers,
public readonly array $genericParameters = [],
Expand Down Expand Up @@ -84,7 +83,7 @@ public function compile(Expr $value, Expr $path, PhpCodeBuilder $builder): Compi
$discriminatorRawValue = $builder->arrayDimFetch($value, $builder->val($this->discriminatorFieldName));
$discriminatorPath = $builder->arrayImmutableAppend($path, $builder->val($this->discriminatorFieldName));
$discriminatorMapperMethodName = $builder->uniqMethodName('map' . ucfirst($this->discriminatorFieldName));
$discriminatorMapperMethod = $builder->mapperMethod($discriminatorMapperMethodName, $this->discriminatorMapper)->makePrivate()->getNode();
$discriminatorMapperMethod = $builder->mapperMethod($discriminatorMapperMethodName, new MapString())->makePrivate()->getNode();
$discriminatorMapperCall = $builder->methodCall($builder->var('this'), $discriminatorMapperMethodName, [$discriminatorRawValue, $discriminatorPath]);
$builder->addMethod($discriminatorMapperMethod);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -352,7 +352,6 @@ public function createDiscriminatorObjectMapping(

return new MapDiscriminatedObject(
$inputClassName,
new MapString(),
$discriminatorAttribute->key,
$objectMappers,
);
Expand Down
2 changes: 0 additions & 2 deletions tests/Compiler/Mapper/Object/MapDiscriminatedObjectTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,6 @@ private function createParentInputMapperCompiler(): MapperCompiler
{
return new MapDiscriminatedObject(
HierarchicalParentInput::class,
new MapString(),
'type',
[
'childOne' => new MapObject(HierarchicalChildOneInput::class, [
Expand All @@ -160,7 +159,6 @@ private function createParentInputWithEnumMapperCompiler(): MapperCompiler
{
return new MapDiscriminatedObject(
HierarchicalWithEnumParentInput::class,
new MapString(),
'type',
[
'childOne' => new MapObject(HierarchicalWithEnumChildInput::class, [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,6 @@ className: CarFilterInput::class,
[],
new MapDiscriminatedObject(
className: AnimalInput::class,
discriminatorMapper: new MapString(),
discriminatorFieldName: 'type',
objectMappers: [
AnimalType::Cat->value => new MapObject(AnimalCatInput::class, [
Expand Down

0 comments on commit 601440a

Please sign in to comment.