1
0
mirror of https://github.com/rancher/types.git synced 2025-05-08 07:06:19 +00:00

Update vendor

This commit is contained in:
Darren Shepherd 2018-02-14 11:00:56 -07:00
parent 993bbd8c31
commit 6e027c4866
3 changed files with 47 additions and 2 deletions
vendor.conf
vendor/github.com/rancher/norman/types/convert

View File

@ -5,4 +5,4 @@ k8s.io/kubernetes v1.8.3
bitbucket.org/ww/goautoneg a547fc61f48d567d5b4ec6f8aee5573d8efce11d https://github.com/rancher/goautoneg.git
golang.org/x/sync fd80eb99c8f653c847d294a001bdf2a3a6f768f5
github.com/rancher/norman c814e62e436aeaeaf51ae3da439e520068494a7b
github.com/rancher/norman bfea703723da186d3153c87cf629410d796beb8c

View File

@ -163,7 +163,7 @@ func ToMapSlice(obj interface{}) []map[string]interface{} {
return v
}
vs, _ := obj.([]interface{})
result := []map[string]interface{}{}
var result []map[string]interface{}
for _, item := range vs {
if v, ok := item.(map[string]interface{}); ok {
result = append(result, v)

View File

@ -0,0 +1,45 @@
package convert
const (
ArrayKey = "{ARRAY}"
MapKey = "{MAP}"
)
type TransformerFunc func(input interface{}) interface{}
func Transform(data map[string]interface{}, path []string, transformer TransformerFunc) {
if len(path) == 0 || len(data) == 0 {
return
}
key := path[0]
path = path[1:]
value := data[key]
if value == nil {
return
}
if len(path) == 0 {
data[key] = transformer(value)
return
}
// You can't end a path with ARRAY/MAP. Not supported right now
if len(path) > 1 {
switch path[1] {
case ArrayKey:
for _, valueMap := range ToMapSlice(value) {
Transform(valueMap, path[1:], transformer)
}
return
case MapKey:
for _, valueMap := range ToMapInterface(value) {
Transform(ToMapInterface(valueMap), path[1:], transformer)
}
return
}
}
Transform(ToMapInterface(value), path, transformer)
}