Skip to content

Commit 03024f3

Browse files
committed
Template update done, final functionality done.
1 parent bb80c80 commit 03024f3

File tree

8 files changed

+66
-39
lines changed

8 files changed

+66
-39
lines changed

build/index.js

Lines changed: 16 additions & 16 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build/index.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build/lib/format/ProtoSvcTsdFormatter.js

Lines changed: 11 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build/lib/format/ProtoSvcTsdFormatter.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build/lib/template/svc_tsd.hbs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,11 @@ export interface I{{{serviceName}}}Server {
3535
{{lcFirst methodName}}: grpc.handleUnaryCall<{{{requestTypeName}}}, {{{responseTypeName}}}>;
3636
{{/eq}}
3737
{{#eq type "ClientWritableStream"}}
38+
{{#if (fetchIsGrpcJs)}}
39+
{{lcFirst methodName}}: handleClientStreamingCall<{{{requestTypeName}}}, {{{responseTypeName}}}>;
40+
{{else}}
3841
{{lcFirst methodName}}: grpc.handleClientStreamingCall<{{{requestTypeName}}}, {{{responseTypeName}}}>;
42+
{{/if}}
3943
{{/eq}}
4044
{{#eq type "ClientReadableStream"}}
4145
{{lcFirst methodName}}: grpc.handleServerStreamingCall<{{{requestTypeName}}}, {{{responseTypeName}}}>;

src/index.ts

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -11,46 +11,47 @@ import {FileDescriptorProto} from "google-protobuf/google/protobuf/descriptor_pb
1111

1212
import {ProtoMsgTsdFormatter} from "./lib/format/ProtoMsgTsdFormatter";
1313
import {ProtoSvcTsdFormatter} from "./lib/format/ProtoSvcTsdFormatter";
14-
import { TplEngine } from "./lib/TplEngine";
14+
import {TplEngine} from "./lib/TplEngine";
1515

1616
Utility.withAllStdIn((inputBuff: Buffer) => {
1717

1818
try {
19-
let typedInputBuff = new Uint8Array((inputBuff as any).length);
20-
//noinspection TypeScriptValidateTypes
19+
const typedInputBuff = new Uint8Array((inputBuff as any).length);
2120
typedInputBuff.set(inputBuff);
2221

23-
let codeGenRequest = CodeGeneratorRequest.deserializeBinary(typedInputBuff);
24-
let codeGenResponse = new CodeGeneratorResponse();
25-
let exportMap = new ExportMap();
26-
let fileNameToDescriptor: { [key: string]: FileDescriptorProto } = {};
22+
const codeGenRequest = CodeGeneratorRequest.deserializeBinary(typedInputBuff);
23+
const codeGenResponse = new CodeGeneratorResponse();
24+
const exportMap = new ExportMap();
25+
const fileNameToDescriptor: { [key: string]: FileDescriptorProto } = {};
2726

28-
codeGenRequest.getProtoFileList().forEach(protoFileDescriptor => {
27+
const isGrpcJs = "generate_package_definition" === codeGenRequest.getParameter();
28+
29+
codeGenRequest.getProtoFileList().forEach((protoFileDescriptor) => {
2930
fileNameToDescriptor[protoFileDescriptor.getName()] = protoFileDescriptor;
3031
exportMap.addFileDescriptor(protoFileDescriptor);
3132
});
3233

33-
codeGenRequest.getFileToGenerateList().forEach(fileName => {
34+
codeGenRequest.getFileToGenerateList().forEach((fileName) => {
3435
// message part
35-
let msgFileName = Utility.filePathFromProtoWithoutExt(fileName);
36-
let msgTsdFile = new CodeGeneratorResponse.File();
36+
const msgFileName = Utility.filePathFromProtoWithoutExt(fileName);
37+
const msgTsdFile = new CodeGeneratorResponse.File();
3738
msgTsdFile.setName(msgFileName + ".d.ts");
3839
const msgModel = ProtoMsgTsdFormatter.format(fileNameToDescriptor[fileName], exportMap);
39-
msgTsdFile.setContent(TplEngine.render('msg_tsd', msgModel));
40+
msgTsdFile.setContent(TplEngine.render("msg_tsd", msgModel));
4041
codeGenResponse.addFile(msgTsdFile);
4142

4243
// service part
43-
let fileDescriptorModel = ProtoSvcTsdFormatter.format(fileNameToDescriptor[fileName], exportMap);
44+
const fileDescriptorModel = ProtoSvcTsdFormatter.format(fileNameToDescriptor[fileName], exportMap, isGrpcJs);
4445
if (fileDescriptorModel != null) {
45-
let svcFileName = Utility.svcFilePathFromProtoWithoutExt(fileName);
46-
let svtTsdFile = new CodeGeneratorResponse.File();
46+
const svcFileName = Utility.svcFilePathFromProtoWithoutExt(fileName);
47+
const svtTsdFile = new CodeGeneratorResponse.File();
4748
svtTsdFile.setName(svcFileName + ".d.ts");
48-
svtTsdFile.setContent(TplEngine.render('svc_tsd', fileDescriptorModel));
49+
svtTsdFile.setContent(TplEngine.render("svc_tsd", fileDescriptorModel));
4950
codeGenResponse.addFile(svtTsdFile);
5051
}
5152
});
5253

53-
process.stdout.write(new Buffer(codeGenResponse.serializeBinary()));
54+
process.stdout.write(Buffer.from(codeGenResponse.serializeBinary()));
5455
} catch (err) {
5556
console.error("protoc-gen-ts error: " + err.stack + "\n");
5657
process.exit(1);

0 commit comments

Comments
 (0)