Basic support for nested Enums / Messages

This commit is contained in:
Mathieu Acthernoene
2017-01-10 11:22:18 +01:00
parent 6cbc8f35eb
commit 66e9d20e1f
3 changed files with 179 additions and 40 deletions

View File

@@ -3,18 +3,45 @@
{{$Package:=.File.Package}}
import grpc from 'grpc'
import pbFile from './pbFile.js'
{{range .File.EnumType}}
export type {{.Name}} = {{range .Value}}
| '{{.Name}}'{{end}}
;{{end}}
{{range .File.MessageType}}
export type {{.Name}} = {|{{range .Field}}
{{.Name}}?: {{. | jsType}};{{end}}{{range .EnumType}}
{{.Name}}?:{{range .Value}}
| '{{.Name}}'{{end}}
;{{end}}
export type {{.Name}} = {|
{{range .Value}}
{{.Name}}?: {{.Number}};
{{end}}
|};
{{end}}
{{range .File.MessageType}}
{{range .EnumType}}
export type {{.Name}} = {|
{{range .Value}}
{{.Name}}?: {{.Number}};
{{end}}
|};
{{end}}
{{range .NestedType}}
export type {{.Name}} = {|
{{range .Field}}
{{.Name}}?: {{. | jsType}};
{{end}}
|};
{{end}}
export type {{.Name}} = {|
{{range .Field}}
{{.Name}}?: {{. | jsType}};
{{end}}
{{range .NestedType}}
{{.Name}}?: {{.Name}};
{{end}}
{{range .EnumType}}
{{.Name}}?: {{.Name}};
{{end}}
|};
{{end}}
{{range .File.Service}}{{range .Method}}
function serialize_{{$Package}}_{{.InputType | shortType}}(arg: {{.InputType | shortType}}) {
if (!(arg instanceof pbFile.{{.InputType | shortType}})) {