Specta LogoSpecta
RspcTypescript apiTs rspc react

@rspc/react

TypeScript API reference for @rspc/react, version 0.0.0-main-333a38d4.

Public exports of @rspc/react at version 0.0.0-main-333a38d4.

This page documents 0.0.0-main-333a38d4. The documented version is 0.2.2.

Interfaces

BaseOptions

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

View source ↗

Context

interface Context<TProcedures extends ProceduresDef> {
    client: Client<TProcedures>;
    queryClient: QueryClient;
}

View source ↗

SubscriptionOptions

interface SubscriptionOptions<TOutput> {
    enabled?: boolean;
    onStarted?: () => void;
    onData: (data: TOutput) => void;
    onError?: (err: RSPCError) => void;
}

View source ↗

v2:BaseOptions

interface BaseOptions<TProcedures extends ProceduresDef> {
    rspc?: {
        client?: AlphaClient<TProcedures>;
    };
}

// Referenced local context (not public exports):
declare class AlphaClient<P extends ProceduresDef> {
    _rspc_def: ProceduresDef;
    private transport;
    private subscriptionMap;
    private onError?;
    private mapQueryKey?;
    constructor(args: ClientArgs);
    query<K extends P["queries"]["key"] & string>(keyAndInput: [
        key: K,
        ...input: _inferProcedureHandlerInput<P, "queries", K>
    ]): Promise<inferQueryResult<P, K>>;
    mutation<K extends P["mutations"]["key"] & string>(keyAndInput: [
        key: K,
        ...input: _inferProcedureHandlerInput<P, "mutations", K>
    ]): Promise<inferMutationResult<P, K>>;
    addSubscription<K extends P["subscriptions"]["key"] & string, TData = inferSubscriptionResult<P, K>>(keyAndInput: [
        K,
        ..._inferProcedureHandlerInput<P, "subscriptions", K>
// … truncated, see the source link

View source ↗

v2:Context

interface Context<TProcedures extends ProceduresDef> {
    client: AlphaClient<TProcedures>;
    queryClient: QueryClient;
}

// Referenced local context (not public exports):
declare class AlphaClient<P extends ProceduresDef> {
    _rspc_def: ProceduresDef;
    private transport;
    private subscriptionMap;
    private onError?;
    private mapQueryKey?;
    constructor(args: ClientArgs);
    query<K extends P["queries"]["key"] & string>(keyAndInput: [
        key: K,
        ...input: _inferProcedureHandlerInput<P, "queries", K>
    ]): Promise<inferQueryResult<P, K>>;
    mutation<K extends P["mutations"]["key"] & string>(keyAndInput: [
        key: K,
        ...input: _inferProcedureHandlerInput<P, "mutations", K>
    ]): Promise<inferMutationResult<P, K>>;
    addSubscription<K extends P["subscriptions"]["key"] & string, TData = inferSubscriptionResult<P, K>>(keyAndInput: [
        K,
        ..._inferProcedureHandlerInput<P, "subscriptions", K>
// … truncated, see the source link

View source ↗

v2:SubscriptionOptions

interface SubscriptionOptions<TOutput> {
    enabled?: boolean;
    onStarted?: () => void;
    onData: (data: TOutput) => void;
    onError?: (err: RSPCError) => void;
}

View source ↗

Type aliases

v2:HooksOpts

type HooksOpts<P extends ProceduresDef> = {
    context: React.Context<Context<P>>;
};

View source ↗

Functions

createReactQueryHooks

declare function createReactQueryHooks<TProceduresLike extends ProceduresLike>(): {
    _rspc_def: inferProcedures<TProceduresLike>;
    Provider: ({ children, client, queryClient, }: {
        children?: ReactElement<any, string | react.JSXElementConstructor<any>> | undefined;
        client: Client<inferProcedures<TProceduresLike>>;
        queryClient: QueryClient;
    }) => JSX.Element;
    useContext: () => Context<inferProcedures<TProceduresLike>>;
    customQuery: <TConstrainedProcedures extends ProcedureDef>(map: (key: [
        key: TConstrainedProcedures["key"],
        ...input: TConstrainedProcedures["input"]
    ]) => [
        inferProcedures<TProceduresLike>["queries"]["key"] & string,
        inferProcedures<TProceduresLike>["queries"]["input"]
    ]) => <K extends TConstrainedProcedures["key"] & string, TQueryFnData = Extract<TConstrainedProcedures, {
        key: K;
    }>["result"], TData = Extract<TConstrainedProcedures, {
        key: K;
// … truncated, see the source link

View source ↗

v2:createReactQueryHooks

declare function createReactQueryHooks<P extends ProceduresDef>(client: AlphaClient<P>, opts?: HooksOpts<P>): {
    _rspc_def: P;
    Provider: ({ children, client, queryClient, }: {
        children?: ReactElement<any, string | react.JSXElementConstructor<any>> | undefined;
        client: AlphaClient<P>;
        queryClient: QueryClient;
    }) => JSX.Element;
    useContext: () => Context<P>;
    useQuery: <K extends P["queries"]["key"] & string, TQueryFnData = inferQueryResult<P, K>, TData = inferQueryResult<P, K>>(keyAndInput: [
        key: K,
        ...input: _inferProcedureHandlerInput<P, "queries", K>
    ], opts?: (Omit<UseQueryOptions<TQueryFnData, RSPCError, TData, [
        K,
        inferQueryInput<P, K>
    ]>, "queryKey" | "queryFn"> & BaseOptions<P>) | undefined) => UseQueryResult<TData, RSPCError>;
    useMutation: <K_1 extends P["mutations"]["key"] & string, TContext = unknown>(key: K_1 | [
        K_1
// … truncated, see the source link

View source ↗

On this page