TanStack React Query adapter for Elysia Treaty
npm install treaty-tanstack-react-queryType-safe TanStack React Query options + query keys for Eden Treaty clients (Elysia).
``bash`
bun add treaty-tanstack-react-query
Peer deps:
- @elysiajs/eden@tanstack/react-query
- (v5+)react
- / react-dom
`tsx
import { treaty } from "@elysiajs/eden";
import {
QueryClient,
QueryClientProvider,
useQuery,
} from "@tanstack/react-query";
import { createTreatyContext } from "treaty-tanstack-react-query";
import type { app } from "./server";
const client = treaty
const queryClient = new QueryClient();
const { TreatyProvider, useTreaty } = createTreatyContext
function Todos() {
const treaty = useTreaty();
const { data } = useQuery(treaty.api.todos.queryOptions());
return
{JSON.stringify(data, null, 2)};export function App() {
return (
);
}
`
- queryOptions() / queryKey() for queries (get/head)mutationOptions()
- / mutationKey() for mutations (post/put/patch/delete and more)infiniteQueryOptions()
- when your input contains cursor (or query.cursor)pathFilter()
- helpers for cache invalidation and cancellationsubscriptionOptions()
- + useSubscription() for WebSocket subscriptionsinferInput
- Type helpers: , inferOutput
If you’re in the monorepo:
- Main README: README.mddocs/guide.md
- Guide: apps/react-fullstack-example`
- Example app: