UNPKG

@trpc/tanstack-react-query

Version:

TanStack React Query Integration for tRPC

71 lines • 3.16 kB
import { A as FeatureFlags, O as DefaultFeatureFlags, j as KeyPrefixOptions, s as TRPCOptionsProxy } from "./createOptionsProxy-DPbXqxn8.cjs"; import { QueryClient } from "@tanstack/react-query"; import { TRPCClient } from "@trpc/client"; import { AnyTRPCRouter } from "@trpc/server"; import * as React from "react"; //#region src/internals/Context.d.ts type TRPCProviderType<TRouter extends AnyTRPCRouter, TFeatureFlags extends FeatureFlags = DefaultFeatureFlags> = React.FC<{ children: React.ReactNode; queryClient: QueryClient; trpcClient: TRPCClient<TRouter>; } & KeyPrefixOptions<TFeatureFlags>>; /** * What {@link createTRPCContext} returns. */ interface CreateTRPCContextResult<TRouter extends AnyTRPCRouter, TFeatureFlags extends FeatureFlags = DefaultFeatureFlags> { /** * Provides the tRPC client and `QueryClient` to `useTRPC` and * `useTRPCClient`. */ TRPCProvider: TRPCProviderType<TRouter, TFeatureFlags>; /** * Returns the options proxy for your router. * @see https://trpc.io/docs/client/tanstack-react-query/usage */ useTRPC: () => TRPCOptionsProxy<TRouter, TFeatureFlags>; /** * Returns the tRPC client, for calling procedures directly. * @see https://trpc.io/docs/client/tanstack-react-query/usage#useTRPCClient */ useTRPCClient: () => TRPCClient<TRouter>; } /** * Creates a `TRPCProvider` and the `useTRPC` and `useTRPCClient` hooks for * your router. * * @example * ```ts * export const { TRPCProvider, useTRPC, useTRPCClient } = * createTRPCContext<AppRouter>(); * ``` * * @see https://trpc.io/docs/client/tanstack-react-query/setup#3a-set-up-the-trpc-context-provider */ declare function createTRPCContext<TRouter extends AnyTRPCRouter, TFeatureFlags extends FeatureFlags = DefaultFeatureFlags>(): CreateTRPCContextResult<TRouter, TFeatureFlags>; //#endregion //#region src/internals/HydrateClient.d.ts /** The props of the component `unstable_createHydrateClient` returns. */ interface unstable_HydrateClientProps { /** Rendered inside the hydration boundary. */ children?: React.ReactNode; } /** * Create a `HydrateClient` server component for the request's `QueryClient`. * It sends the queries started so far in this request to the browser, * pending ones as promises that stream in as they settle. A query an earlier * `HydrateClient` already sent is skipped, so nesting them is fine. * * React Server Components only: the package resolves to the server build * through the `react-server` export condition. * * @see https://trpc.io/docs/client/tanstack-react-query/handles#hydrate-client */ declare function unstable_createHydrateClient(_queryClient: QueryClient | (() => QueryClient)): React.FC<unstable_HydrateClientProps>; /** * `unstable_createHydrateClient` for the `react-server` export condition. * @internal */ declare function createHydrateClientReactServer(queryClient: QueryClient | (() => QueryClient)): React.FC<unstable_HydrateClientProps>; //#endregion export { createTRPCContext as i, unstable_HydrateClientProps as n, unstable_createHydrateClient as r, createHydrateClientReactServer as t }; //# sourceMappingURL=index-D9Nc91C9.d.cts.map