Working through the model builder

Shaping out the design as I go, what makes sence, what feels right, what do we need, how do we want to use it and how to we want to search it etc.
This commit is contained in:
Dave Shanley
2022-07-30 15:27:21 -04:00
parent ecc7b20b0a
commit 7535cf568c
13 changed files with 290 additions and 124 deletions

View File

@@ -239,6 +239,29 @@ func FindKeyNode(key string, nodes []*yaml.Node) (keyNode *yaml.Node, valueNode
return nil, nil
}
func FindKeyNodeFull(key string, nodes []*yaml.Node) (keyNode *yaml.Node, labelNode *yaml.Node, valueNode *yaml.Node) {
for i, v := range nodes {
if i%2 == 0 && key == v.Value {
return v, nodes[i], nodes[i+1] // next node is what we need.
}
for x, j := range v.Content {
if key == j.Value {
if IsNodeMap(v) {
if x+1 == len(v.Content) {
return v, v.Content[x], v.Content[x]
}
return v, v.Content[x], v.Content[x+1] // next node is what we need.
}
if IsNodeArray(v) {
return v, v.Content[x], v.Content[x]
}
}
}
}
return nil, nil, nil
}
var ObjectLabel = "object"
var IntegerLabel = "integer"
var NumberLabel = "number"