Skip to content

Commit b84c0ca

Browse files
authored
chore(v5) Add support for patternProperties to attributes (#1877)
1 parent 7c75475 commit b84c0ca

8 files changed

Lines changed: 18 additions & 2 deletions

File tree

src/Annotations/Schema.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -410,6 +410,8 @@ class Schema extends AbstractAnnotation
410410

411411
/**
412412
* http://json-schema.org/latest/json-schema-validation.html#rfc.section.6.19.
413+
*
414+
* @var array
413415
*/
414416
public $patternProperties = Generator::UNDEFINED;
415417

src/Attributes/AdditionalProperties.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ public function __construct(
6464
?array $anyOf = null,
6565
?array $oneOf = null,
6666
AdditionalProperties|bool|null $additionalProperties = null,
67+
?array $patternProperties = null,
6768
// annotation
6869
?array $x = null,
6970
?array $attachables = null
@@ -101,9 +102,12 @@ public function __construct(
101102
'allOf' => $allOf ?? Generator::UNDEFINED,
102103
'anyOf' => $anyOf ?? Generator::UNDEFINED,
103104
'oneOf' => $oneOf ?? Generator::UNDEFINED,
105+
'additionalProperties' => $additionalProperties ?? Generator::UNDEFINED,
106+
'patternProperties' => $patternProperties ?? Generator::UNDEFINED,
107+
// annotation
104108
'x' => $x ?? Generator::UNDEFINED,
105109
'attachables' => $attachables ?? Generator::UNDEFINED,
106-
'value' => $this->combine($items, $discriminator, $externalDocs, $additionalProperties),
110+
'value' => $this->combine($items, $discriminator, $externalDocs),
107111
]);
108112
}
109113
}

src/Attributes/Items.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ public function __construct(
6464
?array $anyOf = null,
6565
?array $oneOf = null,
6666
AdditionalProperties|bool|null $additionalProperties = null,
67+
?array $patternProperties = null,
6768
// annotation
6869
?array $x = null,
6970
?array $attachables = null

src/Attributes/JsonContent.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ public function __construct(
8888
?array $anyOf = null,
8989
?array $oneOf = null,
9090
AdditionalProperties|bool|null $additionalProperties = null,
91+
?array $patternProperties = null,
9192
?array $encoding = null,
9293
?string $contentEncoding = null,
9394
?string $contentMediaType = null,
@@ -131,6 +132,7 @@ public function __construct(
131132
'anyOf' => $anyOf ?? Generator::UNDEFINED,
132133
'oneOf' => $oneOf ?? Generator::UNDEFINED,
133134
'additionalProperties' => $additionalProperties ?? Generator::UNDEFINED,
135+
'patternProperties' => $patternProperties ?? Generator::UNDEFINED,
134136
'encoding' => $encoding ?? Generator::UNDEFINED,
135137
'contentEncoding' => $contentEncoding ?? Generator::UNDEFINED,
136138
'contentMediaType' => $contentMediaType ?? Generator::UNDEFINED,

src/Attributes/Property.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ public function __construct(
6565
?array $anyOf = null,
6666
?array $oneOf = null,
6767
AdditionalProperties|bool|null $additionalProperties = null,
68+
?array $patternProperties = null,
6869
?Encoding $encoding = null,
6970
// annotation
7071
?array $x = null,
@@ -106,6 +107,7 @@ public function __construct(
106107
'anyOf' => $anyOf ?? Generator::UNDEFINED,
107108
'oneOf' => $oneOf ?? Generator::UNDEFINED,
108109
'additionalProperties' => $additionalProperties ?? Generator::UNDEFINED,
110+
'patternProperties' => $patternProperties ?? Generator::UNDEFINED,
109111
'encoding' => $encoding ?? Generator::UNDEFINED,
110112
// annotation
111113
'x' => $x ?? Generator::UNDEFINED,

src/Attributes/Schema.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ public function __construct(
6666
?array $anyOf = null,
6767
?array $oneOf = null,
6868
AdditionalProperties|bool|null $additionalProperties = null,
69+
?array $patternProperties = null,
6970
mixed $const = Generator::UNDEFINED,
7071
?string $contentEncoding = null,
7172
?string $contentMediaType = null,
@@ -107,9 +108,11 @@ public function __construct(
107108
'anyOf' => $anyOf ?? Generator::UNDEFINED,
108109
'oneOf' => $oneOf ?? Generator::UNDEFINED,
109110
'additionalProperties' => $additionalProperties ?? Generator::UNDEFINED,
111+
'patternProperties' => $patternProperties ?? Generator::UNDEFINED,
110112
'const' => $const,
111113
'contentEncoding' => $contentEncoding ?? Generator::UNDEFINED,
112114
'contentMediaType' => $contentMediaType ?? Generator::UNDEFINED,
115+
// annotation
113116
'x' => $x ?? Generator::UNDEFINED,
114117
'attachables' => $attachables ?? Generator::UNDEFINED,
115118
'value' => $this->combine($items, $discriminator, $externalDocs, $examples),

src/Attributes/XmlContent.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ public function __construct(
6767
?array $anyOf = null,
6868
?array $oneOf = null,
6969
AdditionalProperties|bool|null $additionalProperties = null,
70+
?array $patternProperties = null,
7071
?array $encoding = null,
7172
?string $contentEncoding = null,
7273
?string $contentMediaType = null,
@@ -110,6 +111,7 @@ public function __construct(
110111
'anyOf' => $anyOf ?? Generator::UNDEFINED,
111112
'oneOf' => $oneOf ?? Generator::UNDEFINED,
112113
'additionalProperties' => $additionalProperties ?? Generator::UNDEFINED,
114+
'patternProperties' => $patternProperties ?? Generator::UNDEFINED,
113115
'encoding' => $encoding ?? Generator::UNDEFINED,
114116
'contentEncoding' => $contentEncoding ?? Generator::UNDEFINED,
115117
'contentMediaType' => $contentMediaType ?? Generator::UNDEFINED,

tests/Annotations/AttributesSyncTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
*/
1515
class AttributesSyncTest extends OpenApiTestCase
1616
{
17-
public static $SCHEMA_EXCLUSIONS = ['const', 'multipleOf', 'not', 'additionalItems', 'contains', 'patternProperties', 'dependencies', 'propertyNames'];
17+
public static $SCHEMA_EXCLUSIONS = ['const', 'multipleOf', 'not', 'additionalItems', 'contains', 'dependencies', 'propertyNames'];
1818
public static $PATHITEM_EXCLUSIONS = ['get', 'put', 'post', 'delete', 'options', 'head', 'patch', 'trace'];
1919
public static $PARAMETER_EXCLUSIONS = ['matrix', 'label', 'form', 'simple', 'deepObject'];
2020

0 commit comments

Comments
 (0)