diff --git a/packages/grpc-js/src/object-stream.ts b/packages/grpc-js/src/object-stream.ts index ccf0fcd0a..49ef1f33b 100644 --- a/packages/grpc-js/src/object-stream.ts +++ b/packages/grpc-js/src/object-stream.ts @@ -49,9 +49,9 @@ export interface IntermediateObjectWritable extends Writable { } export interface ObjectWritable extends IntermediateObjectWritable { - _write(chunk: T | Buffer, encoding: string, callback: Function): void; - write(chunk: T | Buffer, cb?: Function): boolean; - write(chunk: T | Buffer, encoding?: any, cb?: Function): boolean; + _write(chunk: T, encoding: string, callback: Function): void; + write(chunk: T, cb?: Function): boolean; + write(chunk: T, encoding?: any, cb?: Function): boolean; setDefaultEncoding(encoding: string): this; end(): ReturnType extends Writable ? this : void; end( diff --git a/packages/grpc-js/src/server-call.ts b/packages/grpc-js/src/server-call.ts index 319406fc0..40976d7b4 100644 --- a/packages/grpc-js/src/server-call.ts +++ b/packages/grpc-js/src/server-call.ts @@ -90,6 +90,16 @@ export type ServerSurfaceCall = { getPath(): string; } & EventEmitter; +export type ServerWritableBuffer = { + _write( + chunk: ResponseType | Buffer, + encoding: string, + callback: Function + ): void; + write(chunk: ResponseType | Buffer, cb?: Function): boolean; + write(chunk: ResponseType | Buffer, encoding?: any, cb?: Function): boolean; +}; + export type ServerUnaryCall = ServerSurfaceCall & { request: RequestType; }; @@ -97,13 +107,15 @@ export type ServerReadableStream = ServerSurfaceCall & ObjectReadable; export type ServerWritableStream = ServerSurfaceCall & - ObjectWritable & { + ObjectWritable & + ServerWritableBuffer & { request: RequestType; end: (metadata?: Metadata) => void; }; export type ServerDuplexStream = ServerSurfaceCall & ObjectReadable & - ObjectWritable & { end: (metadata?: Metadata) => void }; + ObjectWritable & + ServerWritableBuffer & { end: (metadata?: Metadata) => void }; export class ServerUnaryCallImpl extends EventEmitter