UNPKG

@opentelemetry/instrumentation-grpc

Version:
49 lines 2 kB
/// <reference types="node" /> import type { Span } from '@opentelemetry/api'; import type { EventEmitter } from 'events'; import type { CALL_SPAN_ENDED } from './serverUtils'; import type { requestCallback, ServerUnaryCall, ServerReadableStream, ServerWritableStream, ServerDuplexStream, Server, Metadata, makeGenericClientConstructor } from '@grpc/grpc-js'; export type metadataCaptureType = { client: { captureRequestMetadata: (span: Span, metadata: Metadata) => void; captureResponseMetadata: (span: Span, metadata: Metadata) => void; }; server: { captureRequestMetadata: (span: Span, metadata: Metadata) => void; captureResponseMetadata: (span: Span, metadata: Metadata) => void; }; }; /** * Server Unary callback type */ export type SendUnaryDataCallback<T> = requestCallback<T>; /** * Intersection type of all grpc server call types */ export type ServerCall<T, U> = ServerUnaryCall<T, U> | ServerReadableStream<T, U> | ServerWritableStream<T, U> | ServerDuplexStream<T, U>; /** * {@link ServerCall} ServerCall extended with misc. missing utility types */ export type ServerCallWithMeta<T, U> = ServerCall<T, U> & { metadata: Metadata; }; /** * EventEmitter with span ended symbol indicator */ export type GrpcEmitter = EventEmitter & { [CALL_SPAN_ENDED]?: boolean; }; /** * Grpc client callback function extended with missing utility types */ export type GrpcClientFunc = ((...args: unknown[]) => GrpcEmitter) & { path: string; requestStream: boolean; responseStream: boolean; }; export type ServerRegisterFunction = typeof Server.prototype.register; export type ClientRequestFunction<ReturnType> = (...args: unknown[]) => ReturnType; export type MakeClientConstructorFunction = typeof makeGenericClientConstructor; export type { HandleCall } from '@grpc/grpc-js/build/src/server-call'; export type { PackageDefinition } from '@grpc/grpc-js/build/src/make-client'; //# sourceMappingURL=internal-types.d.ts.map