Skip to content
This repository was archived by the owner on Mar 12, 2025. It is now read-only.

Commit 24ed399

Browse files
committed
handle t & v feedback
1 parent 15d8fba commit 24ed399

32 files changed

+81
-352
lines changed

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ echo $model->getName();
167167
### Policy
168168

169169
* [AndPolicy][27]
170-
* [CallbackPolicyIncludingPath][28]
170+
* [CallbackPolicy][28]
171171
* [GroupPolicy][29]
172172
* [NotPolicy][30]
173173
* [NullPolicy][31]
@@ -235,7 +235,7 @@ Dominik Zogg 2020
235235
[26]: doc/Mapping/LazyDenormalizationObjectMapping.md
236236

237237
[27]: doc/Policy/AndPolicy.md
238-
[28]: doc/Policy/CallbackPolicyIncludingPath.md
238+
[28]: doc/Policy/CallbackPolicy.md
239239
[29]: doc/Policy/GroupPolicy.md
240240
[30]: doc/Policy/NotPolicy.md
241241
[31]: doc/Policy/NullPolicy.md

doc/Mapping/AdvancedDenormalizationObjectMapping.md

+4-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ use Chubbyphp\Deserialization\DeserializerRuntimeException;
1616
use Chubbyphp\Deserialization\Mapping\DenormalizationFieldMappingBuilder;
1717
use Chubbyphp\Deserialization\Mapping\DenormalizationFieldMappingInterface;
1818
use Chubbyphp\Deserialization\Mapping\DenormalizationObjectMappingInterface;
19+
use Chubbyphp\Deserialization\Policy\GroupPolicy;
1920
use MyProject\Model\AbstractManyModel;
2021
use MyProject\Model\Model;
2122

