bcherny/json-schema-to-typescript
View on GitHuballOf, oneOf dont correctly generate types
Open
#381 opened on Apr 13, 2021
buggood first issuehelp wanted
Repository metrics
- Stars
- (3,302 stars)
- PR merge metrics
- (No merged PRs in 30d)
Description
The following schema:
"Test": {
"type": "object",
"properties": {
"prop1": { "type": "string" },
"prop2": { "type": "string" },
"prop3": { "type": "string"},
"prop4": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
},
"prop5": { "type": "string" },
"prop6": { "type": "string" }
},
"allOf": [
{ "required": [ "prop1" ] },
{
"oneOf": [
{ "required": [ "prop2" ] },
{ "required": [ "prop3" ] },
{ "required": [ "prop4" ] },
{ "required": [ "prop5" ] },
{ "required": [ "prop6" ] }
]
}
],
"additionalProperties": false
}
Generates type:
type Test = {
[k: string]: unknown;
} & (
| {
[k: string]: unknown;
}
| {
[k: string]: unknown;
}
| {
[k: string]: unknown;
}
| {
[k: string]: unknown;
}
| {
[k: string]: unknown;
}
);
Expected type:
type Test = {
prop1: string;
} & (
{ prop2: string } |
{ prop3: string } |
{ prop4: string[] } |
{ prop5: string } |
{ prop6: string }
);