From dd5a808319cf5239b5ec9d3252e59d6731857ad5 Mon Sep 17 00:00:00 2001 From: Toon van Strijp Date: Sun, 3 May 2020 23:48:05 +0200 Subject: [PATCH] fix stream to be of type Observable --- src/main.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main.ts b/src/main.ts index 448bd8a0b..ee7587b1b 100644 --- a/src/main.ts +++ b/src/main.ts @@ -990,8 +990,8 @@ function generateService( requestFn = requestFn.addParameter('metadata?', "Metadata@grpc"); } - // Return observable for interface only configuration and passing returnObservable=true - if (options.returnObservable) { + // Return observable for interface only configuration, passing returnObservable=true and methodDesc.serverStreaming=true + if (options.returnObservable || methodDesc.serverStreaming) { requestFn = requestFn.returns(responseObservable(typeMap, methodDesc)); } else { requestFn = requestFn.returns(responsePromise(typeMap, methodDesc)); @@ -1270,6 +1270,9 @@ function generateDataLoadersType(): InterfaceSpec { } function requestType(typeMap: TypeMap, methodDesc: MethodDescriptorProto): TypeName { + if(methodDesc.clientStreaming) { + return TypeNames.anyType("Observable@rxjs").param(messageToTypeName(typeMap, methodDesc.inputType)); + } return messageToTypeName(typeMap, methodDesc.inputType); }