Specta LogoSpecta
RspcTypescript apiTs rspc client

@rspc/client

TypeScript API reference for @rspc/client, version 0.0.3.

Public exports of @rspc/client at version 0.0.3.

This page documents 0.0.3. The documented version is 0.3.1.

Classes

Client

declare class Client<T extends OperationsDef> {
    private transport;
    constructor(args: ClientArgs);
    query<K extends T["queries"]["key"]>(key: K, arg?: Extract<T["queries"], {
        key: K;
    }>["arg"]): Promise<Extract<T["queries"], {
        key: K;
    }>["result"]>;
    mutation<K extends T["mutations"]["key"]>(key: K, arg?: Extract<T["mutations"], {
        key: K;
    }>["arg"]): Promise<Extract<T["mutations"], {
        key: K;
    }>["result"]>;
    subscription<K extends T["subscriptions"]["key"]>(key: K, args: {
        onNext(msg: T["subscriptions"]["result"]): any;
        onError(err: any): any;
    }): Promise<void>;
}

View source ↗

FetchTransport

declare class FetchTransport implements Transport {
    private url;
    constructor(url: string);
    doRequest(operation: OperationType, key: string, arg: any): Promise<any>;
}

View source ↗

WebsocketTransport

declare class WebsocketTransport implements Transport {
    private url;
    private ws;
    private requestMap;
    constructor(url: string);
    doRequest(operation: OperationType, key: string, arg: any): Promise<any>;
}

View source ↗

Interfaces

ClientArgs

interface ClientArgs {
    transport: Transport;
}

View source ↗

Transport

interface Transport {
    doRequest(operation: OperationType, key: string, arg: any): Promise<any>;
}

View source ↗

Type aliases

OperationsDef

declare type OperationsDef = {
    queries: {
        key: string;
        arg: any;
        result: any;
    };
    mutations: {
        key: string;
        arg: any;
        result: any;
    };
    subscriptions: {
        key: string;
        result: any;
    };
};

View source ↗

OperationType

declare type OperationType = "query" | "mutation" | "subscriptionAdd" | "subscriptionRemove";

View source ↗

Functions

createClient

declare function createClient<T extends OperationsDef>(args: ClientArgs): Client<T>;

View source ↗

On this page