-
Notifications
You must be signed in to change notification settings - Fork 52
Open
Description
When I try creating a schema with an array/hashmap of definitions it complains that definitions was expected to be an object.
JsonSchema\Schema::import((object)[
'definitions' => [
'aaa' => JsonSchema\Schema::import((object)['type' => 'object'])
]
]);
Swaggest\JsonSchema\Exception\TypeException: Object expected, {"aaa":{"type":"object"}} received at #->properties:definitions
Typecasting that array to an object fixes the problem (it actually shows a different error, but that's irrelevant):
JsonSchema\Schema::import((object)[
'definitions' => (object)[ // <------
'aaa' => JsonSchema\Schema::import((object)['type' => 'object'])
]
]);
So I believe the PHPDoc here is wrong:
php-json-schema/src/JsonSchema.php
Line 103 in 2b99251
/** @var JsonSchema[] */ |
In this case it would have been object<string, JsonSchema>
, but that's not a supported syntax. So maybe either \ArrayObject<string, JsonSchema>
or simply an \object
with an explanatory description.
Metadata
Metadata
Assignees
Labels
No labels