in dev/import-beats/docs.go [117:141]
func visitFields(namePrefix string, f fieldDefinition, records []fieldsTableRecord) ([]fieldsTableRecord, error) {
var name = namePrefix
if namePrefix != "" {
name += "."
}
name += f.Name
if len(f.Fields) == 0 && f.Type != "group" {
records = append(records, fieldsTableRecord{
name: name,
description: f.Description,
aType: f.Type,
})
return records, nil
}
var err error
for _, fieldEntry := range f.Fields {
records, err = visitFields(name, fieldEntry, records)
if err != nil {
return nil, errors.Wrapf(err, "recursive visiting fields failed (namePrefix: %s)", namePrefix)
}
}
return records, nil
}