@@ -11,46 +11,47 @@ import {FileDescriptorProto} from "google-protobuf/google/protobuf/descriptor_pb
1111
1212import  { ProtoMsgTsdFormatter }  from  "./lib/format/ProtoMsgTsdFormatter" ; 
1313import  { ProtoSvcTsdFormatter }  from  "./lib/format/ProtoSvcTsdFormatter" ; 
14- import  {   TplEngine   }  from  "./lib/TplEngine" ; 
14+ import  { TplEngine }  from  "./lib/TplEngine" ; 
1515
1616Utility . 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