UNPKG

@trpc/react-query

Version:

The tRPC React library

31 lines 2.03 kB
import type { DehydratedState, DehydrateOptions, QueryClient } from '@tanstack/react-query'; import type { TRPCClient } from '@trpc/client'; import { TRPCUntypedClient } from '@trpc/client'; import { type TransformerOptions } from '@trpc/client/unstable-internals'; import type { AnyQueryProcedure, AnyRootTypes, AnyRouter, inferClientTypes, inferRouterContext, ProtectedIntersection, RouterRecord } from '@trpc/server/unstable-core-do-not-import'; import type { CreateTRPCReactQueryClientConfig, DecorateQueryProcedure } from '../shared'; type CreateSSGHelpersInternal<TRouter extends AnyRouter> = { router: TRouter; ctx: inferRouterContext<TRouter>; } & TransformerOptions<inferClientTypes<TRouter>>; interface CreateSSGHelpersExternal<TRouter extends AnyRouter> { client: TRPCClient<TRouter> | TRPCUntypedClient<TRouter>; } type CreateServerSideHelpersOptions<TRouter extends AnyRouter> = CreateTRPCReactQueryClientConfig & (CreateSSGHelpersExternal<TRouter> | CreateSSGHelpersInternal<TRouter>); type SSGFns = 'queryOptions' | 'infiniteQueryOptions' | 'fetch' | 'fetchInfinite' | 'prefetch' | 'prefetchInfinite'; /** * @internal */ type DecoratedProcedureSSGRecord<TRoot extends AnyRootTypes, TRecord extends RouterRecord> = { [TKey in keyof TRecord]: TRecord[TKey] extends infer $Value ? $Value extends AnyQueryProcedure ? Pick<DecorateQueryProcedure<TRoot, $Value>, SSGFns> : $Value extends RouterRecord ? DecoratedProcedureSSGRecord<TRoot, $Value> : never : never; }; /** * Create functions you can use for server-side rendering / static generation * @see https://trpc.io/docs/v11/client/nextjs/server-side-helpers */ export declare function createServerSideHelpers<TRouter extends AnyRouter>(opts: CreateServerSideHelpersOptions<TRouter>): ProtectedIntersection<{ queryClient: QueryClient; dehydrate: (opts?: DehydrateOptions) => DehydratedState; }, DecoratedProcedureSSGRecord<TRouter["_def"]["_config"]["$types"], TRouter["_def"]["record"]>>; export {}; //# sourceMappingURL=ssgProxy.d.ts.map