3
0
Files
corteza/pkg/y7s/decoders.go
2021-01-25 18:05:24 +01:00

30 lines
620 B
Go

package y7s
// y7s (YAML Utils)
import (
"gopkg.in/yaml.v3"
)
// findKeyNode returns key node from mapping
// key value checked in lower case
func FindKeyNode(n *yaml.Node, key string) *yaml.Node {
// compare it with lowercase values
for i := 0; i < len(n.Content); i += 2 {
if key == n.Content[i].Value {
return n.Content[i+1]
}
}
return nil
}
// Checks validity of ref node and sets the value to given arg ptr
func DecodeScalar(n *yaml.Node, name string, val interface{}) error {
if !IsKind(n, yaml.ScalarNode) {
return NodeErr(n, "expecting scalar value for %s", name)
}
return n.Decode(val)
}