mirror of https://github.com/grpc/grpc-node.git
				
				
				
			Add loadPackageDefinition and interceptor APIs to .d.ts file
This commit is contained in:
		
							parent
							
								
									48853903b7
								
							
						
					
					
						commit
						85c154c507
					
				|  | @ -78,6 +78,13 @@ declare module "grpc" { | |||
|    */ | ||||
|   export function load<T = GrpcObject>(filename: Filename, format?: "proto" | "json", options?: LoadOptions): T; | ||||
| 
 | ||||
|   /** | ||||
|    * Load a gRPC package definition as a gRPC object hierarchy | ||||
|    * @param packageDef The package definition object | ||||
|    * @return The resulting gRPC object | ||||
|    */ | ||||
|   export function loadPackageDefinition(packageDefinition: PackageDefinition): GrpcObject; | ||||
|    | ||||
|   /** | ||||
|    * A filename | ||||
|    */ | ||||
|  | @ -235,12 +242,18 @@ declare module "grpc" { | |||
| 
 | ||||
|   /** | ||||
|    * An object that completely defines a service. | ||||
|    * @typedef {Object.<string, grpc~MethodDefinition>} grpc~ServiceDefinition | ||||
|    */ | ||||
|   export type ServiceDefinition<ImplementationType> = { | ||||
|     readonly [I in keyof ImplementationType]: MethodDefinition<any, any>; | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * An object that defines a package containing multiple services | ||||
|    */ | ||||
|   export type PackageDefinition = { | ||||
|     readonly [fullyQualifiedName: string]: ServiceDefinition<any>; | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * An object that completely defines a service method signature. | ||||
|    */ | ||||
|  | @ -1259,4 +1272,197 @@ declare module "grpc" { | |||
|    * @param clientObj The client to close | ||||
|    */ | ||||
|   export function closeClient(clientObj: Client): void; | ||||
| 
 | ||||
|   /** | ||||
|    * A builder for gRPC status objects | ||||
|    */ | ||||
|   export class StatusBuilder { | ||||
|     constructor() | ||||
| 
 | ||||
|     /** | ||||
|      * Adds a status code to the builder | ||||
|      * @param code The status code | ||||
|      */ | ||||
|     withCode(code: number): this; | ||||
| 
 | ||||
|     /** | ||||
|      * Adds details to the builder | ||||
|      * @param details A status message | ||||
|      */ | ||||
|     withDetails(details: string): this; | ||||
| 
 | ||||
|     /** | ||||
|      * Adds metadata to the builder | ||||
|      * @param metadata The gRPC status metadata | ||||
|      */ | ||||
|     withMetadata(metadata: Metadata): this; | ||||
| 
 | ||||
|     /** | ||||
|      * Builds the status object | ||||
|      * @return A gRPC status | ||||
|      */ | ||||
|     build(): StatusObject; | ||||
|   } | ||||
| 
 | ||||
|   export type MetadataListener = (metadata: Metadata, next: function) => void; | ||||
| 
 | ||||
|   export type MessageListener = (message: any, next: function) => void; | ||||
| 
 | ||||
|   export type StatusListener = (status: StatusObject, next: function) => void; | ||||
| 
 | ||||
|   export interface Listener { | ||||
|     onReceiveMetadata?: MetadataListener; | ||||
|     onReceiveMessage?: MessageListener; | ||||
|     onReceiveStatus?: StatusListener; | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * A builder for listener interceptors | ||||
|    */ | ||||
|   export class ListenerBuilder { | ||||
|     constructor(); | ||||
| 
 | ||||
|     /** | ||||
|      * Adds onReceiveMetadata method to the builder | ||||
|      * @param onReceiveMetadata A listener method for receiving metadata | ||||
|      */ | ||||
|     withOnReceiveMetadata(onReceiveMetadata: MetadataListener): this; | ||||
| 
 | ||||
|     /** | ||||
|      * Adds onReceiveMessage method to the builder | ||||
|      * @param onReceiveMessage A listener method for receiving message | ||||
|      */ | ||||
|     withOnReceiveMessage(onReceiveMessage: MessageListener): this; | ||||
| 
 | ||||
|     /** | ||||
|      * Adds onReceiveStatus method to the builder | ||||
|      * @param onReceiveStatus A listener method for receiving status | ||||
|      */ | ||||
|     withOnReceiveStatus(onReceiveStatus: StatusListener): this; | ||||
| 
 | ||||
|     /** | ||||
|      * Builds the call listener | ||||
|      */ | ||||
|     build(): Listener; | ||||
|   } | ||||
| 
 | ||||
|   export type MetadataRequester = (metadata: Metadata, listener: Listener, next: function) => void; | ||||
| 
 | ||||
|   export type MessageRequester = (message: any, next: function) => void; | ||||
| 
 | ||||
|   export type CloseRequester = (next: function) => void; | ||||
| 
 | ||||
|   export type CancelRequester = (next: function) => void; | ||||
| 
 | ||||
|   export type GetPeerRequester = (next: function) => string; | ||||
| 
 | ||||
|   export interface Requester { | ||||
|     start?: MetadataRequester; | ||||
|     sendMessage?: MessageRequester; | ||||
|     halfClose?: CloseRequester; | ||||
|     cancel?: CancelRequester; | ||||
|     getPeer?: GetPeerRequester; | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * A builder for the outbound methods of an interceptor | ||||
|    */ | ||||
|   export class RequesterBuilder { | ||||
|     constructor(); | ||||
| 
 | ||||
|     /** | ||||
|      * Add a metadata requester to the builder | ||||
|      * @param start A requester method for handling metadata | ||||
|      */ | ||||
|     withStart(start: MetadataRequester): this; | ||||
| 
 | ||||
|     /** | ||||
|      * Add a message requester to the builder. | ||||
|      * @param sendMessage A requester method for handling | ||||
|      * messages. | ||||
|      */ | ||||
|     withSendMessage(sendMessage: MessageRequester): this; | ||||
| 
 | ||||
|     /** | ||||
|      * Add a close requester to the builder. | ||||
|      * @param halfClose A requester method for handling client | ||||
|      * close. | ||||
|      */ | ||||
|     withHalfClose(halfClose: CloseRequester): this; | ||||
| 
 | ||||
|     /** | ||||
|      * Add a cancel requester to the builder. | ||||
|      * @param cancel A requester method for handling `cancel` | ||||
|      */ | ||||
|     withCancel(cancel: CancelRequester): this; | ||||
| 
 | ||||
|     /** | ||||
|      * Builds the requester's interceptor methods. | ||||
|      */ | ||||
|     build(): Requester; | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|    * A chainable gRPC call proxy which will delegate to an optional requester | ||||
|    * object. By default, interceptor methods will chain to nextCall. If a | ||||
|    * requester is provided which implements an interceptor method, that | ||||
|    * requester method will be executed as part of the chain. | ||||
|    * operations. | ||||
|    */ | ||||
|   export class InterceptingCall { | ||||
|     /** | ||||
|      * @param next_Call The next call in the chain | ||||
|      * @param requester Interceptor methods to handle request | ||||
|      */ | ||||
|     constructor(nextCall: InterceptingCall|null, requester?: Requester); | ||||
| 
 | ||||
|     /** | ||||
|      * Starts a call through the outbound interceptor chain and adds an element to | ||||
|      * the reciprocal inbound listener chain. | ||||
|      */ | ||||
|     start(metadata: Metadata, listener: Listener): void; | ||||
| 
 | ||||
|     /** | ||||
|      * Pass a message through the interceptor chain. | ||||
|      */ | ||||
|     sendMessage(message: any): void; | ||||
| 
 | ||||
|     /** | ||||
|      * Run a close operation through the interceptor chain | ||||
|      */ | ||||
|     halfClose(): void; | ||||
| 
 | ||||
|     /** | ||||
|      * Run a cancel operation through the interceptor chain | ||||
|      */ | ||||
|     cancel(): void; | ||||
| 
 | ||||
|     /** | ||||
|      * Run a cancelWithStatus operation through the interceptor chain. | ||||
|      * @param status | ||||
|      * @param message | ||||
|      */ | ||||
|     cancelWithStatus(status: StatusObject, message: string): void; | ||||
|      | ||||
|     /** | ||||
|      * Pass a getPeer call down to the base gRPC call (should not be intercepted) | ||||
|      */ | ||||
|     getPeer(): object; | ||||
| 
 | ||||
|     /** | ||||
|      * For streaming calls, we need to transparently pass the stream's context | ||||
|      * through the interceptor chain. Passes the context between InterceptingCalls | ||||
|      * but hides it from any requester implementations. | ||||
|      * @param context Carries objects needed for streaming operations. | ||||
|      * @param message The message to send. | ||||
|      */ | ||||
|     sendMessageWithContext(context: object, message: any): void; | ||||
| 
 | ||||
|     /** | ||||
|      * For receiving streaming messages, we need to seed the base interceptor with | ||||
|      * the streaming context to create a RECV_MESSAGE batch. | ||||
|      * @param context Carries objects needed for streaming operations | ||||
|      */ | ||||
|     recvMessageWithContext(context: object): void; | ||||
|   } | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue