mirror of
https://github.com/LukeHagar/libopenapi.git
synced 2025-12-11 04:20:24 +00:00
refactor: FindKeyNode -> FindKeyNodeTop
This commit is contained in:
committed by
Dave Shanley
parent
313e9f0c7f
commit
7338a614d0
@@ -1721,12 +1721,12 @@ func (index *SpecIndex) extractDefinitionRequiredRefProperties(schemaNode *yaml.
|
|||||||
return reqRefProps
|
return reqRefProps
|
||||||
}
|
}
|
||||||
|
|
||||||
_, requiredSeqNode := utils.FindKeyNode("required", schemaNode.Content)
|
_, requiredSeqNode := utils.FindKeyNodeTop("required", schemaNode.Content)
|
||||||
if requiredSeqNode == nil {
|
if requiredSeqNode == nil {
|
||||||
return reqRefProps
|
return reqRefProps
|
||||||
}
|
}
|
||||||
|
|
||||||
_, propertiesMapNode := utils.FindKeyNode("properties", schemaNode.Content)
|
_, propertiesMapNode := utils.FindKeyNodeTop("properties", schemaNode.Content)
|
||||||
if propertiesMapNode == nil {
|
if propertiesMapNode == nil {
|
||||||
// TODO: Log a warning on the resolver, because if you have required properties, but no actual properties, something is wrong
|
// TODO: Log a warning on the resolver, because if you have required properties, but no actual properties, something is wrong
|
||||||
return reqRefProps
|
return reqRefProps
|
||||||
@@ -1739,13 +1739,13 @@ func (index *SpecIndex) extractDefinitionRequiredRefProperties(schemaNode *yaml.
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
_, paramPropertiesMapNode := utils.FindKeyNode("properties", param.Content)
|
_, paramPropertiesMapNode := utils.FindKeyNodeTop("properties", param.Content)
|
||||||
if paramPropertiesMapNode != nil {
|
if paramPropertiesMapNode != nil {
|
||||||
reqRefProps = index.extractDefinitionRequiredRefProperties(param, reqRefProps)
|
reqRefProps = index.extractDefinitionRequiredRefProperties(param, reqRefProps)
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, key := range []string{"allOf", "oneOf", "anyOf"} {
|
for _, key := range []string{"allOf", "oneOf", "anyOf"} {
|
||||||
_, ofNode := utils.FindKeyNode(key, param.Content)
|
_, ofNode := utils.FindKeyNodeTop(key, param.Content)
|
||||||
if ofNode != nil {
|
if ofNode != nil {
|
||||||
for _, ofNodeItem := range ofNode.Content {
|
for _, ofNodeItem := range ofNode.Content {
|
||||||
reqRefProps = index.extractRequiredReferenceProperties(ofNodeItem, name, reqRefProps)
|
reqRefProps = index.extractRequiredReferenceProperties(ofNodeItem, name, reqRefProps)
|
||||||
@@ -1755,7 +1755,7 @@ func (index *SpecIndex) extractDefinitionRequiredRefProperties(schemaNode *yaml.
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, requiredPropertyNode := range requiredSeqNode.Content {
|
for _, requiredPropertyNode := range requiredSeqNode.Content {
|
||||||
_, requiredPropDefNode := utils.FindKeyNode(requiredPropertyNode.Value, propertiesMapNode.Content)
|
_, requiredPropDefNode := utils.FindKeyNodeTop(requiredPropertyNode.Value, propertiesMapNode.Content)
|
||||||
if requiredPropDefNode == nil {
|
if requiredPropDefNode == nil {
|
||||||
continue
|
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 {
|
func (index *SpecIndex) extractRequiredReferenceProperties(requiredPropDefNode *yaml.Node, propName string, reqRefProps map[string][]string) map[string][]string {
|
||||||
isRef, _, defPath := utils.IsNodeRefValue(requiredPropDefNode)
|
isRef, _, defPath := utils.IsNodeRefValue(requiredPropDefNode)
|
||||||
if !isRef {
|
if !isRef {
|
||||||
_, defItems := utils.FindKeyNode("items", requiredPropDefNode.Content)
|
_, defItems := utils.FindKeyNodeTop("items", requiredPropDefNode.Content)
|
||||||
if defItems != nil {
|
if defItems != nil {
|
||||||
isRef, _, defPath = utils.IsNodeRefValue(defItems)
|
isRef, _, defPath = utils.IsNodeRefValue(defItems)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -405,18 +405,18 @@ func IsNodeRefValue(node *yaml.Node) (bool, *yaml.Node, string) {
|
|||||||
|
|
||||||
// IsPropertyNodeRequired will check if a node is required within circular references
|
// IsPropertyNodeRequired will check if a node is required within circular references
|
||||||
func IsPropertyNodeRequired(node *yaml.Node, propertyName string) bool {
|
func IsPropertyNodeRequired(node *yaml.Node, propertyName string) bool {
|
||||||
_, requiredSeqNode := FindKeyNode("required", node.Content)
|
_, requiredSeqNode := FindKeyNodeTop("required", node.Content)
|
||||||
if requiredSeqNode == nil {
|
if requiredSeqNode == nil {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
_, propertiesMapNode := FindKeyNode("properties", node.Content)
|
_, propertiesMapNode := FindKeyNodeTop("properties", node.Content)
|
||||||
if propertiesMapNode == nil {
|
if propertiesMapNode == nil {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, requiredPropertyNode := range requiredSeqNode.Content {
|
for _, requiredPropertyNode := range requiredSeqNode.Content {
|
||||||
_, requiredPropDefNode := FindKeyNode(requiredPropertyNode.Value, propertiesMapNode.Content)
|
_, requiredPropDefNode := FindKeyNodeTop(requiredPropertyNode.Value, propertiesMapNode.Content)
|
||||||
if requiredPropDefNode == nil {
|
if requiredPropDefNode == nil {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@@ -426,7 +426,7 @@ func IsPropertyNodeRequired(node *yaml.Node, propertyName string) bool {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
_, defItems := FindKeyNode("items", requiredPropDefNode.Content)
|
_, defItems := FindKeyNodeTop("items", requiredPropDefNode.Content)
|
||||||
if defItems == nil {
|
if defItems == nil {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user