Skip to content

Commit c5e81e9

Browse files
committed
fix: Allow more specific object keys
Signed-off-by: Joas Schilling <[email protected]>
1 parent b8b55cc commit c5e81e9

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/OpenApiType.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -225,15 +225,15 @@ public static function resolve(string $context, array $definitions, ParamTagValu
225225
}
226226

227227
if ($node instanceof GenericTypeNode && $node->type->name === 'array' && count($node->genericTypes) === 2 && $node->genericTypes[0] instanceof IdentifierTypeNode) {
228-
if ($node->genericTypes[0]->name === 'string') {
228+
if (in_array($node->genericTypes[0]->name, ['string', 'lowercase-string', 'non-empty-string', 'non-empty-lowercase-string'], true)) {
229229
return new OpenApiType(
230230
context: $context,
231231
type: 'object',
232232
additionalProperties: self::resolve($context . ': additionalProperties', $definitions, $node->genericTypes[1]),
233233
);
234234
}
235235

236-
Logger::panic($context, "JSON objects can only be indexed by 'string' but got '" . $node->genericTypes[0]->name . "'");
236+
Logger::panic($context, "JSON objects can only be indexed by 'string', 'lowercase-string', 'non-empty-string' or 'non-empty-lowercase-string' but got '" . $node->genericTypes[0]->name . "'");
237237
}
238238

239239
if ($node instanceof GenericTypeNode && $node->type->name == 'int' && count($node->genericTypes) == 2) {

0 commit comments

Comments
 (0)