diff --git a/pkg/schema/schema.go b/pkg/schema/schema.go index 820b574..759f427 100644 --- a/pkg/schema/schema.go +++ b/pkg/schema/schema.go @@ -595,10 +595,10 @@ func (s Schema) hasNumericConstraints() bool { s.MultipleOf != nil } -var possibleSkipFields = []string{"title", "description", "required", "default", "additionalProperties"} +var possibleSkipFields = []string{"type", "title", "description", "required", "default", "additionalProperties"} type SkipAutoGenerationConfig struct { - Title, Description, Required, Default, AdditionalProperties bool + Type, Title, Description, Required, Default, AdditionalProperties bool } func NewSkipAutoGenerationConfig(flag []string) (*SkipAutoGenerationConfig, error) { @@ -610,6 +610,9 @@ func NewSkipAutoGenerationConfig(flag []string) (*SkipAutoGenerationConfig, erro if !slices.Contains(possibleSkipFields, fieldName) { invalidFlags = append(invalidFlags, fieldName) } + if fieldName == "type" { + config.Type = true + } if fieldName == "title" { config.Title = true } @@ -880,7 +883,7 @@ func YamlToSchema( } } - if keyNodeSchema.Type.IsEmpty() { + if keyNodeSchema.Type.IsEmpty() && !skipAutoGeneration.Type { nodeType, err := typeFromTag(valueNode.Tag) if err != nil { log.Fatal(err)