Code review fixes
This commit is contained in:
parent
74daca63b7
commit
34281d5fe0
133
caste.go
133
caste.go
@ -1019,66 +1019,16 @@ func ToStringMapIntE(i interface{}) (map[string]int, error) {
|
|||||||
return m, fmt.Errorf("unable to cast %#v of type %T to map[string]int", i, i)
|
return m, fmt.Errorf("unable to cast %#v of type %T to map[string]int", i, i)
|
||||||
}
|
}
|
||||||
|
|
||||||
kind := reflect.TypeOf(i).Elem().Kind()
|
mVal := reflect.ValueOf(m)
|
||||||
switch kind {
|
v := reflect.ValueOf(i)
|
||||||
case reflect.Int8:
|
for _, keyVal := range v.MapKeys() {
|
||||||
for k, val := range i.(map[string]int8) {
|
val, err := ToIntE(v.MapIndex(keyVal).Interface())
|
||||||
m[k] = ToInt(val)
|
if err != nil {
|
||||||
|
return m, fmt.Errorf("unable to cast %#v of type %T to map[string]int", i, i)
|
||||||
}
|
}
|
||||||
return m, nil
|
mVal.SetMapIndex(keyVal, reflect.ValueOf(val))
|
||||||
case reflect.Int16:
|
|
||||||
for k, val := range i.(map[string]int16) {
|
|
||||||
m[k] = ToInt(val)
|
|
||||||
}
|
|
||||||
return m, nil
|
|
||||||
case reflect.Int32:
|
|
||||||
for k, val := range i.(map[string]int32) {
|
|
||||||
m[k] = ToInt(val)
|
|
||||||
}
|
|
||||||
return m, nil
|
|
||||||
case reflect.Int64:
|
|
||||||
for k, val := range i.(map[string]int64) {
|
|
||||||
m[k] = ToInt(val)
|
|
||||||
}
|
|
||||||
return m, nil
|
|
||||||
case reflect.Uint:
|
|
||||||
for k, val := range i.(map[string]uint) {
|
|
||||||
m[k] = ToInt(val)
|
|
||||||
}
|
|
||||||
return m, nil
|
|
||||||
case reflect.Uint8:
|
|
||||||
for k, val := range i.(map[string]uint8) {
|
|
||||||
m[k] = ToInt(val)
|
|
||||||
}
|
|
||||||
return m, nil
|
|
||||||
case reflect.Uint16:
|
|
||||||
for k, val := range i.(map[string]uint16) {
|
|
||||||
m[k] = ToInt(val)
|
|
||||||
}
|
|
||||||
return m, nil
|
|
||||||
case reflect.Uint32:
|
|
||||||
for k, val := range i.(map[string]uint32) {
|
|
||||||
m[k] = ToInt(val)
|
|
||||||
}
|
|
||||||
return m, nil
|
|
||||||
case reflect.Float32:
|
|
||||||
for k, val := range i.(map[string]float32) {
|
|
||||||
m[k] = ToInt(val)
|
|
||||||
}
|
|
||||||
return m, nil
|
|
||||||
case reflect.Float64:
|
|
||||||
for k, val := range i.(map[string]float64) {
|
|
||||||
m[k] = ToInt(val)
|
|
||||||
}
|
|
||||||
return m, nil
|
|
||||||
case reflect.Bool:
|
|
||||||
for k, val := range i.(map[string]bool) {
|
|
||||||
m[k] = ToInt(val)
|
|
||||||
}
|
|
||||||
return m, nil
|
|
||||||
default:
|
|
||||||
return m, fmt.Errorf("unable to cast %#v of type %T to map[string]int", i, i)
|
|
||||||
}
|
}
|
||||||
|
return m, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// ToStringMapInt64E casts an interface to a map[string]int64{} type.
|
// ToStringMapInt64E casts an interface to a map[string]int64{} type.
|
||||||
@ -1109,67 +1059,16 @@ func ToStringMapInt64E(i interface{}) (map[string]int64, error) {
|
|||||||
if reflect.TypeOf(i).Kind() != reflect.Map {
|
if reflect.TypeOf(i).Kind() != reflect.Map {
|
||||||
return m, fmt.Errorf("unable to cast %#v of type %T to map[string]int64", i, i)
|
return m, fmt.Errorf("unable to cast %#v of type %T to map[string]int64", i, i)
|
||||||
}
|
}
|
||||||
|
mVal := reflect.ValueOf(m)
|
||||||
kind := reflect.TypeOf(i).Elem().Kind()
|
v := reflect.ValueOf(i)
|
||||||
switch kind {
|
for _, keyVal := range v.MapKeys() {
|
||||||
case reflect.Int8:
|
val, err := ToInt64E(v.MapIndex(keyVal).Interface())
|
||||||
for k, val := range i.(map[string]int8) {
|
if err != nil {
|
||||||
m[k] = ToInt64(val)
|
return m, fmt.Errorf("unable to cast %#v of type %T to map[string]int64", i, i)
|
||||||
}
|
}
|
||||||
return m, nil
|
mVal.SetMapIndex(keyVal, reflect.ValueOf(val))
|
||||||
case reflect.Int16:
|
|
||||||
for k, val := range i.(map[string]int16) {
|
|
||||||
m[k] = ToInt64(val)
|
|
||||||
}
|
|
||||||
return m, nil
|
|
||||||
case reflect.Int32:
|
|
||||||
for k, val := range i.(map[string]int32) {
|
|
||||||
m[k] = ToInt64(val)
|
|
||||||
}
|
|
||||||
return m, nil
|
|
||||||
case reflect.Int:
|
|
||||||
for k, val := range i.(map[string]int) {
|
|
||||||
m[k] = ToInt64(val)
|
|
||||||
}
|
|
||||||
return m, nil
|
|
||||||
case reflect.Uint:
|
|
||||||
for k, val := range i.(map[string]uint) {
|
|
||||||
m[k] = ToInt64(val)
|
|
||||||
}
|
|
||||||
return m, nil
|
|
||||||
case reflect.Uint8:
|
|
||||||
for k, val := range i.(map[string]uint8) {
|
|
||||||
m[k] = ToInt64(val)
|
|
||||||
}
|
|
||||||
return m, nil
|
|
||||||
case reflect.Uint16:
|
|
||||||
for k, val := range i.(map[string]uint16) {
|
|
||||||
m[k] = ToInt64(val)
|
|
||||||
}
|
|
||||||
return m, nil
|
|
||||||
case reflect.Uint32:
|
|
||||||
for k, val := range i.(map[string]uint32) {
|
|
||||||
m[k] = ToInt64(val)
|
|
||||||
}
|
|
||||||
return m, nil
|
|
||||||
case reflect.Float32:
|
|
||||||
for k, val := range i.(map[string]float32) {
|
|
||||||
m[k] = ToInt64(val)
|
|
||||||
}
|
|
||||||
return m, nil
|
|
||||||
case reflect.Float64:
|
|
||||||
for k, val := range i.(map[string]float64) {
|
|
||||||
m[k] = ToInt64(val)
|
|
||||||
}
|
|
||||||
return m, nil
|
|
||||||
case reflect.Bool:
|
|
||||||
for k, val := range i.(map[string]bool) {
|
|
||||||
m[k] = ToInt64(val)
|
|
||||||
}
|
|
||||||
return m, nil
|
|
||||||
default:
|
|
||||||
return m, fmt.Errorf("unable to cast %#v of type %T to map[string]int64", i, i)
|
|
||||||
}
|
}
|
||||||
|
return m, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// ToSliceE casts an interface to a []interface{} type.
|
// ToSliceE casts an interface to a []interface{} type.
|
||||||
|
Loading…
Reference in New Issue
Block a user