Delete unused code
This commit is contained in:
parent
09eeef63af
commit
f6323d5ebe
2 changed files with 0 additions and 169 deletions
queries
|
@ -407,74 +407,3 @@ func makeCacheKey(typ string, cols []string) string {
|
|||
|
||||
return mapKey
|
||||
}
|
||||
|
||||
// GetStructValues returns the values (as interface) of the matching columns in obj
|
||||
func GetStructValues(obj interface{}, columns ...string) []interface{} {
|
||||
ret := make([]interface{}, len(columns))
|
||||
val := reflect.Indirect(reflect.ValueOf(obj))
|
||||
|
||||
for i, c := range columns {
|
||||
fieldName := strmangle.TitleCase(c)
|
||||
field := val.FieldByName(fieldName)
|
||||
if !field.IsValid() {
|
||||
panic(fmt.Sprintf("unable to find field with name: %s\n%#v", fieldName, obj))
|
||||
}
|
||||
ret[i] = field.Interface()
|
||||
}
|
||||
|
||||
return ret
|
||||
}
|
||||
|
||||
// GetSliceValues returns the values (as interface) of the matching columns in obj.
|
||||
func GetSliceValues(slice []interface{}, columns ...string) []interface{} {
|
||||
ret := make([]interface{}, len(slice)*len(columns))
|
||||
|
||||
for i, obj := range slice {
|
||||
val := reflect.Indirect(reflect.ValueOf(obj))
|
||||
for j, c := range columns {
|
||||
fieldName := strmangle.TitleCase(c)
|
||||
field := val.FieldByName(fieldName)
|
||||
if !field.IsValid() {
|
||||
panic(fmt.Sprintf("unable to find field with name: %s\n%#v", fieldName, obj))
|
||||
}
|
||||
ret[i*len(columns)+j] = field.Interface()
|
||||
}
|
||||
}
|
||||
|
||||
return ret
|
||||
}
|
||||
|
||||
// GetStructPointers returns a slice of pointers to the matching columns in obj
|
||||
func GetStructPointers(obj interface{}, columns ...string) []interface{} {
|
||||
val := reflect.ValueOf(obj).Elem()
|
||||
|
||||
var ln int
|
||||
var getField func(reflect.Value, int) reflect.Value
|
||||
|
||||
if len(columns) == 0 {
|
||||
ln = val.NumField()
|
||||
getField = func(v reflect.Value, i int) reflect.Value {
|
||||
return v.Field(i)
|
||||
}
|
||||
} else {
|
||||
ln = len(columns)
|
||||
getField = func(v reflect.Value, i int) reflect.Value {
|
||||
return v.FieldByName(strmangle.TitleCase(columns[i]))
|
||||
}
|
||||
}
|
||||
|
||||
ret := make([]interface{}, ln)
|
||||
for i := 0; i < ln; i++ {
|
||||
field := getField(val, i)
|
||||
|
||||
if !field.IsValid() {
|
||||
// Although this breaks the abstraction of getField above - we know that v.Field(i) can't actually
|
||||
// produce an Invalid value, so we make a hopefully safe assumption here.
|
||||
panic(fmt.Sprintf("Could not find field on struct %T for field %s", obj, strmangle.TitleCase(columns[i])))
|
||||
}
|
||||
|
||||
ret[i] = field.Addr().Interface()
|
||||
}
|
||||
|
||||
return ret
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue