feat: support escaped paths (#107)
This commit is contained in:
@@ -0,0 +1,110 @@
|
||||
// @flow
|
||||
// GENERATED CODE -- DO NOT EDIT!
|
||||
|
||||
{{- $Package:=.File.Package}}
|
||||
|
||||
import base64 from 'base64-js'
|
||||
import {{$Package}}_pb from './{{$Package}}_pb'
|
||||
|
||||
{{- range .File.Dependency}}
|
||||
import {{. | replace "/" "_" | trimSuffix ".proto" }}_pb from '../{{. | trimSuffix ".proto" }}_pb'
|
||||
{{- end}}
|
||||
|
||||
{{- define "fieldMethods"}}
|
||||
{{- if isFieldRepeated .}}
|
||||
get{{.Name | camelCase}}List?: () => {{. | jsType}};
|
||||
set{{.Name | camelCase}}List?: ({{.Name}}: {{. | jsType}}) => void;
|
||||
add{{.Name | camelCase}}?: ({{.Name}}: {{. | jsType | trimPrefix "Array<" | trimSuffix ">"}}) => void;
|
||||
clear{{.Name | camelCase}}List?: () => void;
|
||||
{{- else}}
|
||||
get{{.Name | camelCase}}?: () => {{. | jsType}};
|
||||
set{{.Name | camelCase}}?: ({{.Name}}: {{. | jsType}}) => void;
|
||||
|
||||
{{- if isFieldMessage .}}
|
||||
clear{{.Name | camelCase}}?: () => void;
|
||||
has{{.Name | camelCase}}?: () => boolean;
|
||||
{{- end}}
|
||||
{{- end}}
|
||||
{{- end}}
|
||||
|
||||
{{range .File.EnumType}}
|
||||
export type {{.Name}} = {|
|
||||
{{- range .Value}}
|
||||
{{.Name}}?: {{.Number}};
|
||||
{{- end}}
|
||||
|};
|
||||
{{- end}}
|
||||
|
||||
{{- range .File.MessageType}}
|
||||
{{- $MessageType := .Name}}
|
||||
|
||||
{{range .EnumType}}
|
||||
export type {{$MessageType}}${{.Name}} = {|
|
||||
{{- range .Value}}
|
||||
{{.Name}}?: {{.Number}};
|
||||
{{- end}}
|
||||
|};
|
||||
{{- end}}
|
||||
|
||||
{{range .NestedType}}
|
||||
export type {{$MessageType}}${{.Name}} = {
|
||||
{{- range .Field}}
|
||||
{{- template "fieldMethods" .}}
|
||||
{{- end}}
|
||||
};
|
||||
{{- end}}
|
||||
|
||||
export type {{.Name}} = {
|
||||
{{- range .Field}}
|
||||
{{- template "fieldMethods" .}}
|
||||
{{- end}}
|
||||
};
|
||||
|
||||
{{- end}}
|
||||
|
||||
const serializeToBase64 = (byteArray: Uint8Array): string => base64.fromByteArray(byteArray)
|
||||
const deserializeFromBase64 = (base64Encoded: string): Uint8Array => new Uint8Array(base64.toByteArray(base64Encoded))
|
||||
|
||||
{{range .File.Service}}{{range .Method}}
|
||||
function serialize_{{$Package}}_{{.InputType | shortType}}(arg : {{.InputType | shortType}}): string {
|
||||
if (!(arg instanceof {{$Package}}_pb.{{.InputType | shortType}})) {
|
||||
throw new Error('Expected argument of type {{.InputType | shortType}}')
|
||||
}
|
||||
return serializeToBase64(arg.serializeBinary())
|
||||
}
|
||||
|
||||
function deserialize_{{$Package}}_{{.InputType | shortType}}(base64Encoded: string): {{.InputType | shortType}} {
|
||||
return {{$Package}}_pb.{{.InputType | shortType}}.deserializeBinary(deserializeFromBase64(base64Encoded))
|
||||
}
|
||||
|
||||
function serialize_{{$Package}}_{{.OutputType | shortType}}(arg : {{.OutputType | shortType}}): string {
|
||||
if (!(arg instanceof {{$Package}}_pb.{{.OutputType | shortType}})) {
|
||||
throw new Error('Expected argument of type {{.OutputType | shortType}}')
|
||||
}
|
||||
return serializeToBase64(arg.serializeBinary())
|
||||
}
|
||||
|
||||
function deserialize_{{$Package}}_{{.OutputType | shortType}}(base64Encoded: string): {{.OutputType | shortType}} {
|
||||
return {{$Package}}_pb.{{.OutputType | shortType}}.deserializeBinary(deserializeFromBase64(base64Encoded))
|
||||
}
|
||||
|
||||
{{end}}{{end}}
|
||||
export default {
|
||||
{{range .File.Service}}
|
||||
{{.Name}}: {
|
||||
{{$serviceName:=.Name}}
|
||||
{{range .Method}}{{.Name | lowerCamelCase}}: {
|
||||
path: '/{{$Package}}.{{$serviceName}}/{{.Name}}',
|
||||
requestStream: {{.ClientStreaming | default "false"}},
|
||||
responseStream: {{.ServerStreaming | default "false"}},
|
||||
requestType: {{$Package}}_pb.{{.InputType | shortType}},
|
||||
responseType: {{$Package}}_pb.{{.OutputType | shortType}},
|
||||
requestSerialize: serialize_{{$Package}}_{{.InputType | shortType}},
|
||||
requestDeserialize: deserialize_{{$Package}}_{{.InputType | shortType}},
|
||||
responseSerialize: serialize_{{$Package}}_{{.OutputType | shortType}},
|
||||
responseDeserialize: deserialize_{{$Package}}_{{.OutputType | shortType}},
|
||||
},
|
||||
{{end}}
|
||||
}
|
||||
{{end}}
|
||||
}
|
Reference in New Issue
Block a user