@trpc/next
Version:
31 lines • 1.36 kB
text/typescript
import { AnyRootTypes, AnyRouter } from "@trpc/server/unstable-core-do-not-import";
import { HTTPBatchLinkOptions, HTTPLinkOptions, TRPCLink } from "@trpc/client";
//#region src/app-dir/links/nextHttp.d.ts
interface NextLinkBaseOptions {
/**
* How many seconds Next.js caches a response. `false` caches it until it is
* revalidated. A call can override this with `context.revalidate`.
* @default false
*/
revalidate?: number | false;
/**
* Send each call with `httpBatchLink` instead of `httpLink`. Each call
* gets its own link, so calls aren't combined into one request.
*/
batch?: boolean;
}
type NextLinkSingleOptions<TRoot extends AnyRootTypes> = NextLinkBaseOptions & Omit<HTTPLinkOptions<TRoot>, 'fetch'> & {
batch?: false;
};
type NextLinkBatchOptions<TRoot extends AnyRootTypes> = NextLinkBaseOptions & Omit<HTTPBatchLinkOptions<TRoot>, 'fetch'> & {
batch: true;
};
/**
* A terminating link that sends calls over HTTP with Next.js cache tags, so
* they can be revalidated.
*
* @see https://trpc.io/docs/client/nextjs/app-router-setup
*/
export declare function experimental_nextHttpLink<TRouter extends AnyRouter>(opts: NextLinkSingleOptions<TRouter['_def']['_config']['$types']> | NextLinkBatchOptions<TRouter['_def']['_config']['$types']>): TRPCLink<TRouter>;
//#endregion
//# sourceMappingURL=nextHttp.d.mts.map