in scripts/generate_schema_docs/main.go [157:176]
func flattenObjects(s *schema, props map[string]*property, prefix string, nameIsPattern bool) {
for name, prop := range props {
if nameIsPattern {
prop.Pattern = name
name = "*pattern*"
}
name = prefix + name
s.Properties[name] = prop
switch prop.Type {
case "object":
flattenObjects(s, prop.Properties, name+".", false)
flattenObjects(s, prop.PatternProperties, name+".", true)
case "array":
prop.Type = fmt.Sprintf("array(%s)", prop.Items.Type)
flattenObjects(s, prop.Items.Properties, name+".", false)
flattenObjects(s, prop.Items.PatternProperties, name+".", true)
}
}
}