src/apiCaller.ts
promise: PromiseConstructor
PromiseConstructor
import { APICallback, CancellableStream, GRPCCall, ResultTuple, SimpleCallbackFunction, } from './apitypes'; import {CancellablePromise, OngoingCall, OngoingCallPromise} from './call'; import {Descriptor} from './descriptor'; import {CallSettings} from './gax'; import {GoogleError} from './googleError'; import {NormalApiCaller} from './normalCalls/normalApiCaller'; import {StreamProxy} from './streamingCalls/streaming'; export interface ApiCallerSettings { promise: PromiseConstructor; } /** * An interface for all kinds of API callers (normal, that just calls API, and * all special ones: long-running, paginated, bundled, streaming). */ export interface APICaller { init( settings: ApiCallerSettings, callback?: APICallback ): OngoingCallPromise | OngoingCall | StreamProxy; wrap(func: GRPCCall): GRPCCall; call( apiCall: SimpleCallbackFunction, argument: {}, settings: {}, canceller: OngoingCallPromise | OngoingCall | StreamProxy ): void; fail( canceller: OngoingCallPromise | OngoingCall | CancellableStream, err: GoogleError ): void; result( canceller: OngoingCallPromise | OngoingCall | CancellableStream ): CancellablePromise<ResultTuple> | CancellableStream; } export function createAPICaller( settings: CallSettings, descriptor: Descriptor | undefined ): APICaller { if (!descriptor) { return new NormalApiCaller(); } return descriptor.getApiCaller(settings); }