Array<number> -> Uint8Array

This commit is contained in:
Mathieu Acthernoene 2017-01-11 14:52:00 +01:00
parent 5fa1ea5cba
commit 47277242ae
3 changed files with 174 additions and 228 deletions

View File

@ -1,16 +1,13 @@
// @flow // @flow
// GENERATED CODE -- DO NOT EDIT! // GENERATED CODE -- DO NOT EDIT!
import grpc from 'grpc' import base64 from 'base64-js'
import pbFile from './pbFile.js' import test_pb from './test_pb'
export type TestEnum = {| export type TestEnum = {|
ELEMENT_A?: 0;
ELEMENT_A?: 0; ELEMENT_B?: 1;
ELEMENT_B?: 1;
|}; |};
@ -18,288 +15,241 @@ export type TestEnum = {|
export type TestMessage$TestNestedEnum = {| export type TestMessage$TestNestedEnum = {|
ELEMENT_C?: 0;
ELEMENT_C?: 0; ELEMENT_D?: 1;
ELEMENT_D?: 1;
|}; |};
export type TestMessage$TestNestedMessage = {| export type TestMessage$TestNestedMessage = {|
s?: string;
s?: string; t?: number;
t?: number;
|}; |};
export type TestMessage = {| export type TestMessage = {|
a?: string;
a?: string; b?: number;
c?: number;
b?: number; d?: number;
e?: number;
c?: number; n?: Array<string>;
o?: Array<number>;
d?: number; p?: Array<number>;
q?: Array<number>;
e?: number; r?: Array<number>;
u?: TestEnum;
n?: Array<string>; v?: TestMessage$TestNestedEnum;
w?: Array<TestMessage$TestNestedMessage>;
o?: Array<number>;
p?: Array<number>;
q?: Array<number>;
r?: Array<number>;
u?: TestEnum;
v?: TestMessage$TestNestedEnum;
w?: Array<TestMessage$TestNestedMessage>;
|}; |};
export type TestNoStreamRequest = {| export type TestNoStreamRequest = {|
message?: TestMessage;
message?: TestMessage;
|}; |};
export type TestNoStreamReply = {| export type TestNoStreamReply = {|
message?: TestMessage;
message?: TestMessage; err_msg?: string;
err_msg?: string;
|}; |};
export type TestStreamRequestRequest = {| export type TestStreamRequestRequest = {|
message?: TestMessage;
message?: TestMessage;
|}; |};
export type TestStreamRequestReply = {| export type TestStreamRequestReply = {|
message?: TestMessage;
message?: TestMessage; err_msg?: string;
err_msg?: string;
|}; |};
export type TestStreamReplyRequest = {| export type TestStreamReplyRequest = {|
message?: TestMessage;
message?: TestMessage;
|}; |};
export type TestStreamReplyReply = {| export type TestStreamReplyReply = {|
message?: TestMessage;
message?: TestMessage; err_msg?: string;
err_msg?: string;
|}; |};
export type TestStreamBothRequest = {| export type TestStreamBothRequest = {|
message?: TestMessage;
message?: TestMessage;
|}; |};
export type TestStreamBothReply = {| export type TestStreamBothReply = {|
message?: TestMessage;
message?: TestMessage; err_msg?: string;
err_msg?: string;
|}; |};
const serializeToBase64 = (byteArray: Uint8Array): string =>
base64.fromByteArray(byteArray)
function serialize_test_TestNoStreamRequest(arg: TestNoStreamRequest) { const deserializeFromBase64 = (base64Encoded: string): Uint8Array =>
if (!(arg instanceof pbFile.TestNoStreamRequest)) { new Uint8Array(base64.toByteArray(base64Encoded))
function serialize_test_TestNoStreamRequest(arg : TestNoStreamRequest): string {
if (!(arg instanceof test_pb.TestNoStreamRequest)) {
throw new Error('Expected argument of type TestNoStreamRequest') throw new Error('Expected argument of type TestNoStreamRequest')
} }
return new Buffer(arg.serializeBinary()) return serializeToBase64(arg.serializeBinary())
} }
function deserialize_test_TestNoStreamRequest(buffer_arg: Array<number>) { function deserialize_test_TestNoStreamRequest(base64Encoded: string): TestNoStreamRequest {
return pbFile.TestNoStreamRequest.deserializeBinary(new Uint8Array(buffer_arg)) return test_pb.TestNoStreamRequest.deserializeBinary(deserializeFromBase64(base64Encoded))
} }
function serialize_test_TestNoStreamReply(arg: TestNoStreamReply) { function serialize_test_TestNoStreamReply(arg : TestNoStreamReply): string {
if (!(arg instanceof pbFile.TestNoStreamReply)) { if (!(arg instanceof test_pb.TestNoStreamReply)) {
throw new Error('Expected argument of type TestNoStreamReply') throw new Error('Expected argument of type TestNoStreamReply')
} }
return new Buffer(arg.serializeBinary()) return serializeToBase64(arg.serializeBinary())
} }
function deserialize_test_TestNoStreamReply(buffer_arg: Array<number>) { function deserialize_test_TestNoStreamReply(base64Encoded: string): TestNoStreamReply {
return pbFile.TestNoStreamReply.deserializeBinary(new Uint8Array(buffer_arg)) return test_pb.TestNoStreamReply.deserializeBinary(deserializeFromBase64(base64Encoded))
} }
function serialize_test_TestStreamRequestRequest(arg: TestStreamRequestRequest) {
if (!(arg instanceof pbFile.TestStreamRequestRequest)) { function serialize_test_TestStreamRequestRequest(arg : TestStreamRequestRequest): string {
if (!(arg instanceof test_pb.TestStreamRequestRequest)) {
throw new Error('Expected argument of type TestStreamRequestRequest') throw new Error('Expected argument of type TestStreamRequestRequest')
} }
return new Buffer(arg.serializeBinary()) return serializeToBase64(arg.serializeBinary())
} }
function deserialize_test_TestStreamRequestRequest(buffer_arg: Array<number>) { function deserialize_test_TestStreamRequestRequest(base64Encoded: string): TestStreamRequestRequest {
return pbFile.TestStreamRequestRequest.deserializeBinary(new Uint8Array(buffer_arg)) return test_pb.TestStreamRequestRequest.deserializeBinary(deserializeFromBase64(base64Encoded))
} }
function serialize_test_TestStreamRequestReply(arg: TestStreamRequestReply) { function serialize_test_TestStreamRequestReply(arg : TestStreamRequestReply): string {
if (!(arg instanceof pbFile.TestStreamRequestReply)) { if (!(arg instanceof test_pb.TestStreamRequestReply)) {
throw new Error('Expected argument of type TestStreamRequestReply') throw new Error('Expected argument of type TestStreamRequestReply')
} }
return new Buffer(arg.serializeBinary()) return serializeToBase64(arg.serializeBinary())
} }
function deserialize_test_TestStreamRequestReply(buffer_arg: Array<number>) { function deserialize_test_TestStreamRequestReply(base64Encoded: string): TestStreamRequestReply {
return pbFile.TestStreamRequestReply.deserializeBinary(new Uint8Array(buffer_arg)) return test_pb.TestStreamRequestReply.deserializeBinary(deserializeFromBase64(base64Encoded))
} }
function serialize_test_TestStreamReplyRequest(arg: TestStreamReplyRequest) {
if (!(arg instanceof pbFile.TestStreamReplyRequest)) { function serialize_test_TestStreamReplyRequest(arg : TestStreamReplyRequest): string {
if (!(arg instanceof test_pb.TestStreamReplyRequest)) {
throw new Error('Expected argument of type TestStreamReplyRequest') throw new Error('Expected argument of type TestStreamReplyRequest')
} }
return new Buffer(arg.serializeBinary()) return serializeToBase64(arg.serializeBinary())
} }
function deserialize_test_TestStreamReplyRequest(buffer_arg: Array<number>) { function deserialize_test_TestStreamReplyRequest(base64Encoded: string): TestStreamReplyRequest {
return pbFile.TestStreamReplyRequest.deserializeBinary(new Uint8Array(buffer_arg)) return test_pb.TestStreamReplyRequest.deserializeBinary(deserializeFromBase64(base64Encoded))
} }
function serialize_test_TestStreamReplyReply(arg: TestStreamReplyReply) { function serialize_test_TestStreamReplyReply(arg : TestStreamReplyReply): string {
if (!(arg instanceof pbFile.TestStreamReplyReply)) { if (!(arg instanceof test_pb.TestStreamReplyReply)) {
throw new Error('Expected argument of type TestStreamReplyReply') throw new Error('Expected argument of type TestStreamReplyReply')
} }
return new Buffer(arg.serializeBinary()) return serializeToBase64(arg.serializeBinary())
} }
function deserialize_test_TestStreamReplyReply(buffer_arg: Array<number>) { function deserialize_test_TestStreamReplyReply(base64Encoded: string): TestStreamReplyReply {
return pbFile.TestStreamReplyReply.deserializeBinary(new Uint8Array(buffer_arg)) return test_pb.TestStreamReplyReply.deserializeBinary(deserializeFromBase64(base64Encoded))
} }
function serialize_test_TestStreamBothRequest(arg: TestStreamBothRequest) {
if (!(arg instanceof pbFile.TestStreamBothRequest)) { function serialize_test_TestStreamBothRequest(arg : TestStreamBothRequest): string {
if (!(arg instanceof test_pb.TestStreamBothRequest)) {
throw new Error('Expected argument of type TestStreamBothRequest') throw new Error('Expected argument of type TestStreamBothRequest')
} }
return new Buffer(arg.serializeBinary()) return serializeToBase64(arg.serializeBinary())
} }
function deserialize_test_TestStreamBothRequest(buffer_arg: Array<number>) { function deserialize_test_TestStreamBothRequest(base64Encoded: string): TestStreamBothRequest {
return pbFile.TestStreamBothRequest.deserializeBinary(new Uint8Array(buffer_arg)) return test_pb.TestStreamBothRequest.deserializeBinary(deserializeFromBase64(base64Encoded))
} }
function serialize_test_TestStreamBothReply(arg: TestStreamBothReply) { function serialize_test_TestStreamBothReply(arg : TestStreamBothReply): string {
if (!(arg instanceof pbFile.TestStreamBothReply)) { if (!(arg instanceof test_pb.TestStreamBothReply)) {
throw new Error('Expected argument of type TestStreamBothReply') throw new Error('Expected argument of type TestStreamBothReply')
} }
return new Buffer(arg.serializeBinary()) return serializeToBase64(arg.serializeBinary())
} }
function deserialize_test_TestStreamBothReply(buffer_arg: Array<number>) { function deserialize_test_TestStreamBothReply(base64Encoded: string): TestStreamBothReply {
return pbFile.TestStreamBothReply.deserializeBinary(new Uint8Array(buffer_arg)) return test_pb.TestStreamBothReply.deserializeBinary(deserializeFromBase64(base64Encoded))
} }
export const TestServiceService = { export default {
testNoStream: { TestService: {
path: '/test.TestService/TestNoStream',
requestStream: false, testNoStream: {
responseStream: false, path: '/test.TestService/TestNoStream',
requestType: pbFile.TestNoStreamRequest, requestStream: false,
responseType: pbFile.TestNoStreamReply, responseStream: false,
requestSerialize: serialize_test_TestNoStreamRequest, requestType: test_pb.TestNoStreamRequest,
requestDeserialize: deserialize_test_TestNoStreamRequest, responseType: test_pb.TestNoStreamReply,
responseSerialize: serialize_test_TestNoStreamReply, requestSerialize: serialize_test_TestNoStreamRequest,
responseDeserialize: deserialize_test_TestNoStreamReply, requestDeserialize: deserialize_test_TestNoStreamRequest,
}, responseSerialize: serialize_test_TestNoStreamReply,
testStreamRequest: { responseDeserialize: deserialize_test_TestNoStreamReply,
path: '/test.TestService/TestStreamRequest', },
requestStream: true, testStreamRequest: {
responseStream: false, path: '/test.TestService/TestStreamRequest',
requestType: pbFile.TestStreamRequestRequest, requestStream: true,
responseType: pbFile.TestStreamRequestReply, responseStream: false,
requestSerialize: serialize_test_TestStreamRequestRequest, requestType: test_pb.TestStreamRequestRequest,
requestDeserialize: deserialize_test_TestStreamRequestRequest, responseType: test_pb.TestStreamRequestReply,
responseSerialize: serialize_test_TestStreamRequestReply, requestSerialize: serialize_test_TestStreamRequestRequest,
responseDeserialize: deserialize_test_TestStreamRequestReply, requestDeserialize: deserialize_test_TestStreamRequestRequest,
}, responseSerialize: serialize_test_TestStreamRequestReply,
testStreamReply: { responseDeserialize: deserialize_test_TestStreamRequestReply,
path: '/test.TestService/TestStreamReply', },
requestStream: false, testStreamReply: {
responseStream: true, path: '/test.TestService/TestStreamReply',
requestType: pbFile.TestStreamReplyRequest, requestStream: false,
responseType: pbFile.TestStreamReplyReply, responseStream: true,
requestSerialize: serialize_test_TestStreamReplyRequest, requestType: test_pb.TestStreamReplyRequest,
requestDeserialize: deserialize_test_TestStreamReplyRequest, responseType: test_pb.TestStreamReplyReply,
responseSerialize: serialize_test_TestStreamReplyReply, requestSerialize: serialize_test_TestStreamReplyRequest,
responseDeserialize: deserialize_test_TestStreamReplyReply, requestDeserialize: deserialize_test_TestStreamReplyRequest,
}, responseSerialize: serialize_test_TestStreamReplyReply,
testStreamBoth: { responseDeserialize: deserialize_test_TestStreamReplyReply,
path: '/test.TestService/TestStreamBoth', },
requestStream: true, testStreamBoth: {
responseStream: true, path: '/test.TestService/TestStreamBoth',
requestType: pbFile.TestStreamBothRequest, requestStream: true,
responseType: pbFile.TestStreamBothReply, responseStream: true,
requestSerialize: serialize_test_TestStreamBothRequest, requestType: test_pb.TestStreamBothRequest,
requestDeserialize: deserialize_test_TestStreamBothRequest, responseType: test_pb.TestStreamBothReply,
responseSerialize: serialize_test_TestStreamBothReply, requestSerialize: serialize_test_TestStreamBothRequest,
responseDeserialize: deserialize_test_TestStreamBothReply, requestDeserialize: deserialize_test_TestStreamBothRequest,
}, responseSerialize: serialize_test_TestStreamBothReply,
responseDeserialize: deserialize_test_TestStreamBothReply,
},
}
} }
export const TestServiceClient = grpc.makeGenericClientConstructor(TestServiceService)

View File

@ -1,80 +1,76 @@
// @flow // @flow
// GENERATED CODE -- DO NOT EDIT! // GENERATED CODE -- DO NOT EDIT!
{{$Package:=.File.Package}} {{$Package:=.File.Package}}
import grpc from 'grpc' import base64 from 'base64-js'
import pbFile from './pbFile.js' import {{$Package}}_pb from './{{$Package}}_pb'{{range .File.Dependency}}
import {{. | replace "/" "_" | trimSuffix ".proto" }}_pb from '../{{. | trimSuffix ".proto" }}_pb'{{end}}
{{range .File.EnumType}} {{range .File.EnumType}}
export type {{.Name}} = {| export type {{.Name}} = {|{{range .Value}}
{{range .Value}} {{.Name}}?: {{.Number}};{{end}}
{{.Name}}?: {{.Number}};
{{end}}
|}; |};
{{end}} {{end}}
{{range .File.MessageType}} {{range .File.MessageType}}
{{$MessageType := .Name}} {{$MessageType := .Name}}
{{range .EnumType}} {{range .EnumType}}
export type {{$MessageType}}${{.Name}} = {| export type {{$MessageType}}${{.Name}} = {|{{range .Value}}
{{range .Value}} {{.Name}}?: {{.Number}};{{end}}
{{.Name}}?: {{.Number}};
{{end}}
|}; |};
{{end}} {{end}}
{{range .NestedType}} {{range .NestedType}}
export type {{$MessageType}}${{.Name}} = {| export type {{$MessageType}}${{.Name}} = {|{{range .Field}}
{{range .Field}} {{.Name}}?: {{. | jsType}};{{end}}
{{.Name}}?: {{. | jsType}}; |};
{{end}} {{end}}
export type {{.Name}} = {|{{range .Field}}
{{.Name}}?: {{. | jsType}};{{end}}
|}; |};
{{end}} {{end}}
export type {{.Name}} = {| const serializeToBase64 = (byteArray: Uint8Array): string => base64.fromByteArray(byteArray)
{{range .Field}} const deserializeFromBase64 = (base64Encoded: string): Uint8Array => new Uint8Array(base64.toByteArray(base64Encoded))
{{.Name}}?: {{. | jsType}};
{{end}}
|};
{{end}}
{{range .File.Service}}{{range .Method}} {{range .File.Service}}{{range .Method}}
function serialize_{{$Package}}_{{.InputType | shortType}}(arg: {{.InputType | shortType}}) { function serialize_{{$Package}}_{{.InputType | shortType}}(arg : {{.InputType | shortType}}): string {
if (!(arg instanceof pbFile.{{.InputType | shortType}})) { if (!(arg instanceof {{$Package}}_pb.{{.InputType | shortType}})) {
throw new Error('Expected argument of type {{.InputType | shortType}}') throw new Error('Expected argument of type {{.InputType | shortType}}')
} }
return new Buffer(arg.serializeBinary()) return serializeToBase64(arg.serializeBinary())
} }
function deserialize_{{$Package}}_{{.InputType | shortType}}(buffer_arg: Array<number>) { function deserialize_{{$Package}}_{{.InputType | shortType}}(base64Encoded: string): {{.InputType | shortType}} {
return pbFile.{{.InputType | shortType}}.deserializeBinary(new Uint8Array(buffer_arg)) return {{$Package}}_pb.{{.InputType | shortType}}.deserializeBinary(deserializeFromBase64(base64Encoded))
} }
function serialize_{{$Package}}_{{.OutputType | shortType}}(arg: {{.OutputType | shortType}}) { function serialize_{{$Package}}_{{.OutputType | shortType}}(arg : {{.OutputType | shortType}}): string {
if (!(arg instanceof pbFile.{{.OutputType | shortType}})) { if (!(arg instanceof {{$Package}}_pb.{{.OutputType | shortType}})) {
throw new Error('Expected argument of type {{.OutputType | shortType}}') throw new Error('Expected argument of type {{.OutputType | shortType}}')
} }
return new Buffer(arg.serializeBinary()) return serializeToBase64(arg.serializeBinary())
} }
function deserialize_{{$Package}}_{{.OutputType | shortType}}(buffer_arg: Array<number>) { function deserialize_{{$Package}}_{{.OutputType | shortType}}(base64Encoded: string): {{.OutputType | shortType}} {
return pbFile.{{.OutputType | shortType}}.deserializeBinary(new Uint8Array(buffer_arg)) return {{$Package}}_pb.{{.OutputType | shortType}}.deserializeBinary(deserializeFromBase64(base64Encoded))
} }
{{end}}{{end}} {{end}}{{end}}
{{range .File.Service}} export default {
export const {{.Name}}Service = { {{range .File.Service}}
{{.Name}}: {
{{$serviceName:=.Name}} {{$serviceName:=.Name}}
{{range .Method}}{{.Name | lowerCamelCase}}: { {{range .Method}}{{.Name | lowerCamelCase}}: {
path: '/{{$Package}}.{{$serviceName}}/{{.Name}}', path: '/{{$Package}}.{{$serviceName}}/{{.Name}}',
requestStream: {{.ClientStreaming | default "false"}}, requestStream: {{.ClientStreaming | default "false"}},
responseStream: {{.ServerStreaming | default "false"}}, responseStream: {{.ServerStreaming | default "false"}},
requestType: pbFile.{{.InputType | shortType}}, requestType: {{$Package}}_pb.{{.InputType | shortType}},
responseType: pbFile.{{.OutputType | shortType}}, responseType: {{$Package}}_pb.{{.OutputType | shortType}},
requestSerialize: serialize_{{$Package}}_{{.InputType | shortType}}, requestSerialize: serialize_{{$Package}}_{{.InputType | shortType}},
requestDeserialize: deserialize_{{$Package}}_{{.InputType | shortType}}, requestDeserialize: deserialize_{{$Package}}_{{.InputType | shortType}},
responseSerialize: serialize_{{$Package}}_{{.OutputType | shortType}}, responseSerialize: serialize_{{$Package}}_{{.OutputType | shortType}},
responseDeserialize: deserialize_{{$Package}}_{{.OutputType | shortType}}, responseDeserialize: deserialize_{{$Package}}_{{.OutputType | shortType}},
}, },
{{end}}
}
{{end}} {{end}}
} }
export const {{.Name}}Client = grpc.makeGenericClientConstructor({{.Name}}Service){{end}}

View File

@ -167,7 +167,7 @@ func jsType(f *descriptor.FieldDescriptorProto) string {
case descriptor.FieldDescriptorProto_TYPE_BOOL: case descriptor.FieldDescriptorProto_TYPE_BOOL:
return fmt.Sprintf(template, "boolean") return fmt.Sprintf(template, "boolean")
case descriptor.FieldDescriptorProto_TYPE_BYTES: case descriptor.FieldDescriptorProto_TYPE_BYTES:
return fmt.Sprintf(template, "Array<number>") return fmt.Sprintf(template, "Uint8Array")
case descriptor.FieldDescriptorProto_TYPE_STRING: case descriptor.FieldDescriptorProto_TYPE_STRING:
return fmt.Sprintf(template, "string") return fmt.Sprintf(template, "string")
default: default: