Generate helpers for then, else and dependantSchemas

This commit is contained in:
Simon Ser 2022-10-07 12:10:12 +02:00
parent 1e958fddb5
commit 253c170dbe
2 changed files with 11 additions and 1 deletions

View file

@ -12,7 +12,8 @@ One Go type per definition will be generated.
- `json.Number` is used for `"type": "number"`. - `json.Number` is used for `"type": "number"`.
- Go structs are generated for objects with `"additionalProperties": false`. - Go structs are generated for objects with `"additionalProperties": false`.
- `json.RawMessage` is used when a value can have multiple types. Helpers are - `json.RawMessage` is used when a value can have multiple types. Helpers are
generated for `allOf`, `anyOf`, `oneOf` which are references. generated for `allOf`, `anyOf`, `oneOf`, `then`, `else` and `dependantSchemas`
which are references.
## License ## License

View file

@ -189,6 +189,15 @@ func generateDef(schema *jsonschema.Schema, root *jsonschema.Schema, f *jen.File
for _, child := range schema.OneOf { for _, child := range schema.OneOf {
children = append(children, child) children = append(children, child)
} }
if schema.Then != nil {
children = append(children, *schema.Then)
}
if schema.Else != nil {
children = append(children, *schema.Else)
}
for _, child := range schema.DependentSchemas {
children = append(children, child)
}
for _, child := range children { for _, child := range children {
refName := refName(child.Ref) refName := refName(child.Ref)