1
0
Fork 0

Refactor to use reflect.TypeFor

This commit is contained in:
cui 2025-08-21 22:10:07 +08:00 committed by GitHub
parent 50f95dd909
commit 86422af988
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 6 additions and 6 deletions

View file

@ -47,7 +47,7 @@ func encodeRawValue(labels map[string]string, root string, rawValue interface{})
if tValue.Kind() == reflect.Map && tValue.Elem().Kind() == reflect.Interface { if tValue.Kind() == reflect.Map && tValue.Elem().Kind() == reflect.Interface {
r := reflect.ValueOf(rawValue). r := reflect.ValueOf(rawValue).
Convert(reflect.TypeOf((map[string]interface{})(nil))). Convert(reflect.TypeFor[map[string]interface{}]()).
Interface().(map[string]interface{}) Interface().(map[string]interface{})
for k, v := range r { for k, v := range r {

View file

@ -156,7 +156,7 @@ func extractType(element interface{}) string {
for i := range v.NumField() { for i := range v.NumField() {
field := v.Field(i) field := v.Field(i)
if field.Kind() == reflect.Map && field.Type().Elem() == reflect.TypeOf(dynamic.PluginConf{}) { if field.Kind() == reflect.Map && field.Type().Elem() == reflect.TypeFor[dynamic.PluginConf]() {
if keys := field.MapKeys(); len(keys) == 1 { if keys := field.MapKeys(); len(keys) == 1 {
return keys[0].String() return keys[0].String()
} }

View file

@ -232,7 +232,7 @@ func getProviders(conf static.Configuration) []string {
if !field.IsNil() { if !field.IsNil() {
providers = append(providers, v.Type().Field(i).Name) providers = append(providers, v.Type().Field(i).Name)
} }
} else if field.Kind() == reflect.Map && field.Type().Elem() == reflect.TypeOf(static.PluginConf{}) { } else if field.Kind() == reflect.Map && field.Type().Elem() == reflect.TypeFor[static.PluginConf]() {
for _, value := range field.MapKeys() { for _, value := range field.MapKeys() {
providers = append(providers, "plugin-"+value.String()) providers = append(providers, "plugin-"+value.String())
} }

View file

@ -55,7 +55,7 @@ func fill(field reflect.Value) error {
setTyped(field, int32(defaultNumber)) setTyped(field, int32(defaultNumber))
case reflect.Int64: case reflect.Int64:
switch field.Type() { switch field.Type() {
case reflect.TypeOf(types.Duration(time.Second)): case reflect.TypeFor[types.Duration]():
setTyped(field, types.Duration(defaultNumber*time.Second)) setTyped(field, types.Duration(defaultNumber*time.Second))
default: default:
setTyped(field, int64(defaultNumber)) setTyped(field, int64(defaultNumber))

View file

@ -70,7 +70,7 @@ func doOnJSON(input string) string {
} }
func doOnStruct(field reflect.Value, tag string, redactByDefault bool) error { func doOnStruct(field reflect.Value, tag string, redactByDefault bool) error {
if field.Type().AssignableTo(reflect.TypeOf(dynamic.PluginConf{})) { if field.Type().AssignableTo(reflect.TypeFor[dynamic.PluginConf]()) {
resetPlugin(field) resetPlugin(field)
return nil return nil
} }
@ -164,7 +164,7 @@ func reset(field reflect.Value, name string) error {
} }
case reflect.String: case reflect.String:
if field.String() != "" { if field.String() != "" {
if field.Type().AssignableTo(reflect.TypeOf(types.FileOrContent(""))) { if field.Type().AssignableTo(reflect.TypeFor[types.FileOrContent]()) {
field.Set(reflect.ValueOf(types.FileOrContent(maskShort))) field.Set(reflect.ValueOf(types.FileOrContent(maskShort)))
} else { } else {
field.Set(reflect.ValueOf(maskShort)) field.Set(reflect.ValueOf(maskShort))