[dts] Generate PromiseClient type definitions in d.ts file #354
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue
In the
_grpc_web_pb.js
file,PromiseClient
is defined and some of its methods return the promise, instead ofClientReadableStream
.But there is no type definition for PromiseClient in d.ts file, so we can't use this class without warnings of type checking.
Proposal
Generate
PromiseClient
type definitions ind.ts
file on top of the existingClient
definition.The methods of this
PromiseClient
havePromise
return type only if the RPC method is not client streaming nor server streaming RPC.Note that I did not change signature for the method which returns server streaming, because the generated js file does not return Promise, but not sure this is correct.
Please tell me if I need to change something.
Sample
The generated d.ts file of
net/grpc/gateway/examples/helloworld/helloworld.proto
is like following.