@rspc/tanstack-query
TypeScript API reference for @rspc/tanstack-query, version unreleased-30402a42a6a5.
unreleased-30402a42a6a5
Generated from a pinned source commit, not a published npm release. This snapshot is deliberately pinned rather than following the branch.
Public exports of @rspc/tanstack-query at version unreleased-30402a42a6a5.
Unreleased source snapshot of packages/tanstack-query at commit 30402a42a6a523e0a76d23f3b7ce80903386a98d; not a published npm version. The directory is documented as @rspc/tanstack-query, but its source package.json declares @rspc/query-core. Signatures preserve actual public source, including implementation bodies; they are not fabricated declaration output.
Interfaces
BaseOptions
export interface BaseOptions<TProcedures extends rspc.ProceduresDef> {
rspc?: {
client?: rspc.Client<TProcedures>;
};
}
The directory is documented as @rspc/tanstack-query, but its source package.json declares @rspc/query-core. Signatures preserve actual public source, including implementation bodies; they are not fabricated declaration output.
Context
export interface Context<TProcedures extends rspc.ProceduresDef> {
client: rspc.Client<TProcedures>;
queryClient: tanstack.QueryClient;
}
The directory is documented as @rspc/tanstack-query, but its source package.json declares @rspc/query-core. Signatures preserve actual public source, including implementation bodies; they are not fabricated declaration output.
SubscriptionOptions
export interface SubscriptionOptions<P extends rspc.ProceduresDef, K extends rspc.inferSubscriptions<P>["key"] & string> extends rspc.SubscriptionOptions<rspc.inferSubscriptionResult<P, K>> {
enabled?: boolean;
client?: rspc.Client<P>;
}
The directory is documented as @rspc/tanstack-query, but its source package.json declares @rspc/query-core. Signatures preserve actual public source, including implementation bodies; they are not fabricated declaration output.
Type aliases
HookOptions
export type HookOptions<P extends rspc.ProceduresDef, T> = T & BaseOptions<P>;
The directory is documented as @rspc/tanstack-query, but its source package.json declares @rspc/query-core. Signatures preserve actual public source, including implementation bodies; they are not fabricated declaration output.
KeyAndInputSkipToken
export type KeyAndInputSkipToken<P extends rspc.ProceduresDef, K extends rspc.inferQueries<P>["key"] & string, O extends keyof rspc.ProceduresDef = "queries"> = [
key: K,
...input: rspc._inferProcedureHandlerInput<P, O, K> | [
tanstack.SkipToken
]
];
The directory is documented as @rspc/tanstack-query, but its source package.json declares @rspc/query-core. Signatures preserve actual public source, including implementation bodies; they are not fabricated declaration output.
WrapMutationOptions
export type WrapMutationOptions<P extends rspc.ProceduresDef, T> = Omit<T, "_defaulted" | "variables" | "mutationKey"> & BaseOptions<P>;
The directory is documented as @rspc/tanstack-query, but its source package.json declares @rspc/query-core. Signatures preserve actual public source, including implementation bodies; they are not fabricated declaration output.
WrapQueryOptions
export type WrapQueryOptions<P extends rspc.ProceduresDef, T> = Omit<T, "queryKey" | "queryFn"> & BaseOptions<P>;
The directory is documented as @rspc/tanstack-query, but its source package.json declares @rspc/query-core. Signatures preserve actual public source, including implementation bodies; they are not fabricated declaration output.
Functions
createQueryHookHelpers
export function createQueryHookHelpers<P extends rspc.ProceduresDef>(args: {
useContext(): Context<P> | null;
}) {
type TBaseOptions = BaseOptions<P>;
function useContext() {
const ctx = args.useContext();
if (!ctx)
throw new Error("rspc context provider not found!");
return ctx;
}
function useClient() {
return useContext().client;
}
function getClient<T extends TBaseOptions>(opts?: T) {
return opts?.rspc?.client ?? useClient();
}
function useQueryArgs<K extends rspc.inferQueries<P>["key"] & string, O extends WrapQueryOptions<P, tanstack.QueryObserverOptions<rspc.inferQueryResult<P, K>, rspc.RSPCError, rspc.inferQueryResult<P, K>, rspc.inferQueryResult<P, K>, KeyAndInputSkipToken<P, K>>>>(keyAndInput: KeyAndInputSkipToken<P, K>, opts?: O) {
const client = getClient(opts);
const [key, ...input] = keyAndInput;
return {
...opts,
queryKey: keyAndInput,
// … truncated, see the source link
The directory is documented as @rspc/tanstack-query, but its source package.json declares @rspc/query-core. Signatures preserve actual public source, including implementation bodies; they are not fabricated declaration output.
createRSPCQueryUtils
export function createRSPCQueryUtils<TProceduresLike extends rspc.ProceduresDef>(client: rspc.Client<rspc.inferProcedures<TProceduresLike>>, queryClient: tanstack.QueryClient) {
type TProcedures = rspc.inferProcedures<TProceduresLike>;
type TBaseOptions = BaseOptions<TProcedures>;
type QueryKey<K extends string, TProcedures extends rspc.ProceduresLike> = [
key: K,
...input: rspc._inferProcedureHandlerInput<TProcedures, "queries", K>
];
type AllowedKeys = TProcedures["queries"]["key"] & string;
type RSPCOptions<T> = Omit<T, "queryKey" | "queryFn"> & TBaseOptions;
type RSPCFetchQueryOptions<K extends string, TData = rspc.inferQueryResult<TProcedures, K>> = RSPCOptions<tanstack.FetchQueryOptions<TData, rspc.RSPCError, TData, QueryKey<K, TProcedures>>>;
// … truncated, see the source link
The directory is documented as @rspc/tanstack-query, but its source package.json declares @rspc/query-core. Signatures preserve actual public source, including implementation bodies; they are not fabricated declaration output.
createTanstackQueryProxy
export function createTanstackQueryProxy<TProceduresLike extends rspc.ProceduresDef, TTanstack extends {
queryOptions: (options: any) => any;
infiniteQueryOptions: (options: any) => any;
}>() {
type TProcedures = rspc.inferProcedures<TProceduresLike>;
return function (args: {
queryOptions: TTanstack["queryOptions"];
infiniteQueryOptions: TTanstack["infiniteQueryOptions"];
}) {
return {
// queryOptions: args.queryOptions,
// mutationOptions: (): => {},
};
};
}
The directory is documented as @rspc/tanstack-query, but its source package.json declares @rspc/query-core. Signatures preserve actual public source, including implementation bodies; they are not fabricated declaration output.
