github.com/johnnyeven/libtools@v0.0.0-20191126065708-61829c1adf46/courier/client/gen/common/utils.go (about) 1 package common 2 3 import ( 4 "regexp" 5 "strings" 6 7 "github.com/johnnyeven/libtools/codegen" 8 ) 9 10 func RequestOf(id string) string { 11 return id + "Request" 12 } 13 14 func ResponseOf(id string) string { 15 return id + "Response" 16 } 17 18 func PathFromSwaggerPath(str string) string { 19 r := regexp.MustCompile(`/\{([^/\\}]+)\}`) 20 result := r.ReplaceAllString(str, "/:$1") 21 return result 22 } 23 24 func RefName(str string) string { 25 parts := strings.Split(str, "/") 26 return parts[len(parts)-1] 27 } 28 29 func BasicType(schemaType string, format string, importer *codegen.Importer) string { 30 switch format { 31 case "binary": 32 return importer.Use("mime/multipart.FileHeader") 33 case "byte", "int", "int8", "int16", "int32", "int64", "rune", "uint", "uint8", "uint16", "uint32", "uint64", "uintptr", "float32", "float64": 34 return format 35 case "float": 36 return "float32" 37 case "double": 38 return "float64" 39 default: 40 switch schemaType { 41 case "boolean": 42 return "bool" 43 default: 44 return "string" 45 } 46 } 47 }