cluade code review changes

This commit is contained in:
2026-02-20 16:38:24 +05:30
parent a048cb0d73
commit f1601020b1
16 changed files with 150 additions and 70 deletions

View File

@@ -20,13 +20,21 @@ func Map(obj any) map[string]any {
for i := range val.NumField() {
fieldName := typ.Field(i).Name
fieldValueKind := val.Field(i).Kind()
field := val.Field(i)
fieldValueKind := field.Kind()
var fieldValue any
if fieldValueKind == reflect.Struct {
fieldValue = Map(val.Field(i).Interface())
} else {
fieldValue = val.Field(i).Interface()
switch fieldValueKind {
case reflect.Struct:
fieldValue = Map(field.Interface())
case reflect.Pointer:
if !field.IsNil() && field.Elem().Kind() == reflect.Struct {
fieldValue = Map(field.Elem().Interface())
} else {
fieldValue = field.Interface()
}
default:
fieldValue = field.Interface()
}
result[fieldName] = fieldValue