@@ -873,6 +873,92 @@ func (schema Schema) JSONLookup(token string) (any, error) { return schema.MaxProps, nil case "discriminator": return schema.Discriminator, nil
Show 3 hidden lines
++ // OpenAPI 3.1 / JSON Schema 2020-12 fields+ case "const":
+ return schema.Const, nil+ case "examples":+ return schema.Examples, nil+ case "prefixItems":+ return schema.PrefixItems, nil+ case "contains":+ if schema.Contains != nil {+ if schema.Contains.Ref != "" {
Show 16 hidden lines
+ return &Ref{Ref: schema.Contains.Ref}, nil+ }+ return schema.Contains.Value, nil+ }+ case "minContains":+ return schema.MinContains, nil+ case "maxContains":+ return schema.MaxContains, nil+ case "patternProperties":+ return schema.PatternProperties, nil+ case "dependentSchemas":+ return schema.DependentSchemas, nil+ case "propertyNames":+ if schema.PropertyNames != nil {+ if schema.PropertyNames.Ref != "" {+ return &Ref{Ref: schema.PropertyNames.Ref}, nil
+ }+ return schema.PropertyNames.Value, nil+ }+ case "unevaluatedItems":+ if schema.UnevaluatedItems != nil {+ if schema.UnevaluatedItems.Ref != "" {+ return &Ref{Ref: schema.UnevaluatedItems.Ref}, nil+ }+ return schema.UnevaluatedItems.Value, nil+ }+ case "unevaluatedProperties":+ if schema.UnevaluatedProperties != nil {
Show 47 hidden lines
+ if schema.UnevaluatedProperties.Ref != "" {+ return &Ref{Ref: schema.UnevaluatedProperties.Ref}, nil+ }+ return schema.UnevaluatedProperties.Value, nil+ }+ case "if":+ if schema.If != nil {+ if schema.If.Ref != "" {+ return &Ref{Ref: schema.If.Ref}, nil+ }+ return schema.If.Value, nil+ }+ case "then":+ if schema.Then != nil {+ if schema.Then.Ref != "" {+ return &Ref{Ref: schema.Then.Ref}, nil+ }+ return schema.Then.Value, nil+ }+ case "else":+ if schema.Else != nil {+ if schema.Else.Ref != "" {+ return &Ref{Ref: schema.Else.Ref}, nil+ }+ return schema.Else.Value, nil+ }+ case "dependentRequired":+ return schema.DependentRequired, nil+ case "$id":+ return schema.SchemaID, nil+ case "$anchor":+ return schema.Anchor, nil+ case "$dynamicRef":+ return schema.DynamicRef, nil+ case "$dynamicAnchor":+ return schema.DynamicAnchor, nil+ case "contentMediaType":+ return schema.ContentMediaType, nil+ case "contentEncoding":+ return schema.ContentEncoding, nil+ case "contentSchema":+ if schema.ContentSchema != nil {+ if schema.ContentSchema.Ref != "" {+ return &Ref{Ref: schema.ContentSchema.Ref}, nil+ }+ return schema.ContentSchema.Value, nil+ }
Adds JSON Schema 2020-12 keyword handling to the schema lookup as part of the AI-co-authored OpenAPI 3.1 support; that same loosened 3.1 handling is what lets an array declared without items load and pass validation instead of being rejected.