From 253c170dbe67bb96b75018e095461b83f2a2446e Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Fri, 7 Oct 2022 12:10:12 +0200 Subject: [PATCH] Generate helpers for then, else and dependantSchemas --- README.md | 3 ++- cmd/jsonschemagen/main.go | 9 +++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 77b9bd9..ebc9ed2 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,8 @@ One Go type per definition will be generated. - `json.Number` is used for `"type": "number"`. - Go structs are generated for objects with `"additionalProperties": false`. - `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 diff --git a/cmd/jsonschemagen/main.go b/cmd/jsonschemagen/main.go index 7165e67..0fd2207 100644 --- a/cmd/jsonschemagen/main.go +++ b/cmd/jsonschemagen/main.go @@ -189,6 +189,15 @@ func generateDef(schema *jsonschema.Schema, root *jsonschema.Schema, f *jen.File for _, child := range schema.OneOf { 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 { refName := refName(child.Ref)