Connect is a family of libraries for building and consuming APIs on different languages and platforms. @bufbuild/connect brings type-safe APIs with Protobuf to TypeScript.
@bufbuild/connect-web
provides the following adapters for web browsers, and any other platform that has
the fetch API on board:
Lets your clients running in the web browser talk to a server with the Connect protocol:
import { createPromiseClient } from "@bufbuild/connect";
+ import { createConnectTransport } from "@bufbuild/connect-web";
import { ElizaService } from "./gen/eliza_connect.js";
+ // A transport for clients using the Connect protocol with fetch()
+ const transport = createConnectTransport({
+ baseUrl: "https://demo.connect.build",
+ });
const client = createPromiseClient(ElizaService, transport);
const { sentence } = await client.say({ sentence: "I feel happy." });
console.log(sentence) // you said: I feel happy.
Lets your clients running in the web browser talk to a server with the gRPC-web protocol:
import { createPromiseClient } from "@bufbuild/connect";
+ import { createGrpcWebTransport } from "@bufbuild/connect-web";
import { ElizaService } from "./gen/eliza_connect.js";
+ // A transport for clients using the Connect protocol with fetch()
+ const transport = createGrpcWebTransport({
+ baseUrl: "https://demo.connect.build",
+ });
const client = createPromiseClient(ElizaService, transport);
const { sentence } = await client.say({ sentence: "I feel happy." });
console.log(sentence) // you said: I feel happy.
To get started with Connect, head over to the docs for a tutorial, or take a look at our example.
Connect plays nice with Vue, Svelte, Remix, Next.js, Angular and many others. Take a look at our examples for various frameworks.