func (g *jsonschema) generateEnumSchema(file *generator.FileDescriptor, enum *generator.EnumDescriptor, index int) { typeName := file.GetPackage() + "." + strings.Join(enum.TypeName(), ".") typeName = strings.TrimPrefix(typeName, ".") def := g.definitions[typeName] if def == nil { def = g.enumToSchema(file, enum) g.definitions[typeName] = def } }
func (g *jsonschema) enumToSchema(file *generator.FileDescriptor, desc *generator.EnumDescriptor) interface{} { typeName := file.GetPackage() + "." + strings.Join(desc.TypeName(), ".") typeName = strings.TrimPrefix(typeName, ".") title := desc.TypeName()[len(desc.TypeName())-1] values := make([]interface{}, 0, 2*len(desc.Value)) for _, x := range desc.Value { values = append(values, x.GetNumber()) values = append(values, x.GetName()) } return map[string]interface{}{ // "id": typeName, "enum": values, "title": title, } }