package event import "fmt" func addFields(event map[string]interface{}, fields map[string]interface{}, protected ...string) error { if len(fields) == 0 { return nil } block := map[string]struct{}{} for _, key := range protected { block[key] = struct{}{} } for k, v := range fields { if _, ok := block[k]; ok { return fmt.Errorf("fields must not override %s", k) } event[k] = v } return nil }