Skip to content

Commit 9e54004

Browse files
committed
middleware based hydrator
1 parent 400472f commit 9e54004

24 files changed

+868
-1229
lines changed

baseline.xml

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<files psalm-version="6.12.0@cf420941d061a57050b6c468ef2c778faf40aee2">
2+
<files psalm-version="6.13.1@1e3b7f0a8ab32b23197b91107adc0a7ed8a05b51">
33
<file src="src/Attribute/SensitiveData.php">
44
<MixedPropertyTypeCoercion>
55
<code><![CDATA[$fallbackCallable]]></code>
@@ -17,6 +17,18 @@
1717
<code><![CDATA[list<string>]]></code>
1818
</MoreSpecificReturnType>
1919
</file>
20+
<file src="src/Cryptography/CryptographyMetadataFactory.php">
21+
<MixedArgument>
22+
<code><![CDATA[$metadata->propertyForField($subjectIdMapping[$subjectIdIdentifier])->propertyName()]]></code>
23+
<code><![CDATA[$property->propertyName()]]></code>
24+
<code><![CDATA[$property->propertyName()]]></code>
25+
</MixedArgument>
26+
<UndefinedMethod>
27+
<code><![CDATA[propertyName]]></code>
28+
<code><![CDATA[propertyName]]></code>
29+
<code><![CDATA[propertyName]]></code>
30+
</UndefinedMethod>
31+
</file>
2032
<file src="src/Cryptography/SensitiveDataPayloadCryptographer.php">
2133
<MixedArgument>
2234
<code><![CDATA[$rawData]]></code>
@@ -47,7 +59,9 @@
4759
<MixedReturnStatement>
4860
<code><![CDATA[(new ReflectionClass($class))->newLazyProxy(
4961
function () use ($metadata, $data): object {
50-
return $this->doHydrate($metadata, $data);
62+
$stack = new Stack($this->middlewares);
63+
64+
return $stack->next()->hydrate($metadata, $data, $stack);
5165
},
5266
)]]></code>
5367
</MixedReturnStatement>
@@ -58,6 +72,12 @@
5872
]]]></code>
5973
</PossiblyInvalidArgument>
6074
</file>
75+
<file src="src/Middleware/TransformMiddleware.php">
76+
<MixedAssignment>
77+
<code><![CDATA[$data[$propertyMetadata->fieldName]]]></code>
78+
<code><![CDATA[$value]]></code>
79+
</MixedAssignment>
80+
</file>
6181
<file src="src/Normalizer/ArrayNormalizer.php">
6282
<MixedAssignment>
6383
<code><![CDATA[$item]]></code>
@@ -93,12 +113,6 @@
93113
<code><![CDATA[$sensitiveDataInfo]]></code>
94114
</MixedAssignment>
95115
</file>
96-
<file src="tests/Unit/Cryptography/CryptographySubscriberTest.php">
97-
<InvalidArgument>
98-
<code><![CDATA[$metadata]]></code>
99-
<code><![CDATA[$metadata]]></code>
100-
</InvalidArgument>
101-
</file>
102116
<file src="tests/Unit/Fixture/IdNormalizer.php">
103117
<PropertyTypeCoercion>
104118
<code><![CDATA[$type->getClassName()]]></code>
@@ -116,12 +130,6 @@
116130
<ArgumentTypeCoercion>
117131
<code><![CDATA['Unknown']]></code>
118132
</ArgumentTypeCoercion>
119-
<InvalidArgument>
120-
<code><![CDATA[$metadataFactory->metadata(ProfileCreated::class)]]></code>
121-
<code><![CDATA[$metadataFactory->metadata(ProfileCreated::class)]]></code>
122-
<code><![CDATA[$metadataFactory->metadata(ProfileCreated::class)]]></code>
123-
<code><![CDATA[$metadataFactory->metadata(ProfileCreated::class)]]></code>
124-
</InvalidArgument>
125133
<UndefinedClass>
126134
<code><![CDATA['Unknown']]></code>
127135
</UndefinedClass>

composer.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
"ext-openssl": "*",
2424
"psr/cache": "^2.0.0 || ^3.0.0",
2525
"psr/simple-cache": "^2.0.0 || ^3.0.0",
26-
"symfony/event-dispatcher": "^5.4.29 || ^6.4.0 || ^7.0.0",
2726
"symfony/type-info": "^7.3.0"
2827
},
2928
"require-dev": {

0 commit comments

Comments
 (0)