Skip to content

Commit 4d2888d

Browse files
committed
wip
1 parent ac0b25a commit 4d2888d

File tree

139 files changed

+2269
-2030
lines changed

Some content is hidden

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

139 files changed

+2269
-2030
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.5",
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: 7 additions & 2 deletions
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;
@@ -22,7 +22,12 @@ public function __construct(string $method)
2222
$this->method = $method;
2323
}
2424

25-
public function getType(): string
25+
public function getScope(): string
26+
{
27+
return $this->getHandler();
28+
}
29+
30+
public function getHandler(): string
2631
{
2732
return AfterMappingCallback::class;
2833
}

src/Callbacks/AfterValidation.php

Lines changed: 7 additions & 2 deletions
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;
@@ -29,7 +29,12 @@ public function __construct(string $method, string $runtime = CallbackRuntime::P
2929
$this->runtime = $runtime;
3030
}
3131

32-
public function getType(): string
32+
public function getScope(): string
33+
{
34+
return $this->getHandler();
35+
}
36+
37+
public function getHandler(): string
3338
{
3439
return AfterValidationCallback::class;
3540
}

src/Callbacks/BeforeValidation.php

Lines changed: 7 additions & 2 deletions
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;
@@ -29,7 +29,12 @@ public function __construct(string $method, string $runtime = CallbackRuntime::P
2929
$this->runtime = $runtime;
3030
}
3131

32-
public function getType(): string
32+
public function getScope(): string
33+
{
34+
return $this->getHandler();
35+
}
36+
37+
public function getHandler(): string
3338
{
3439
return BeforeValidationCallback::class;
3540
}

src/Callbacks/CallbackDefinition.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@
55
use Orisai\ObjectMapper\Args\Args;
66
use Orisai\ObjectMapper\Meta\MetaDefinition;
77

8-
interface CallbackDefinition extends MetaDefinition
8+
abstract class CallbackDefinition implements MetaDefinition
99
{
1010

1111
/**
1212
* @return class-string<Callback<Args>>
1313
*/
14-
public function getType(): string;
14+
abstract public function getHandler(): string;
1515

1616
}

src/Docs/Description.php

Lines changed: 7 additions & 2 deletions
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;
@@ -23,7 +23,12 @@ public function __construct(string $message)
2323
$this->message = AnnotationFilter::filterMultilineDocblock($message);
2424
}
2525

26-
public function getType(): string
26+
public function getScope(): string
27+
{
28+
return $this->getHandler();
29+
}
30+
31+
public function getHandler(): string
2732
{
2833
return DescriptionDoc::class;
2934
}

src/Docs/DocDefinition.php

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

55
use Orisai\ObjectMapper\Meta\MetaDefinition;
66

7-
interface DocDefinition extends MetaDefinition
7+
abstract class DocDefinition implements MetaDefinition
88
{
99

1010
/**
1111
* @return class-string<Doc>
1212
*/
13-
public function getType(): string;
13+
abstract public function getHandler(): string;
1414

1515
}

src/Docs/Example.php

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,18 @@
22

33
namespace Orisai\ObjectMapper\Docs;
44

5+
use Attribute;
56
use Doctrine\Common\Annotations\Annotation\NamedArgumentConstructor;
67
use Doctrine\Common\Annotations\Annotation\Target;
78
use Orisai\ReflectionMeta\Filter\AnnotationFilter;
89

910
/**
1011
* @Annotation
1112
* @NamedArgumentConstructor()
12-
* @Target({"ANNOTATION"})
13+
* @Target({"CLASS", "PROPERTY"})
1314
*/
14-
final class Example implements DocDefinition
15+
#[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_PROPERTY)]
16+
final class Example extends DocDefinition
1517
{
1618

1719
private string $content;
@@ -26,7 +28,12 @@ public function __construct(string $content, ?string $description = null)
2628
: AnnotationFilter::filterMultilineDocblock($description);
2729
}
2830

29-
public function getType(): string
31+
public function getScope(): string
32+
{
33+
return $this->getHandler();
34+
}
35+
36+
public function getHandler(): string
3037
{
3138
return ExampleDoc::class;
3239
}

src/Docs/Examples.php

Lines changed: 0 additions & 64 deletions
This file was deleted.

src/Docs/ExamplesDoc.php

Lines changed: 0 additions & 43 deletions
This file was deleted.

0 commit comments

Comments
 (0)