-
-
Notifications
You must be signed in to change notification settings - Fork 116
Open
Description
I'm trying to build up a client-side form with https://github.com/rjsf-team/react-jsonschema-form
To do so I'm using SimplSchema → JSON Schema conversion.
And for array fields I noticed that I don't get a proper result.
This issue mostly refers to this line —
simpl-schema/src/toJsonSchema.ts
Line 14 in 555f790
| items: [itemSchema], |
If I start with such schema:
const animals = new SimpleSchema({
animals: { type: Array },
'animals.$': { type: Object },
'animals.$.label': { type: String },
});I get a JSONSchema:
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"animals": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"label": {
"type": "string"
}
},
"required": ["label"],
"additionalProperties": false
}
],
"additionalItems": false
}
},
"required": ["animals"],
"additionalProperties": false
}
And if I use this JSON schema directly with formData:
{
"animals": [
{
"label": "Cat"
},
{
"label": "Dog"
},
{
"label": "Whale"
}
]
}This is because items of the same shape should be defined as an object, not array:
https://json-schema.org/learn/getting-started-step-by-step#optional
Am I thinking about that wrong or is this a bug?
Metadata
Metadata
Assignees
Labels
No labels
