mirror of
https://github.com/rancher/steve.git
synced 2025-06-30 08:42:06 +00:00
* Copy pkg/cache/sql from lasso to pkg/sqlcache * Rename import from github.com/rancher/lasso/pkg/cache/sql to github.com/rancher/steve/pkg/sqlcache * Fix filter.Match -> filter.Matches * 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 tests (Match -> Matches) Signed-off-by: Silvio Moioli <silvio@moioli.net> * Fix Sort order --------- 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()
|
|
}
|