Skip to content

Commit 9c5ed98

Browse files
committed
wip
1 parent 90d8b6a commit 9c5ed98

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+301
-210
lines changed

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
"nette/utils": "^3.1.0|^4.0.0",
3434
"orisai/exceptions": "^1.0.0",
3535
"orisai/object-mapper-contracts": "^1.0.0",
36-
"orisai/reflection-meta": "^1.0.0",
36+
"orisai/reflection-meta": "^1.0.4",
3737
"orisai/source-map": "^1.0.0",
3838
"orisai/utils": "^1.0.0",
3939
"symfony/polyfill-php80": "^1.27.0"

src/Callbacks/AfterMapping.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
* @Target({"CLASS"})
1313
*/
1414
#[Attribute(Attribute::TARGET_CLASS)]
15-
final class AfterMapping implements CallbackDefinition
15+
final class AfterMapping extends CallbackDefinition
1616
{
1717

1818
private string $method;

src/Callbacks/AfterValidation.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
* @Target({"CLASS", "PROPERTY"})
1313
*/
1414
#[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_PROPERTY)]
15-
final class AfterValidation implements CallbackDefinition
15+
final class AfterValidation extends CallbackDefinition
1616
{
1717

1818
private string $method;

src/Callbacks/BeforeValidation.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
* @Target({"CLASS", "PROPERTY"})
1313
*/
1414
#[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_PROPERTY)]
15-
final class BeforeValidation implements CallbackDefinition
15+
final class BeforeValidation extends CallbackDefinition
1616
{
1717

1818
private string $method;

src/Callbacks/CallbackDefinition.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,19 @@
44

55
use Orisai\ObjectMapper\Args\Args;
66
use Orisai\ObjectMapper\Meta\MetaDefinition;
7+
use Orisai\ObjectMapper\Meta\OverloadType;
78

8-
interface CallbackDefinition extends MetaDefinition
9+
abstract class CallbackDefinition implements MetaDefinition
910
{
1011

1112
/**
1213
* @return class-string<Callback<Args>>
1314
*/
14-
public function getType(): string;
15+
abstract public function getType(): string;
16+
17+
final public function getOverloadType(): OverloadType
18+
{
19+
return OverloadType::allowMerge();
20+
}
1521

1622
}

src/Docs/Description.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* @Target({"CLASS", "PROPERTY"})
1414
*/
1515
#[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_PROPERTY)]
16-
final class Description implements DocDefinition
16+
final class Description extends DocDefinition
1717
{
1818

1919
private string $message;

src/Docs/DocDefinition.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,19 @@
33
namespace Orisai\ObjectMapper\Docs;
44

55
use Orisai\ObjectMapper\Meta\MetaDefinition;
6+
use Orisai\ObjectMapper\Meta\OverloadType;
67

7-
interface DocDefinition extends MetaDefinition
8+
abstract class DocDefinition implements MetaDefinition
89
{
910

1011
/**
1112
* @return class-string<Doc>
1213
*/
13-
public function getType(): string;
14+
abstract public function getType(): string;
15+
16+
final public function getOverloadType(): OverloadType
17+
{
18+
return OverloadType::allowOverride();
19+
}
1420

1521
}

src/Docs/Example.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
* @NamedArgumentConstructor()
1212
* @Target({"ANNOTATION"})
1313
*/
14-
final class Example implements DocDefinition
14+
final class Example extends DocDefinition
1515
{
1616

1717
private string $content;

src/Docs/Examples.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* @Target({"CLASS", "PROPERTY"})
1515
*/
1616
#[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_PROPERTY)]
17-
final class Examples implements DocDefinition
17+
final class Examples extends DocDefinition
1818
{
1919

2020
/** @var array<DocMeta> */

src/Docs/Link.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
* @NamedArgumentConstructor()
1111
* @Target({"ANNOTATION"})
1212
*/
13-
final class Link implements DocDefinition
13+
final class Link extends DocDefinition
1414
{
1515

1616
private string $url;

0 commit comments

Comments
 (0)