milvus/pkg/util/funcutil/map.go

20 lines
428 B
Go
Raw Normal View History

package funcutil
import "fmt"
func MapReduce(results []map[string]string, method map[string]func(string) error) error {
// TODO: use generic type to reconstruct map[string]string -> [T any] map[string]T
for _, result := range results {
for k, v := range result {
fn, ok := method[k]
if !ok {
return fmt.Errorf("unknown field %s", k)
}
if err := fn(v); err != nil {
return err
}
}
}
return nil
}