@trpc/tanstack-react-query
Version:
TanStack React Query Integration for tRPC
71 lines • 3.16 kB
text/typescript
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