From f068e6e94e983bbff7d5ef40dd181a03e441f2e1 Mon Sep 17 00:00:00 2001 From: Dave Shanley Date: Sat, 14 Feb 2026 10:04:58 -0500 Subject: [PATCH] add lazy context tracking. --- go.mod | 4 ++-- go.sum | 8 ++++---- schema_validation/locate_schema_property.go | 3 ++- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/go.mod b/go.mod index 27c584cb..496ecea1 100644 --- a/go.mod +++ b/go.mod @@ -6,8 +6,8 @@ require ( github.com/basgys/goxml2json v1.1.1-0.20231018121955-e66ee54ceaad github.com/dlclark/regexp2 v1.11.5 github.com/goccy/go-yaml v1.19.2 - github.com/pb33f/jsonpath v0.7.1 - github.com/pb33f/libopenapi v0.33.8 + github.com/pb33f/jsonpath v0.8.1 + github.com/pb33f/libopenapi v0.33.10 github.com/santhosh-tekuri/jsonschema/v6 v6.0.2 github.com/stretchr/testify v1.11.1 go.yaml.in/yaml/v4 v4.0.0-rc.4 diff --git a/go.sum b/go.sum index a397eb24..e9f1de2d 100644 --- a/go.sum +++ b/go.sum @@ -469,10 +469,10 @@ github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJ github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs= github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo= github.com/otiai10/mint v1.3.1/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc= -github.com/pb33f/jsonpath v0.7.1 h1:dEp6oIZuJbpDSyuHAl9m7GonoDW4M20BcD5vT0tPYRE= -github.com/pb33f/jsonpath v0.7.1/go.mod h1:zBV5LJW4OQOPatmQE2QdKpGQJvhDTlE5IEj6ASaRNTo= -github.com/pb33f/libopenapi v0.33.8 h1:c6umW7WhgccRVmO+mfrWpzjsc83HF3gToMSKcETGfxg= -github.com/pb33f/libopenapi v0.33.8/go.mod h1:e/dmd2Pf1nkjqkI0r7guFSyt9T5V0IIQKgs0L6B/3b0= +github.com/pb33f/jsonpath v0.8.1 h1:84C6QRyx6HcSm6PZnsMpcqYot3IsZ+m0n95+0NbBbvs= +github.com/pb33f/jsonpath v0.8.1/go.mod h1:zBV5LJW4OQOPatmQE2QdKpGQJvhDTlE5IEj6ASaRNTo= +github.com/pb33f/libopenapi v0.33.10 h1:Nuyed6pAgXXz6L417Ul1DJfukxypN0zAYg1+i2ysrOM= +github.com/pb33f/libopenapi v0.33.10/go.mod h1:YOP20KzYe3mhE5301aQzJtzQ9MnvhABBGO7RMttA4V4= github.com/pb33f/ordered-map/v2 v2.3.0 h1:k2OhVEQkhTCQMhAicQ3Z6iInzoZNQ7L9MVomwKBZ5WQ= github.com/pb33f/ordered-map/v2 v2.3.0/go.mod h1:oe5ue+6ZNhy7QN9cPZvPA23Hx0vMHnNVeMg4fGdCANw= github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= diff --git a/schema_validation/locate_schema_property.go b/schema_validation/locate_schema_property.go index 4ade2f46..a84ce377 100644 --- a/schema_validation/locate_schema_property.go +++ b/schema_validation/locate_schema_property.go @@ -5,6 +5,7 @@ package schema_validation import ( "github.com/pb33f/jsonpath/pkg/jsonpath" + "github.com/pb33f/jsonpath/pkg/jsonpath/config" "github.com/pb33f/libopenapi/utils" "go.yaml.in/yaml/v4" ) @@ -26,7 +27,7 @@ func LocateSchemaPropertyNodeByJSONPath(doc *yaml.Node, JSONPath string) *yaml.N if path == "" { doneChan <- true } - jsonPath, _ := jsonpath.NewPath(path) + jsonPath, _ := jsonpath.NewPath(path, config.WithLazyContextTracking()) locatedNodes := jsonPath.Query(doc) if len(locatedNodes) > 0 { locatedNode = locatedNodes[0]