|
|
|
|
|
|
|
import { EventEmitter } from 'events'; |
|
import { Duplex, Readable, Writable } from 'stream'; |
|
import { StatusObject } from './call-interface'; |
|
import { EmitterAugmentation1 } from './events'; |
|
import { Metadata } from './metadata'; |
|
import { ObjectReadable, ObjectWritable, WriteCallback } from './object-stream'; |
|
import { InterceptingCallInterface } from './client-interceptors'; |
|
|
|
|
|
|
|
export type ServiceError = StatusObject & Error; |
|
|
|
|
|
|
|
export type SurfaceCall = { |
|
call?: InterceptingCallInterface; |
|
cancel(): void; |
|
getPeer(): string; |
|
} & EmitterAugmentation1<'metadata', Metadata> & EmitterAugmentation1<'status', StatusObject> & EventEmitter; |
|
|
|
|
|
|
|
export type ClientUnaryCall = SurfaceCall; |
|
|
|
|
|
|
|
export type ClientReadableStream<ResponseType> = { |
|
deserialize: (chunk: Buffer) => ResponseType; |
|
} & SurfaceCall & ObjectReadable<ResponseType>; |
|
|
|
|
|
|
|
export type ClientWritableStream<RequestType> = { |
|
serialize: (value: RequestType) => Buffer; |
|
} & SurfaceCall & ObjectWritable<RequestType>; |
|
|
|
|
|
|
|
export type ClientDuplexStream<RequestType, ResponseType> = ClientWritableStream<RequestType> & ClientReadableStream<ResponseType>; |
|
|
|
|
|
|
|
|
|
|
|
|
|
export declare function callErrorFromStatus(status: StatusObject, callerStack: string): ServiceError; |
|
export declare class ClientUnaryCallImpl extends EventEmitter implements ClientUnaryCall { |
|
call?: InterceptingCallInterface; |
|
constructor(); |
|
cancel(): void; |
|
getPeer(): string; |
|
} |
|
export declare class ClientReadableStreamImpl<ResponseType> extends Readable implements ClientReadableStream<ResponseType> { |
|
readonly deserialize: (chunk: Buffer) => ResponseType; |
|
call?: InterceptingCallInterface; |
|
constructor(deserialize: (chunk: Buffer) => ResponseType); |
|
cancel(): void; |
|
getPeer(): string; |
|
_read(_size: number): void; |
|
} |
|
export declare class ClientWritableStreamImpl<RequestType> extends Writable implements ClientWritableStream<RequestType> { |
|
readonly serialize: (value: RequestType) => Buffer; |
|
call?: InterceptingCallInterface; |
|
constructor(serialize: (value: RequestType) => Buffer); |
|
cancel(): void; |
|
getPeer(): string; |
|
_write(chunk: RequestType, encoding: string, cb: WriteCallback): void; |
|
_final(cb: Function): void; |
|
} |
|
export declare class ClientDuplexStreamImpl<RequestType, ResponseType> extends Duplex implements ClientDuplexStream<RequestType, ResponseType> { |
|
readonly serialize: (value: RequestType) => Buffer; |
|
readonly deserialize: (chunk: Buffer) => ResponseType; |
|
call?: InterceptingCallInterface; |
|
constructor(serialize: (value: RequestType) => Buffer, deserialize: (chunk: Buffer) => ResponseType); |
|
cancel(): void; |
|
getPeer(): string; |
|
_read(_size: number): void; |
|
_write(chunk: RequestType, encoding: string, cb: WriteCallback): void; |
|
_final(cb: Function): void; |
|
} |
|
|