kittenipc/lib/golang/util.go
2026-03-28 14:33:46 +03:00

32 lines
554 B
Go

package golang
import (
"fmt"
"reflect"
)
func mergeErr(errs ...error) (ret error) {
for _, err := range errs {
if err != nil {
if ret == nil {
ret = err
} else {
ret = fmt.Errorf("%w; %w", ret, err)
}
}
}
return
}
func mapTypeNames(types []any) map[string]any {
result := make(map[string]any)
for _, t := range types {
if reflect.TypeOf(t).Kind() != reflect.Pointer {
panic(fmt.Sprintf("LocalAPI argument must be pointer"))
}
typeName := reflect.TypeOf(t).Elem().Name()
result[typeName] = t
}
return result
}