Skip to content

Commit 4fc07ca

Browse files
author
Kirill Nesmeyanov
committed
Apply phpcs
1 parent 91bb937 commit 4fc07ca

File tree

3 files changed

+64
-4
lines changed

3 files changed

+64
-4
lines changed

src/Mapping/Driver/AttributeDriver.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ protected function load(\ReflectionClass $reflection, ClassMetadata $class, Repo
5959

6060
/**
6161
* @param non-empty-string $type
62+
*
6263
* @throws PropertyTypeNotFoundException
6364
*/
6465
private function createType(string $type, \ReflectionProperty $property, RepositoryInterface $types): TypeMetadata
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace TypeLang\Mapper\Runtime\Value;
6+
7+
use Symfony\Component\VarDumper\Caster\ReflectionCaster;
8+
use Symfony\Component\VarDumper\Cloner\ClonerInterface;
9+
use Symfony\Component\VarDumper\Cloner\VarCloner;
10+
use Symfony\Component\VarDumper\Dumper\AbstractDumper;
11+
use Symfony\Component\VarDumper\Dumper\CliDumper;
12+
use Symfony\Component\VarDumper\Dumper\DataDumperInterface;
13+
use TypeLang\Mapper\Exception\Environment\ComposerPackageRequiredException;
14+
15+
final class SymfonyValuePrinter implements ValuePrinterInterface
16+
{
17+
private readonly AbstractDumper $dumper;
18+
19+
private readonly ClonerInterface $cloner;
20+
21+
public function __construct(
22+
?AbstractDumper $dumper = null,
23+
?ClonerInterface $cloner = null,
24+
) {
25+
self::assertKernelPackageIsInstalled();
26+
27+
$this->dumper = $dumper ?? $this->createDefaultDataDumper();
28+
$this->cloner = $cloner ?? $this->createDefaultVarCloner();
29+
}
30+
31+
private function createDefaultDataDumper(): CliDumper
32+
{
33+
return new CliDumper();
34+
}
35+
36+
private function createDefaultVarCloner(): VarCloner
37+
{
38+
$cloner = new VarCloner();
39+
$cloner->addCasters(ReflectionCaster::UNSET_CLOSURE_FILE_INFO);
40+
41+
return $cloner;
42+
}
43+
44+
/**
45+
* @throws ComposerPackageRequiredException
46+
*/
47+
private static function assertKernelPackageIsInstalled(): void
48+
{
49+
if (!\interface_exists(DataDumperInterface::class)) {
50+
throw ComposerPackageRequiredException::becausePackageNotInstalled(
51+
package: 'symfony/var-dumper',
52+
purpose: 'Symfony value printer support',
53+
);
54+
}
55+
}
56+
57+
public function print(mixed $value): string
58+
{
59+
$result = $this->cloner->cloneVar($value);
60+
61+
return (string) $this->dumper->dump($result, true);
62+
}
63+
}

src/Type/ObjectType.php

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,13 +86,11 @@ protected function normalizeObject(object $object, LocalContext $context): array
8686
foreach ($this->metadata->getProperties() as $meta) {
8787
$context->enter(new ObjectPropertyEntry($meta->getName()));
8888

89-
9089
// Skip the property when not readable
9190
if (!$this->accessor->isReadable($object, $meta)) {
9291
continue;
9392
}
9493

95-
9694
// Assert that type is present
9795
$info = $meta->findTypeInfo();
9896
if ($info === null) {
@@ -102,10 +100,8 @@ protected function normalizeObject(object $object, LocalContext $context): array
102100
);
103101
}
104102

105-
106103
$fieldValue = $this->accessor->getValue($object, $meta);
107104

108-
109105
// Skip the property when condition is matched
110106
$skip = $meta->findSkipCondition();
111107
if ($skip !== null) {

0 commit comments

Comments
 (0)