File

src/apiCaller.ts

Description

An interface for all kinds of API callers (normal, that just calls API, and all special ones: long-running, paginated, bundled, streaming).

Index

Methods

Methods

call
call(apiCall: SimpleCallbackFunction, argument: literal type, settings: literal type, canceller: OngoingCallPromise | OngoingCall | StreamProxy)
Parameters :
Name Type Optional
apiCall SimpleCallbackFunction No
argument literal type No
settings literal type No
canceller OngoingCallPromise | OngoingCall | StreamProxy No
Returns : void
fail
fail(canceller: OngoingCallPromise | OngoingCall | CancellableStream, err: GoogleError)
Parameters :
Name Type Optional
canceller OngoingCallPromise | OngoingCall | CancellableStream No
err GoogleError No
Returns : void
init
init(settings: ApiCallerSettings, callback?: APICallback)
Parameters :
Name Type Optional
settings ApiCallerSettings No
callback APICallback Yes
Returns : OngoingCallPromise | OngoingCall | StreamProxy
result
result(canceller: OngoingCallPromise | OngoingCall | CancellableStream)
Parameters :
Name Type Optional
canceller OngoingCallPromise | OngoingCall | CancellableStream No
wrap
wrap(func: GRPCCall)
Parameters :
Name Type Optional
func GRPCCall No
Returns : GRPCCall
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);
}

result-matching ""

    No results matching ""