refactor: FindKeyNode -> FindKeyNodeTop

This commit is contained in:
Benjamin Nolan (TwoWholeWorms)
2023-01-06 10:10:12 +01:00
committed by Dave Shanley
parent 313e9f0c7f
commit 7338a614d0
2 changed files with 10 additions and 10 deletions

View File

@@ -1721,12 +1721,12 @@ func (index *SpecIndex) extractDefinitionRequiredRefProperties(schemaNode *yaml.
return reqRefProps
}
_, requiredSeqNode := utils.FindKeyNode("required", schemaNode.Content)
_, requiredSeqNode := utils.FindKeyNodeTop("required", schemaNode.Content)
if requiredSeqNode == nil {
return reqRefProps
}
_, propertiesMapNode := utils.FindKeyNode("properties", schemaNode.Content)
_, propertiesMapNode := utils.FindKeyNodeTop("properties", schemaNode.Content)
if propertiesMapNode == nil {
// TODO: Log a warning on the resolver, because if you have required properties, but no actual properties, something is wrong
return reqRefProps
@@ -1739,13 +1739,13 @@ func (index *SpecIndex) extractDefinitionRequiredRefProperties(schemaNode *yaml.
continue
}
_, paramPropertiesMapNode := utils.FindKeyNode("properties", param.Content)
_, paramPropertiesMapNode := utils.FindKeyNodeTop("properties", param.Content)
if paramPropertiesMapNode != nil {
reqRefProps = index.extractDefinitionRequiredRefProperties(param, reqRefProps)
}
for _, key := range []string{"allOf", "oneOf", "anyOf"} {
_, ofNode := utils.FindKeyNode(key, param.Content)
_, ofNode := utils.FindKeyNodeTop(key, param.Content)
if ofNode != nil {
for _, ofNodeItem := range ofNode.Content {
reqRefProps = index.extractRequiredReferenceProperties(ofNodeItem, name, reqRefProps)
@@ -1755,7 +1755,7 @@ func (index *SpecIndex) extractDefinitionRequiredRefProperties(schemaNode *yaml.
}
for _, requiredPropertyNode := range requiredSeqNode.Content {
_, requiredPropDefNode := utils.FindKeyNode(requiredPropertyNode.Value, propertiesMapNode.Content)
_, requiredPropDefNode := utils.FindKeyNodeTop(requiredPropertyNode.Value, propertiesMapNode.Content)
if requiredPropDefNode == nil {
continue
}
@@ -1770,7 +1770,7 @@ func (index *SpecIndex) extractDefinitionRequiredRefProperties(schemaNode *yaml.
func (index *SpecIndex) extractRequiredReferenceProperties(requiredPropDefNode *yaml.Node, propName string, reqRefProps map[string][]string) map[string][]string {
isRef, _, defPath := utils.IsNodeRefValue(requiredPropDefNode)
if !isRef {
_, defItems := utils.FindKeyNode("items", requiredPropDefNode.Content)
_, defItems := utils.FindKeyNodeTop("items", requiredPropDefNode.Content)
if defItems != nil {
isRef, _, defPath = utils.IsNodeRefValue(defItems)
}

View File

@@ -405,18 +405,18 @@ func IsNodeRefValue(node *yaml.Node) (bool, *yaml.Node, string) {
// IsPropertyNodeRequired will check if a node is required within circular references
func IsPropertyNodeRequired(node *yaml.Node, propertyName string) bool {
_, requiredSeqNode := FindKeyNode("required", node.Content)
_, requiredSeqNode := FindKeyNodeTop("required", node.Content)
if requiredSeqNode == nil {
return false
}
_, propertiesMapNode := FindKeyNode("properties", node.Content)
_, propertiesMapNode := FindKeyNodeTop("properties", node.Content)
if propertiesMapNode == nil {
return false
}
for _, requiredPropertyNode := range requiredSeqNode.Content {
_, requiredPropDefNode := FindKeyNode(requiredPropertyNode.Value, propertiesMapNode.Content)
_, requiredPropDefNode := FindKeyNodeTop(requiredPropertyNode.Value, propertiesMapNode.Content)
if requiredPropDefNode == nil {
continue
}
@@ -426,7 +426,7 @@ func IsPropertyNodeRequired(node *yaml.Node, propertyName string) bool {
return true
}
_, defItems := FindKeyNode("items", requiredPropDefNode.Content)
_, defItems := FindKeyNodeTop("items", requiredPropDefNode.Content)
if defItems == nil {
continue
}