Specta LogoSpecta
RspcTypescript apiTs rspc query core

@rspc/query-core

TypeScript API reference for @rspc/query-core, version 0.2.4.

Generated from the published type declarations for this exact release.

Public exports of @rspc/query-core at version 0.2.4.

This page documents 0.2.4. The documented version is 0.3.1.

Interfaces

BaseOptions

export interface BaseOptions<TProcedures extends rspc.ProceduresDef> {
    rspc?: {
        client?: rspc.Client<TProcedures>;
    };
}

View source ↗

Context

export interface Context<TProcedures extends rspc.ProceduresDef> {
    client: rspc.Client<TProcedures>;
    queryClient: tanstack.QueryClient;
}

View source ↗

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>;
}

View source ↗

Type aliases

HookOptions

export type HookOptions<P extends rspc.ProceduresDef, T> = T & BaseOptions<P>;

View source ↗

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
    ]
];

View source ↗

WrapMutationOptions

export type WrapMutationOptions<P extends rspc.ProceduresDef, T> = Omit<T, "_defaulted" | "variables" | "mutationKey"> & BaseOptions<P>;

View source ↗

WrapQueryOptions

export type WrapQueryOptions<P extends rspc.ProceduresDef, T> = Omit<T, "queryKey" | "queryFn"> & BaseOptions<P>;

View source ↗

Functions

createQueryHookHelpers

export declare function createQueryHookHelpers<P extends rspc.ProceduresDef>(args: {
    useContext(): Context<P> | null;
}): {
    useContext: () => Context<P>;
    getClient: <T extends BaseOptions<P>>(opts?: T) => rspc.Client<P>;
    useClient: () => rspc.Client<P>;
    useExtractOps: <T extends BaseOptions<P>>(opts?: T) => rspc.Client<P>;
    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) => {
        queryKey: [
            key: K,
            ...input: rspc._inferProcedureHandlerInput<P, "queries", K>
        ] | [
            key: K,
            typeof tanstack.skipToken
        ];
        queryFn: symbol | (() => Promise<rspc.inferQueryResult<P, K>>);
// … truncated, see the source link

View source ↗

createRSPCQueryUtils

export declare function createRSPCQueryUtils<TProceduresLike extends rspc.ProceduresDef>(client: rspc.Client<rspc.inferProcedures<TProceduresLike>>, queryClient: tanstack.QueryClient): {
    fetch: <K extends rspc.inferProcedures<TProceduresLike>["queries"]["key"]>(queryKey: [
        key: K,
        ...input: rspc._inferProcedureHandlerInput<rspc.inferProcedures<TProceduresLike>, "queries", K>
    ], opts?: Omit<tanstack.FetchQueryOptions<rspc.inferQueryResult<rspc.inferProcedures<TProceduresLike>, K>, rspc.RSPCError, rspc.inferQueryResult<rspc.inferProcedures<TProceduresLike>, K>, [
        key: K,
        ...input: rspc._inferProcedureHandlerInput<rspc.inferProcedures<TProceduresLike>, "queries", K>
    ], never>, "queryKey" | "queryFn"> & BaseOptions<rspc.inferProcedures<TProceduresLike>>) => Promise<rspc.inferQueryResult<rspc.inferProcedures<TProceduresLike>, K>>;
    prefetch: <K extends rspc.inferProcedures<TProceduresLike>["queries"]["key"]>(queryKey: [
        key: K,
// … truncated, see the source link

View source ↗

On this page