gRPC-Devtools
requires at least gRPC-Web
1.1.0, so make sure you upgrade your grpc-web if you're still running an older one.
grpc-devtools.ts
import type { StreamInterceptor, UnaryInterceptor } from "grpc-web";
declare const __gRPC_devtools__:
| undefined
| {
gRPCWebUnaryInterceptor: UnaryInterceptor<unknown, unknown>;
gRPCWebStreamInterceptor: StreamInterceptor<unknown, unknown>;
};
export const unaryInterceptors =
typeof __gRPC_devtools__ === "object"
? [
__gRPC_devtools__.gRPCWebUnaryInterceptor,
]
: [];
export const streamInterceptors =
typeof __gRPC_devtools__ === "object"
? [
__gRPC_devtools__.gRPCWebStreamInterceptor,
]
: [];
example.ts
import { unaryInterceptors, streamInterceptors } from "./grpc-devtools";
const client = new ChatServiceClient(host, creds, { unaryInterceptors, streamInterceptors });
grpc-devtools.ts
import type { Interceptor } from "@connectrpc/connect";
declare const __gRPC_devtools__:
| undefined
| {
connectEsInterceptor: Interceptor;
};
export const interceptors =
typeof __gRPC_devtools__ === "object"
? [
__gRPC_devtools__.connectEsInterceptor,
]
: [];
example.ts
import { interceptors } from "./grpc-devtools";
const transport = createConnectTransport({ baseUrl: "http://localhost:3003", interceptors });