mirror of
https://github.com/rancher/steve.git
synced 2025-09-03 00:15:27 +00:00
* Migrate SQLcache to Steve * Fix imports * go mod tidy * Fix lint errors * Remove lasso SQL cache mentions * Fix more CI lint errors * fix goimports Signed-off-by: Silvio Moioli <silvio@moioli.net> * Fix more linting errors * More lint fix * Add envtest support --------- Signed-off-by: Silvio Moioli <silvio@moioli.net> Co-authored-by: Silvio Moioli <silvio@moioli.net>
23 lines
647 B
Go
23 lines
647 B
Go
package informer
|
|
|
|
import (
|
|
"reflect"
|
|
"unsafe"
|
|
)
|
|
|
|
// UnsafeSet replaces the passed object's field value with the passed value.
|
|
func UnsafeSet(object any, field string, value any) {
|
|
rs := reflect.ValueOf(object).Elem()
|
|
rf := rs.FieldByName(field)
|
|
wrf := reflect.NewAt(rf.Type(), unsafe.Pointer(rf.UnsafeAddr())).Elem()
|
|
wrf.Set(reflect.ValueOf(value))
|
|
}
|
|
|
|
// UnsafeGet returns the value of the passed object's for the passed field.
|
|
func UnsafeGet(object any, field string) any {
|
|
rs := reflect.ValueOf(object).Elem()
|
|
rf := rs.FieldByName(field)
|
|
wrf := reflect.NewAt(rf.Type(), unsafe.Pointer(rf.UnsafeAddr())).Elem()
|
|
return wrf.Interface()
|
|
}
|