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

@@ -4,65 +4,173 @@
import grpc from 'grpc'
import pbFile from './pbFile.js'
export type TestEnum =
| 'ELEMENT_A'
| 'ELEMENT_B'
;
export type TestEnum = {|
ELEMENT_A?: 0;
ELEMENT_B?: 1;
|};
export type TestNestedEnum = {|
ELEMENT_C?: 0;
ELEMENT_D?: 1;
|};
export type TestNestedMessage = {|
s?: string;
t?: number;
|};
export type TestMessage = {|
a?: string;
b?: number;
c?: number;
d?: number;
e?: number;
n?: Array<string>;
o?: Array<number>;
p?: Array<number>;
q?: Array<number>;
r?: Array<number>;
s?:
| 'ELEMENT_C'
| 'ELEMENT_D'
;
a?: string;
b?: number;
c?: number;
d?: number;
e?: number;
n?: Array<string>;
o?: Array<number>;
p?: Array<number>;
q?: Array<number>;
r?: Array<number>;
TestNestedMessage?: TestNestedMessage;
TestNestedEnum?: TestNestedEnum;
|};
export type TestNoStreamRequest = {|
message?: TestMessage;
message?: TestMessage;
|};
export type TestNoStreamReply = {|
message?: TestMessage;
err_msg?: string;
message?: TestMessage;
err_msg?: string;
|};
export type TestStreamRequestRequest = {|
message?: TestMessage;
message?: TestMessage;
|};
export type TestStreamRequestReply = {|
message?: TestMessage;
err_msg?: string;
message?: TestMessage;
err_msg?: string;
|};
export type TestStreamReplyRequest = {|
message?: TestMessage;
message?: TestMessage;
|};
export type TestStreamReplyReply = {|
message?: TestMessage;
err_msg?: string;
message?: TestMessage;
err_msg?: string;
|};
export type TestStreamBothRequest = {|
message?: TestMessage;
message?: TestMessage;
|};
export type TestStreamBothReply = {|
message?: TestMessage;
err_msg?: string;
message?: TestMessage;
err_msg?: string;
|};
function serialize_test_TestNoStreamRequest(arg: TestNoStreamRequest) {
if (!(arg instanceof pbFile.TestNoStreamRequest)) {
throw new Error('Expected argument of type TestNoStreamRequest')