func visitEcsFieldsToFilter()

in dev/import-beats/fields.go [236:263]


func visitEcsFieldsToFilter(namePrefix string, f fieldDefinition, filteredNames []string) (fieldDefinition, bool) {
	name := namePrefix
	if namePrefix != "" {
		name += "."
	}
	name += f.Name

	if len(f.Fields) == 0 && f.Type != "group" {
		for _, fn := range filteredNames {
			if fn == name {
				return f, true
			}
		}
		return f, false
	}

	var checked bool
	var checkedFields fieldDefinitionArray
	for _, fieldEntry := range f.Fields {
		visited, fieldChecked := visitEcsFieldsToFilter(name, fieldEntry, filteredNames)
		if fieldChecked {
			checkedFields = append(checkedFields, visited)
			checked = true
		}
	}
	f.Fields = checkedFields
	return f, checked
}