@cerbos/core
Version:
Common types used by the Cerbos client libraries
24 lines • 1.28 kB
TypeScript
import type { DescMessage, DescMethodServerStreaming, DescMethodUnary, MessageShape, MessageValidType } from "@bufbuild/protobuf";
import { NotOK } from "./errors.js";
/** @internal */
export declare class AbortHandler {
readonly signal: AbortSignal | undefined;
constructor(signal: AbortSignal | undefined);
throwIfAborted(): void;
onAbort(listener: (error: NotOK) => void): void;
error(): NotOK;
}
/** @internal */
export interface Transport {
unary<I extends DescMessage, O extends DescMessage>(method: DescMethodUnary<I, O>, request: MessageValidType<I>, headers: Headers, abortHandler: AbortHandler): Promise<MessageShape<O>>;
serverStream<I extends DescMessage, O extends DescMessage>(method: DescMethodServerStreaming<I, O>, request: MessageValidType<I>, headers: Headers, abortHandler: AbortHandler): AsyncGenerator<MessageShape<O>, void, undefined>;
}
/** @internal */
export type Instrumenter = (transport: Transport) => Transport;
/** @internal */
export declare function addInstrumenter(instrumenter: Instrumenter): void;
/** @internal */
export declare function removeInstrumenter(instrumenter: Instrumenter): void;
/** @internal */
export declare function instrument(transport: Transport): Transport;
//# sourceMappingURL=transport.d.ts.map