in azureappconfiguration/internal/tree/tree.go [15:44]
func (t *Tree) Insert(parts []string, value any) {
tree := t
for i, part := range parts {
if tree.children == nil {
tree.children = make(map[string]*Tree)
}
childTree, ok := tree.children[part]
if !ok {
childTree = &Tree{}
tree.children[part] = childTree
}
tree = childTree
if i == len(parts)-1 {
switch obj := value.(type) {
case map[string]any:
for k, v := range obj {
tree.Insert([]string{k}, v)
}
case []any:
for k, v := range obj {
tree.Insert([]string{strconv.Itoa(k)}, v)
}
default:
tree.value = value
}
}
}
}