@@ -55,7 +56,9 @@ final class ModelMapping implements DenormalizationObjectMappingInterface
5556
public function getDenormalizationFieldMappings(string $path, string $type = null): array
5657
{
5758
return [
58-
DenormalizationFieldMappingBuilder::create('name')->getMapping(),
59+
DenormalizationFieldMappingBuilder::create('name')
60+
->setPolicy(new GroupPolicy(['baseInformation']))
61+
->getMapping(),
5962
DenormalizationFieldMappingBuilder::createEmbedOne('one', OneModel::class)->getMapping(),
6063
DenormalizationFieldMappingBuilder::createEmbedMany('manies', AbstractManyModel::class)->getMapping(),
6164
];

doc/Policy/AndPolicy.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,6 @@ $policy = new AndPolicy([
1919
new AnotherPolicy(),
2020
]);
2121

22-
echo $policy->isCompliantIncludingPath('path', $model, $context);
22+
echo $policy->isCompliant('path', $model, $context);
2323
// 1
2424
```

doc/Policy/CallbackPolicy.md

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# CallbackPolicy
2+
3+
```php
4+
<?php
5+
6+
use Chubbyphp\Deserialization\Denormalizer\DenormalizerContextInterface;
7+
use Chubbyphp\Deserialization\Policy\CallbackPolicy;
8+
use MyProject\Model\Model;
9+
10+
$model = new Model();
11+
12+
/** @var DenormalizerContextInterface $context */
13+
$context = ...;
14+
15+
$policy = new CallbackPolicy(function (string $path, object $object, DenormalizerContextInterface $context) {
16+
return true;
17+
});
18+
19+
echo $policy->isCompliant('path', $model, $context);
20+
// 1
21+
```

doc/Policy/CallbackPolicyIncludingPath.md

-21
This file was deleted.

doc/Policy/GroupPolicy.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@ $context = $context->withAttribute('groups', ['group1']);
1515

1616
$policy = new GroupPolicy(['group1']);
1717

18-
echo $policy->isCompliantIncludingPath('path', $model, $context);
18+
echo $policy->isCompliant('path', $model, $context);
1919
// 1
2020
```

doc/Policy/NotPolicy.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@ $context = ...;
1515

1616
$policy = new NotPolicy(new SomePolicy());
1717

18-
echo $policy->isCompliantIncludingPath('path', $model, $context);
18+
echo $policy->isCompliant('path', $model, $context);
1919
// 1
2020
```

doc/Policy/NullPolicy.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ $context = ...;
1414

1515
$policy = new NullPolicy();
1616

17-
echo $policy->isCompliantIncludingPath('path', $model, $context);
17+
echo $policy->isCompliant('path', $model, $context);
1818
// 1
1919
```

doc/Policy/OrPolicy.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,6 @@ $policy = new OrPolicy([
1919
new AnotherPolicy(),
2020
]);
2121

22-
echo $policy->isCompliantIncludingPath('path', $model, $context);
22+
echo $policy->isCompliant('path', $model, $context);
2323
// 1
2424
```

src/Container/DecoderFactory.php

-23
This file was deleted.

src/Container/DenormalizerFactory.php

-25
This file was deleted.

src/Container/DenormalizerObjectMappingRegistryFactory.php

-21
This file was deleted.

src/Container/DeserializerFactory.php

-25
This file was deleted.

src/Denormalizer/Denormalizer.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ private function isCompliant(
184184
DenormalizerContextInterface $context,
185185
DenormalizationFieldMappingInterface $mapping
186186
): bool {
187-
return $mapping->getPolicy()->isCompliantIncludingPath($path, $object, $context);
187+
return $mapping->getPolicy()->isCompliant($path, $object, $context);
188188
}
189189

190190
private function getSubPathByName(string $path, string $name): string

src/Policy/AndPolicy.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@ public function __construct(array $policies)
2121
$this->policies = $policies;
2222
}
2323

24-
public function isCompliantIncludingPath(string $path, object $object, DenormalizerContextInterface $context): bool
24+
public function isCompliant(string $path, object $object, DenormalizerContextInterface $context): bool
2525
{
2626
foreach ($this->policies as $policy) {
27-
if (!$policy->isCompliantIncludingPath($path, $object, $context)) {
27+
if (!$policy->isCompliant($path, $object, $context)) {
2828
return false;
2929
}
3030
}

src/Policy/CallbackPolicyIncludingPath.php src/Policy/CallbackPolicy.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
use Chubbyphp\Deserialization\Denormalizer\DenormalizerContextInterface;
88

9-
final class CallbackPolicyIncludingPath implements PolicyInterface
9+
final class CallbackPolicy implements PolicyInterface
1010
{
1111
/**
1212
* @var callable
@@ -18,7 +18,7 @@ public function __construct(callable $callback)
1818
$this->callback = $callback;
1919
}
2020

21-
public function isCompliantIncludingPath(string $path, object $object, DenormalizerContextInterface $context): bool
21+
public function isCompliant(string $path, object $object, DenormalizerContextInterface $context): bool
2222
{
2323
return ($this->callback)($path, $object, $context);
2424
}

src/Policy/GroupPolicy.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public function __construct(array $groups = [self::GROUP_DEFAULT])
2525
$this->groups = $groups;
2626
}
2727

28-
public function isCompliantIncludingPath(string $path, object $object, DenormalizerContextInterface $context): bool
28+
public function isCompliant(string $path, object $object, DenormalizerContextInterface $context): bool
2929
{
3030
if ([] === $this->groups) {
3131
return true;

src/Policy/NotPolicy.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ public function __construct(PolicyInterface $policy)
1818
$this->policy = $policy;
1919
}
2020

21-
public function isCompliantIncludingPath(string $path, object $object, DenormalizerContextInterface $context): bool
21+
public function isCompliant(string $path, object $object, DenormalizerContextInterface $context): bool
2222
{
23-
return !$this->policy->isCompliantIncludingPath($path, $object, $context);
23+
return !$this->policy->isCompliant($path, $object, $context);
2424
}
2525
}

src/Policy/NullPolicy.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
final class NullPolicy implements PolicyInterface
1010
{
11-
public function isCompliantIncludingPath(string $path, object $object, DenormalizerContextInterface $context): bool
11+
public function isCompliant(string $path, object $object, DenormalizerContextInterface $context): bool
1212
{
1313
return true;
1414
}

src/Policy/OrPolicy.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@ public function __construct(array $policies)
2121
$this->policies = $policies;
2222
}
2323

24-
public function isCompliantIncludingPath(string $path, object $object, DenormalizerContextInterface $context): bool
24+
public function isCompliant(string $path, object $object, DenormalizerContextInterface $context): bool
2525
{
2626
foreach ($this->policies as $policy) {
27-
if ($policy->isCompliantIncludingPath($path, $object, $context)) {
27+
if ($policy->isCompliant($path, $object, $context)) {
2828
return true;
2929
}
3030
}

src/Policy/PolicyInterface.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@
88

99
interface PolicyInterface
1010
{
11-
public function isCompliantIncludingPath(string $path, object $object, DenormalizerContextInterface $context): bool;
11+
public function isCompliant(string $path, object $object, DenormalizerContextInterface $context): bool;
1212
}

tests/Unit/Container/DecoderFactoryTest.php

-44
This file was deleted.

0 commit comments

Comments
 (0)