in pkg/genlib/fields/yaml.go [37:65]
func collectFields(fieldsFromYaml yamlFields, namePrefix string) Fields {
fields := make(Fields, 0, len(fieldsFromYaml))
for _, fieldFromYaml := range fieldsFromYaml {
field := Field{
Type: fieldFromYaml.Type,
ObjectType: fieldFromYaml.ObjectType,
Example: fieldFromYaml.Example,
Value: fieldFromYaml.Value,
}
if len(namePrefix) == 0 {
field.Name = fieldFromYaml.Name
} else {
field.Name = namePrefix + "." + fieldFromYaml.Name
}
if len(fieldFromYaml.Fields) == 0 {
// There are examples of fields of type "group" with no subfields; ignore these.
if field.Type != "group" {
fields = fields.merge(field)
}
} else {
subFields := collectFields(fieldFromYaml.Fields, field.Name)
fields = fields.merge(subFields...)
}
}
return fields
}