Update go helpers

This commit is contained in:
Mathieu Acthernoene 2017-01-05 18:04:20 +01:00
parent 2c01e8b298
commit 81310a7f0f

View File

@ -70,6 +70,7 @@ var ProtoHelpersFuncMap = template.FuncMap{
"jsType": jsType, "jsType": jsType,
"httpVerb": httpVerb, "httpVerb": httpVerb,
"httpPath": httpPath, "httpPath": httpPath,
"shortType": shortType,
} }
func init() { func init() {
@ -141,31 +142,35 @@ func goType(pkg string, f *descriptor.FieldDescriptorProto) string {
} }
func jsType(f *descriptor.FieldDescriptorProto) string { func jsType(f *descriptor.FieldDescriptorProto) string {
template := "%s"
if isFieldRepeated(f) == true {
template = "Array<%s>"
}
switch *f.Type { switch *f.Type {
case descriptor.FieldDescriptorProto_TYPE_DOUBLE:
return "number"
case descriptor.FieldDescriptorProto_TYPE_FLOAT:
return "number"
case descriptor.FieldDescriptorProto_TYPE_INT64:
return "number"
case descriptor.FieldDescriptorProto_TYPE_UINT64:
return "number"
case descriptor.FieldDescriptorProto_TYPE_INT32:
return "number"
case descriptor.FieldDescriptorProto_TYPE_BOOL:
return "boolean"
case descriptor.FieldDescriptorProto_TYPE_STRING:
return "string"
case descriptor.FieldDescriptorProto_TYPE_MESSAGE: case descriptor.FieldDescriptorProto_TYPE_MESSAGE:
return "message" return fmt.Sprintf(template, shortType(*f.TypeName))
case descriptor.FieldDescriptorProto_TYPE_BYTES: case descriptor.FieldDescriptorProto_TYPE_DOUBLE,
return "number" descriptor.FieldDescriptorProto_TYPE_FLOAT,
case descriptor.FieldDescriptorProto_TYPE_UINT32: descriptor.FieldDescriptorProto_TYPE_INT64,
return "number" descriptor.FieldDescriptorProto_TYPE_UINT64,
descriptor.FieldDescriptorProto_TYPE_INT32,
descriptor.FieldDescriptorProto_TYPE_FIXED64,
descriptor.FieldDescriptorProto_TYPE_FIXED32,
descriptor.FieldDescriptorProto_TYPE_UINT32,
descriptor.FieldDescriptorProto_TYPE_SFIXED32,
descriptor.FieldDescriptorProto_TYPE_SFIXED64,
descriptor.FieldDescriptorProto_TYPE_SINT32,
descriptor.FieldDescriptorProto_TYPE_SINT64:
return fmt.Sprintf(template, "number")
case descriptor.FieldDescriptorProto_TYPE_BOOL:
return fmt.Sprintf(template, "boolean")
case descriptor.FieldDescriptorProto_TYPE_STRING:
return fmt.Sprintf(template, "string")
case descriptor.FieldDescriptorProto_TYPE_ENUM: case descriptor.FieldDescriptorProto_TYPE_ENUM:
return "message" return fmt.Sprintf(template, "Object")
default: default:
return "object" return fmt.Sprintf(template, "any")
} }
} }