reflection.go 482 B

1234567891011121314151617181920212223
  1. package reflection
  2. import (
  3. "git.nspix.com/golang/kos/util/reflect"
  4. reflectpkg "reflect"
  5. )
  6. func Setter[T string | int | int64 | float64 | any](hacky any, variables map[string]T) (err error) {
  7. for k, v := range variables {
  8. if err = Set(hacky, k, v); err != nil {
  9. return err
  10. }
  11. }
  12. return
  13. }
  14. func Assign(s reflectpkg.Value, v any) error {
  15. return reflect.Assign(s, v)
  16. }
  17. func Set(hacky any, field string, value any) (err error) {
  18. return reflect.Set(hacky, field, value)
  19. }