Latest Threat Research:SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains.Details
Socket
Book a DemoInstallSign in
Socket

@trpc/client

Package Overview
Dependencies
Maintainers
3
Versions
1313
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@trpc/client - npm Package Compare versions

Comparing version
11.8.1
to
11.8.2-canary.3
+33
dist/httpBatchLink.d-B0jS5RCU.d.mts
import { HTTPHeaders, NonEmptyArray, Operation, TRPCLink } from "./types.d-CAt1zKAY.mjs";
import { HTTPLinkBaseOptions } from "./httpUtils.d-akze5l4u.mjs";
import { AnyClientTypes } from "@trpc/server/unstable-core-do-not-import";
import { AnyRouter as AnyRouter$1 } from "@trpc/server";
//#region src/links/HTTPBatchLinkOptions.d.ts
type HTTPBatchLinkOptions<TRoot extends AnyClientTypes> = HTTPLinkBaseOptions<TRoot> & {
maxURLLength?: number;
/**
* Headers to be set on outgoing requests or a callback that of said headers
* @see http://trpc.io/docs/client/headers
*/
headers?: HTTPHeaders | ((opts: {
opList: NonEmptyArray<Operation>;
}) => HTTPHeaders | Promise<HTTPHeaders>);
/**
* Maximum number of calls in a single batch request
* @default Infinity
*/
maxItems?: number;
};
//# sourceMappingURL=HTTPBatchLinkOptions.d.ts.map
//#endregion
//#region src/links/httpBatchLink.d.ts
/**
* @see https://trpc.io/docs/client/links/httpBatchLink
*/
declare function httpBatchLink<TRouter extends AnyRouter$1>(opts: HTTPBatchLinkOptions<TRouter['_def']['_config']['$types']>): TRPCLink<TRouter>;
//# sourceMappingURL=httpBatchLink.d.ts.map
//#endregion
export { HTTPBatchLinkOptions, httpBatchLink };
//# sourceMappingURL=httpBatchLink.d-B0jS5RCU.d.mts.map
{"version":3,"file":"httpBatchLink.d-B0jS5RCU.d.mts","names":[],"sources":["../src/links/HTTPBatchLinkOptions.ts","../src/links/httpBatchLink.ts"],"sourcesContent":[],"mappings":";;;;;;KAKY,mCAAmC,kBAC7C,oBAAoB;;EADV;;;;EACe,OAAzB,CAAA,EAOM,WAPN,GAAA,CAAA,CAAA,IAAA,EAAA;IAOM,MAAA,EAEU,aAFV,CAEwB,SAFxB,CAAA;EAAW,CAAA,EAEa,GAClB,WADkB,GACJ,OADI,CACI,WADJ,CAAA,CAAA;EAAS;;;;EACN,QAAA,CAAA,EAAA,MAAA;;;;;;;;AAXvB,iBCeI,aDfgB,CAAA,gBCec,WDfd,CAAA,CAAA,IAAA,ECgBxB,oBDhBwB,CCgBH,ODhBG,CAAA,MAAA,CAAA,CAAA,SAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,ECiB7B,QDjB6B,CCiBpB,ODjBoB,CAAA"}
import { HTTPHeaders, Operation, TRPCLink } from "./types.d-CAt1zKAY.mjs";
import { HTTPLinkBaseOptions } from "./httpUtils.d-akze5l4u.mjs";
import { AnyClientTypes, AnyRouter } from "@trpc/server/unstable-core-do-not-import";
//#region src/links/httpLink.d.ts
type HTTPLinkOptions<TRoot extends AnyClientTypes> = HTTPLinkBaseOptions<TRoot> & {
/**
* Headers to be set on outgoing requests or a callback that of said headers
* @see http://trpc.io/docs/client/headers
*/
headers?: HTTPHeaders | ((opts: {
op: Operation;
}) => HTTPHeaders | Promise<HTTPHeaders>);
};
/**
* @see https://trpc.io/docs/client/links/httpLink
*/
declare function httpLink<TRouter extends AnyRouter = AnyRouter>(opts: HTTPLinkOptions<TRouter['_def']['_config']['$types']>): TRPCLink<TRouter>;
//# sourceMappingURL=httpLink.d.ts.map
//#endregion
export { HTTPLinkOptions, httpLink };
//# sourceMappingURL=httpLink.d-BEC5B7OH.d.mts.map
{"version":3,"file":"httpLink.d-BEC5B7OH.d.mts","names":[],"sources":["../src/links/httpLink.ts"],"sourcesContent":[],"mappings":";;;;;KA0BY,8BAA8B,kBACxC,oBAAoB;;AADtB;;;EAAwD,OAClC,CAAA,EAMd,WANc,GAAA,CAAA,CAAA,IAAA,EAAA;IAApB,EAAA,EAOoB,SAPpB;EAAmB,CAAA,EAMb,GAC8B,WAD9B,GAC4C,OAD5C,CACoD,WADpD,CAAA,CAAA;CAAW;;;;AACwC,iBAwC3C,QAxC2C,CAAA,gBAwClB,SAxCkB,GAwCN,SAxCM,CAAA,CAAA,IAAA,EAyCnD,eAzCmD,CAyCnC,OAzCmC,CAAA,MAAA,CAAA,CAAA,SAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,EA0CxD,QA1CwD,CA0C/C,OA1C+C,CAAA;AAwC3D"}
import { FetchEsque } from "./types.d-CAt1zKAY.mjs";
import { TransformerOptions } from "./unstable-internals.d-BOmV7EK1.mjs";
import { AnyClientTypes, CombinedDataTransformer, Maybe, ProcedureType } from "@trpc/server/unstable-core-do-not-import";
//#region src/links/internals/httpUtils.d.ts
/**
* @internal
*/
type HTTPLinkBaseOptions<TRoot extends Pick<AnyClientTypes, 'transformer'>> = {
url: string | URL;
/**
* Add ponyfill for fetch
*/
fetch?: FetchEsque;
/**
* Send all requests `as POST`s requests regardless of the procedure type
* The HTTP handler must separately allow overriding the method. See:
* @see https://trpc.io/docs/rpc
*/
methodOverride?: 'POST';
} & TransformerOptions<TRoot>;
//#endregion
export { HTTPLinkBaseOptions };
//# sourceMappingURL=httpUtils.d-akze5l4u.d.mts.map
{"version":3,"file":"httpUtils.d-akze5l4u.d.mts","names":[],"sources":["../src/links/internals/httpUtils.ts"],"sourcesContent":[],"mappings":";;;;;;;AAqBA;;AACqB,KADT,mBACS,CAAA,cAAL,IAAK,CAAA,cAAA,EAAA,aAAA,CAAA,CAAA,GAAA;EAAc,GAAnB,EAAA,MAAA,GAEA,GAFA;EAAI;;;EAaQ,KAAxB,CAAA,EAPM,UAON;EAAkB;;;;;;IAAlB,mBAAmB"}
import { Operation, OperationResultEnvelope, TRPCClientError, TRPCLink } from "./types.d-CAt1zKAY.mjs";
import { AnyRouter, InferrableClientTypes } from "@trpc/server/unstable-core-do-not-import";
//#region src/links/loggerLink.d.ts
type ConsoleEsque = {
log: (...args: any[]) => void;
error: (...args: any[]) => void;
};
type EnableFnOptions<TRouter extends InferrableClientTypes> = {
direction: 'down';
result: OperationResultEnvelope<unknown, TRPCClientError<TRouter>> | TRPCClientError<TRouter>;
} | (Operation & {
direction: 'up';
});
type EnabledFn<TRouter extends AnyRouter> = (opts: EnableFnOptions<TRouter>) => boolean;
type LoggerLinkFnOptions<TRouter extends AnyRouter> = Operation & ({
/**
* Request result
*/
direction: 'down';
result: OperationResultEnvelope<unknown, TRPCClientError<TRouter>> | TRPCClientError<TRouter>;
elapsedMs: number;
} | {
/**
* Request was just initialized
*/
direction: 'up';
});
type LoggerLinkFn<TRouter extends AnyRouter> = (opts: LoggerLinkFnOptions<TRouter>) => void;
type ColorMode = 'ansi' | 'css' | 'none';
interface LoggerLinkOptions<TRouter extends AnyRouter> {
logger?: LoggerLinkFn<TRouter>;
enabled?: EnabledFn<TRouter>;
/**
* Used in the built-in defaultLogger
*/
console?: ConsoleEsque;
/**
* Color mode
* @default typeof window === 'undefined' ? 'ansi' : 'css'
*/
colorMode?: ColorMode;
/**
* Include context in the log - defaults to false unless `colorMode` is 'css'
*/
withContext?: boolean;
}
/**
* @see https://trpc.io/docs/v11/client/links/loggerLink
*/
declare function loggerLink<TRouter extends AnyRouter = AnyRouter>(opts?: LoggerLinkOptions<TRouter>): TRPCLink<TRouter>;
//#endregion
export { LoggerLinkOptions, loggerLink };
//# sourceMappingURL=loggerLink.d-B_ylo7O3.d.mts.map
{"version":3,"file":"loggerLink.d-B_ylo7O3.d.mts","names":[],"sources":["../src/links/loggerLink.ts"],"sourcesContent":[],"mappings":";;;;KAeK,YAAA;EAAA,GAAA,EAAA,CAAA,GAAA,IAAA,EAAY,GAAA,EAAA,EAAA,GAAA,IAAA;EAKZ,KAAA,EAAA,CAAA,GAAA,IAAA,EAAA,GAAe,EAAA,EAAA,GAAA,IAAA;CAAA;KAAf,eAAgC,CAAA,gBAAA,qBAAA,CAAA,GAAA;EAAqB,SAIC,EAAA,MAAA;EAAO,MAAvB,EAAjC,uBAAiC,CAAA,OAAA,EAAA,eAAA,CAAgB,OAAhB,CAAA,CAAA,GACjC,eADiC,CACjB,OADiB,CAAA;CAAe,GAAA,CAGrD,SAHK,GAAA;EAAuB,SACP,EAAA,IAAA;CAAO,CAAA;KAK5B,SAHA,CAAA,gBAG0B,SAH1B,CAAA,GAAA,CAAA,IAAA,EAIG,eAJH,CAImB,OAJnB,CAAA,EAAA,GAAA,OAAA;AAAS,KAOT,mBAPS,CAAA,gBAO2B,SAP3B,CAAA,GAOwC,SAPxC,GAAA,CAAA;EAGT;;;EAAmC,SAChB,EAAA,MAAA;EAAO,MAAvB,EAWI,uBAXJ,CAAA,OAAA,EAWqC,eAXrC,CAWqD,OAXrD,CAAA,CAAA,GAYI,eAZJ,CAYoB,OAZpB,CAAA;EAAe,SAAA,EAAA,MAAA;AAAA,CAAA,GAGlB;EAAmB;;;EAAuC,SAQF,EAAA,IAAA;CAAO,CAAA;KAY/D,YAZO,CAAA,gBAYsB,SAZtB,CAAA,GAAA,CAAA,IAAA,EAaJ,mBAbI,CAagB,OAbhB,CAAA,EAAA,GAAA,IAAA;KAgBP,SAAA,GAfuB,MAAA,GAAA,KAAA,GAAA,MAAA;AAAhB,UAiBK,iBAjBL,CAAA,gBAiBuC,SAjBvC,CAAA,CAAA;EAAe,MAAA,CAAA,EAkBhB,YAlBgB,CAkBH,OAlBG,CAAA;EAWtB,OAAA,CAAA,EAQO,SARK,CAQK,OARL,CAAA;EAAA;;;EACkB,OAA3B,CAAA,EAWI,YAXJ;EAAmB;AAAA;AAK3B;;EAAkC,SAAiB,CAAA,EAWrC,SAXqC;EAAS;;;EAE/B,WAAjB,CAAA,EAAA,OAAA;;;AASW;AA8IvB;AAA0B,iBAAV,UAAU,CAAA,gBAAiB,SAAjB,GAA6B,SAA7B,CAAA,CAAA,IAAA,CAAA,EAClB,iBADkB,CACA,OADA,CAAA,CAAA,EAEvB,QAFuB,CAEd,OAFc,CAAA"}
import { Operation, TRPCLink } from "./types.d-CAt1zKAY.mjs";
import { AnyRouter } from "@trpc/server/unstable-core-do-not-import";
//#region src/links/splitLink.d.ts
declare function splitLink<TRouter extends AnyRouter = AnyRouter>(opts: {
condition: (op: Operation) => boolean;
/**
* The link to execute next if the test function returns `true`.
*/
true: TRPCLink<TRouter> | TRPCLink<TRouter>[];
/**
* The link to execute next if the test function returns `false`.
*/
false: TRPCLink<TRouter> | TRPCLink<TRouter>[];
}): TRPCLink<TRouter>;
//# sourceMappingURL=splitLink.d.ts.map
//#endregion
export { splitLink };
//# sourceMappingURL=splitLink.d-Df2gT0RV.d.mts.map
{"version":3,"file":"splitLink.d-Df2gT0RV.d.mts","names":[],"sources":["../src/links/splitLink.ts"],"sourcesContent":[],"mappings":";;;;iBAQgB,0BAA0B,YAAY;kBACpC;EADF;;;EAAmC,IAAG,EAK9C,QAL8C,CAKrC,OALqC,CAAA,GAK1B,QAL0B,CAKjB,OALiB,CAAA,EAAA;EAAS;;;EAK/C,KAAqB,EAI5B,QAJ4B,CAInB,OAJmB,CAAA,GAIR,QAJQ,CAIC,OAJD,CAAA,EAAA;CAAO,CAAA,EAKxC,QALwB,CAKf,OALe,CAAA"}
import { TRPCConnectionState } from "./subscriptions.d-Dlr1nWGD.mjs";
import { Observable, Observer } from "@trpc/server/observable";
import { DefaultErrorShape, InferrableClientTypes, Maybe, TRPCErrorResponse, TRPCResultMessage, TRPCSuccessResponse, inferClientTypes } from "@trpc/server/unstable-core-do-not-import";
//#region src/internals/types.d.ts
/**
* A subset of the standard fetch function type needed by tRPC internally.
* @see fetch from lib.dom.d.ts
* @remarks
* If you need a property that you know exists but doesn't exist on this
* interface, go ahead and add it.
*/
type FetchEsque = (input: RequestInfo | URL | string, init?: RequestInit | RequestInitEsque) => Promise<ResponseEsque>;
/**
* A simpler version of the native fetch function's type for packages with
* their own fetch types, such as undici and node-fetch.
*/
type NativeFetchEsque = (url: URL | string, init?: NodeFetchRequestInitEsque) => Promise<ResponseEsque>;
interface NodeFetchRequestInitEsque {
body?: string;
}
/**
* A subset of the standard RequestInit properties needed by tRPC internally.
* @see RequestInit from lib.dom.d.ts
* @remarks
* If you need a property that you know exists but doesn't exist on this
* interface, go ahead and add it.
*/
interface RequestInitEsque {
/**
* Sets the request's body.
*/
body?: FormData | string | null | Uint8Array<ArrayBuffer> | Blob | File;
/**
* Sets the request's associated headers.
*/
headers?: [string, string][] | Record<string, string>;
/**
* The request's HTTP-style method.
*/
method?: string;
/**
* Sets the request's signal.
*/
signal?: AbortSignal | undefined;
}
/**
* A subset of the standard ReadableStream properties needed by tRPC internally.
* @see ReadableStream from lib.dom.d.ts
*/
type WebReadableStreamEsque = {
getReader: () => ReadableStreamDefaultReader<Uint8Array>;
};
type NodeJSReadableStreamEsque = {
on(eventName: string | symbol, listener: (...args: any[]) => void): NodeJSReadableStreamEsque;
};
/**
* A subset of the standard Response properties needed by tRPC internally.
* @see Response from lib.dom.d.ts
*/
interface ResponseEsque {
readonly body?: NodeJSReadableStreamEsque | WebReadableStreamEsque | null;
/**
* @remarks
* The built-in Response::json() method returns Promise<any>, but
* that's not as type-safe as unknown. We use unknown because we're
* more type-safe. You do want more type safety, right? 😉
*/
json(): Promise<unknown>;
}
/**
* @internal
*/
type NonEmptyArray<TItem> = [TItem, ...TItem[]];
type ClientContext = Record<string, unknown>;
/**
* @public
*/
interface TRPCProcedureOptions {
/**
* Client-side context
*/
context?: ClientContext;
signal?: AbortSignal;
}
//#endregion
//#region src/TRPCClientError.d.ts
type inferErrorShape<TInferrable extends InferrableClientTypes> = inferClientTypes<TInferrable>['errorShape'];
interface TRPCClientErrorBase<TShape extends DefaultErrorShape> {
readonly message: string;
readonly shape: Maybe<TShape>;
readonly data: Maybe<TShape['data']>;
}
type TRPCClientErrorLike<TInferrable extends InferrableClientTypes> = TRPCClientErrorBase<inferErrorShape<TInferrable>>;
declare function isTRPCClientError<TInferrable extends InferrableClientTypes>(cause: unknown): cause is TRPCClientError<TInferrable>;
declare class TRPCClientError<TRouterOrProcedure extends InferrableClientTypes> extends Error implements TRPCClientErrorBase<inferErrorShape<TRouterOrProcedure>> {
readonly cause: Error | undefined;
readonly shape: Maybe<inferErrorShape<TRouterOrProcedure>>;
readonly data: Maybe<inferErrorShape<TRouterOrProcedure>['data']>;
/**
* Additional meta data about the error
* In the case of HTTP-errors, we'll have `response` and potentially `responseJSON` here
*/
meta: Record<string, unknown> | undefined;
constructor(message: string, opts?: {
result?: Maybe<TRPCErrorResponse<inferErrorShape<TRouterOrProcedure>>>;
cause?: Error;
meta?: Record<string, unknown>;
});
static from<TRouterOrProcedure extends InferrableClientTypes>(_cause: Error | TRPCErrorResponse<any> | object, opts?: {
meta?: Record<string, unknown>;
}): TRPCClientError<TRouterOrProcedure>;
}
//#endregion
//#region src/links/internals/contentTypes.d.ts
declare function isOctetType(input: unknown): input is Uint8Array<ArrayBuffer> | Blob;
declare function isFormData(input: unknown): input is FormData;
declare function isNonJsonSerializable(input: unknown): input is Blob | FormData | Uint8Array<ArrayBuffer>;
//# sourceMappingURL=contentTypes.d.ts.map
//#endregion
//#region src/links/types.d.ts
/**
* @internal
*/
interface OperationContext extends Record<string, unknown> {}
/**
* @internal
*/
type Operation<TInput = unknown> = {
id: number;
type: 'mutation' | 'query' | 'subscription';
input: TInput;
path: string;
context: OperationContext;
signal: Maybe<AbortSignal>;
};
interface HeadersInitEsque {
[Symbol.iterator](): IterableIterator<[string, string]>;
}
/**
* @internal
*/
type HTTPHeaders = HeadersInitEsque | Record<string, string[] | string | undefined>;
/**
* The default `fetch` implementation has an overloaded signature. By convention this library
* only uses the overload taking a string and options object.
*/
type TRPCFetch = (url: string, options?: RequestInit) => Promise<ResponseEsque>;
interface TRPCClientRuntime {}
/**
* @internal
*/
interface OperationResultEnvelope<TOutput, TError> {
result: TRPCResultMessage<TOutput>['result'] | TRPCSuccessResponse<TOutput>['result'] | TRPCConnectionState<TError>;
context?: OperationContext;
}
/**
* @internal
*/
type OperationResultObservable<TInferrable extends InferrableClientTypes, TOutput> = Observable<OperationResultEnvelope<TOutput, TRPCClientError<TInferrable>>, TRPCClientError<TInferrable>>;
/**
* @internal
*/
type OperationResultObserver<TInferrable extends InferrableClientTypes, TOutput> = Observer<OperationResultEnvelope<TOutput, TRPCClientError<TInferrable>>, TRPCClientError<TInferrable>>;
/**
* @internal
*/
type OperationLink<TInferrable extends InferrableClientTypes, TInput = unknown, TOutput = unknown> = (opts: {
op: Operation<TInput>;
next: (op: Operation<TInput>) => OperationResultObservable<TInferrable, TOutput>;
}) => OperationResultObservable<TInferrable, TOutput>;
/**
* @public
*/
type TRPCLink<TInferrable extends InferrableClientTypes> = (opts: TRPCClientRuntime) => OperationLink<TInferrable>;
//# sourceMappingURL=types.d.ts.map
//#endregion
export { FetchEsque, HTTPHeaders, NativeFetchEsque, NonEmptyArray, Operation, OperationContext, OperationLink, OperationResultEnvelope, OperationResultObservable, OperationResultObserver, TRPCClientError, TRPCClientErrorBase, TRPCClientErrorLike, TRPCClientRuntime, TRPCFetch, TRPCLink, TRPCProcedureOptions, isFormData, isNonJsonSerializable, isOctetType, isTRPCClientError };
//# sourceMappingURL=types.d-CAt1zKAY.d.mts.map
{"version":3,"file":"types.d-CAt1zKAY.d.mts","names":[],"sources":["../src/internals/types.ts","../src/TRPCClientError.ts","../src/links/internals/contentTypes.ts","../src/links/types.ts"],"sourcesContent":[],"mappings":"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"}
import { TRPCConnectionState } from "./subscriptions.d-Dlr1nWGD.mjs";
import { Operation, OperationResultEnvelope, TRPCClientError, TRPCLink } from "./types.d-CAt1zKAY.mjs";
import { TransformerOptions } from "./unstable-internals.d-BOmV7EK1.mjs";
import * as _trpc_server_observable0 from "@trpc/server/observable";
import { BehaviorSubject } from "@trpc/server/observable";
import { AnyRouter, CombinedDataTransformer, inferClientTypes } from "@trpc/server/unstable-core-do-not-import";
import { AnyTRPCRouter } from "@trpc/server";
import { TRPCRequestInfo } from "@trpc/server/http";
//#region src/links/internals/urlWithConnectionParams.d.ts
/**
* A value that can be wrapped in callback
*/
type CallbackOrValue<T> = T | (() => T | Promise<T>);
interface UrlOptionsWithConnectionParams {
/**
* The URL to connect to (can be a function that returns a URL)
*/
url: CallbackOrValue<string>;
/**
* Connection params that are available in `createContext()`
* - For `wsLink`/`wsClient`, these are sent as the first message
* - For `httpSubscriptionLink`, these are serialized as part of the URL under the `connectionParams` query
*/
connectionParams?: CallbackOrValue<TRPCRequestInfo['connectionParams']>;
}
//# sourceMappingURL=urlWithConnectionParams.d.ts.map
//#endregion
//#region src/links/wsLink/wsClient/options.d.ts
interface WebSocketClientOptions extends UrlOptionsWithConnectionParams {
/**
* Ponyfill which WebSocket implementation to use
*/
WebSocket?: typeof WebSocket;
/**
* The number of milliseconds before a reconnect is attempted.
* @default {@link exponentialBackoff}
*/
retryDelayMs?: (attemptIndex: number) => number;
/**
* Triggered when a WebSocket connection is established
*/
onOpen?: () => void;
/**
* Triggered when a WebSocket connection encounters an error
*/
onError?: (evt?: Event) => void;
/**
* Triggered when a WebSocket connection is closed
*/
onClose?: (cause?: {
code?: number;
}) => void;
/**
* Lazy mode will close the WebSocket automatically after a period of inactivity (no messages sent or received and no pending requests)
*/
lazy?: {
/**
* Enable lazy mode
* @default false
*/
enabled: boolean;
/**
* Close the WebSocket after this many milliseconds
* @default 0
*/
closeMs: number;
};
/**
* Send ping messages to the server and kill the connection if no pong message is returned
*/
keepAlive?: {
/**
* @default false
*/
enabled: boolean;
/**
* Send a ping message every this many milliseconds
* @default 5_000
*/
intervalMs?: number;
/**
* Close the WebSocket after this many milliseconds if the server does not respond
* @default 1_000
*/
pongTimeoutMs?: number;
};
}
/**
* Default options for lazy WebSocket connections.
* Determines whether the connection should be established lazily and defines the delay before closure.
*/
//#endregion
//#region src/links/wsLink/wsClient/wsClient.d.ts
/**
* A WebSocket client for managing TRPC operations, supporting lazy initialization,
* reconnection, keep-alive, and request management.
*/
declare class WsClient {
/**
* Observable tracking the current connection state, including errors.
*/
readonly connectionState: BehaviorSubject<TRPCConnectionState<TRPCClientError<AnyTRPCRouter>>>;
private allowReconnect;
private requestManager;
private readonly activeConnection;
private readonly reconnectRetryDelay;
private inactivityTimeout;
private readonly callbacks;
private readonly lazyMode;
constructor(opts: WebSocketClientOptions);
/**
* Opens the WebSocket connection. Handles reconnection attempts and updates
* the connection state accordingly.
*/
private open;
/**
* Closes the WebSocket connection and stops managing requests.
* Ensures all outgoing and pending requests are properly finalized.
*/
close(): Promise<void>;
/**
* Method to request the server.
* Handles data transformation, batching of requests, and subscription lifecycle.
*
* @param op - The operation details including id, type, path, input and signal
* @param transformer - Data transformer for serializing requests and deserializing responses
* @param lastEventId - Optional ID of the last received event for subscriptions
*
* @returns An observable that emits operation results and handles cleanup
*/
request({
op: {
id,
type,
path,
input,
signal
},
transformer,
lastEventId
}: {
op: Pick<Operation, 'id' | 'type' | 'path' | 'input' | 'signal'>;
transformer: CombinedDataTransformer;
lastEventId?: string;
}): _trpc_server_observable0.Observable<OperationResultEnvelope<unknown, TRPCClientError<AnyTRPCRouter>>, TRPCClientError<AnyTRPCRouter>>;
get connection(): {
readonly id: number;
readonly state: "open";
readonly ws: WebSocket;
} | {
readonly id: number;
readonly state: "closed";
readonly ws: WebSocket;
} | {
readonly id: number;
readonly state: "connecting";
readonly ws: WebSocket;
} | null;
/**
* Manages the reconnection process for the WebSocket using retry logic.
* Ensures that only one reconnection attempt is active at a time by tracking the current
* reconnection state in the `reconnecting` promise.
*/
private reconnecting;
private reconnect;
private setupWebSocketListeners;
private handleResponseMessage;
private handleIncomingRequest;
/**
* Sends a message or batch of messages directly to the server.
*/
private send;
/**
* Groups requests for batch sending.
*
* @returns A function to abort the batched request.
*/
private batchSend;
}
//# sourceMappingURL=wsClient.d.ts.map
//#endregion
//#region src/links/wsLink/createWsClient.d.ts
declare function createWSClient(opts: WebSocketClientOptions): WsClient;
type TRPCWebSocketClient = ReturnType<typeof createWSClient>;
//#endregion
//#region src/links/wsLink/wsLink.d.ts
type WebSocketLinkOptions<TRouter extends AnyRouter> = {
client: TRPCWebSocketClient;
} & TransformerOptions<inferClientTypes<TRouter>>;
declare function wsLink<TRouter extends AnyRouter>(opts: WebSocketLinkOptions<TRouter>): TRPCLink<TRouter>;
//#endregion
export { TRPCWebSocketClient, UrlOptionsWithConnectionParams, WebSocketClientOptions, WebSocketLinkOptions, createWSClient, wsLink };
//# sourceMappingURL=wsLink.d-Bssh2HIQ.d.mts.map
{"version":3,"file":"wsLink.d-Bssh2HIQ.d.mts","names":[],"sources":["../src/links/internals/urlWithConnectionParams.ts","../src/links/wsLink/wsClient/options.ts","../src/links/wsLink/wsClient/wsClient.ts","../src/links/wsLink/createWsClient.ts","../src/links/wsLink/wsLink.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;KAkBY,qBAAqB,WAAW,IAAI,QAAQ;AAA5C,UAEK,8BAAA,CAFU;EAAA;;;EAAkB,GAAW,EAMjD,eANiD,CAAA,MAAA,CAAA;EAAC;AAAF;AAEvD;;;EAIsB,gBAOe,CAAA,EAAhB,eAAgB,CAAA,eAAA,CAAA,kBAAA,CAAA,CAAA;;AAAD;;;UC7BnB,sBAAA,SAA+B;;;;qBAI3B;;;;;EDYT,YAAA,CAAA,EAAA,CAAA,YAAe,EAAA,MAAA,EAAA,GAAA,MAAA;EAAA;;;EAAkB,MAAW,CAAA,EAAA,GAAA,GAAA,IAAA;EAAC;AAAF;AAEvD;EAA+C,OAAA,CAAA,EAAA,CAAA,GAAA,CAAA,ECD5B,KDC4B,EAAA,GAAA,IAAA;EAAA;;;EAWX,OAAA,CAAA,EAAA,CAAA,MAAA,EAAA;;;;AC7BpC;;EAAwC,IAInB,CAAA,EAAA;IAaF;;AAjB2D;;;;AC2B9E;;;IAKwB,OAAA,EAAA,MAAA;EAAe,CAAA;EAAhB;;;EAwGH,SA0CV,CAAA,EAAA;IAAI;;;IAAmB,OAAA,EAAA,OAAA;IAC7B;;;;IAIa,UAAA,CAAA,EAAA,MAAA;IAEd;;;;IAAA,aAAA,CAAA,EAAA,MAAA;EAAA,CAAA;;;;;;;;;;;AFzKH;AAA2B,cEWd,QAAA,CFXc;EAAA;;;EAA8B,SAAT,eAAA,EEeb,eFfa,CEgB5C,mBFhB4C,CEgBxB,eFhBwB,CEgBR,aFhBQ,CAAA,CAAA,CAAA;EAAO,QAAA,cAAA;EAEtC,QAAA,cAAA;EAA8B,iBAAA,gBAAA;EAAA,iBAIxC,mBAAA;EAAe,QAOe,iBAAA;EAAe,iBAA/B,SAAA;EAAe,iBAAA,QAAA;oBEiBhB;;;AD9CpB;;EAAwC,QAInB,IAAA;EAAS;;AAJgD;;WCwI1D;;AA7GpB;;;;;;;;;EAuJY,OAAE,CAAA;IAAA,EAAA,EAAA;MAAA,EAAA;MAAA,IAAA;MAAA,IAAA;MAAA,KAAA;MAAA;IAAA,CAAA;IAAA,WAAA;IAAA;EAAyB,CAAzB,EAAA;IAAM,EAAA,EAIZ,IAJY,CAIP,SAJO,EAAA,IAAA,GAAA,MAAA,GAAA,MAAA,GAAA,OAAA,GAAA,QAAA,CAAA;IAAM,WAAA,EAKT,uBALS;IAAO,WAAA,CAAA,EAAA,MAAA;EAAM,CAAA,CAAA,EAOpC,wBAAA,CAAA,UANC,CAMD,uBANC,CAAA,OAAA,EAMD,eANC,CAMD,aANC,CAAA,CAAA,EAMD,eANC,CAMD,aANC,CAAA,CAAA;EAAW,IACX,UAAA,CAAA,CAAA,EAAA;IAES,SAAA,EAAA,EAAA,MAAA;IAAL,SAAA,KAAA,EAAA,MAAA;IACS,SAAA,EAAA,EAEd,SAFc;EAAuB,CAAA,GAErC;IAAA,SAAA,EAAA,EAAA,MAAA;IAAA,SAAA,KAAA,EAAA,QAAA;IAAA,SAAA,EAAA,WAAA;EAAA,CAAA,GAAA;IAAA,SAAA,EAAA,EAAA,MAAA;IAAA,SAAA,KAAA,EAAA,YAAA;;;;;;;ACxLH;EAA8B,QAAA,YAAA;EAAA,QAAO,SAAA;EAAsB,QAAA,uBAAA;EAAA,QAAA,qBAAA;EAI/C,QAAA,qBAAmB;EAAA;;;EAAa,QAAA,IAAA;;;;ACO5C;;EAAgC,QAAiB,SAAA;;;;;iBDXjC,cAAA,OAAqB,yBAAsB;KAI/C,mBAAA,GAAsB,kBAAkB;;;KCOxC,qCAAqC;UACvC;IACN,mBAAmB,iBAAiB;iBAExB,uBAAuB,iBAC/B,qBAAqB,WAC1B,SAAS"}
+7
-7
import { TRPCConnectionState } from "./subscriptions.d-Dlr1nWGD.mjs";
import { FetchEsque, HTTPHeaders, NativeFetchEsque, Operation, OperationContext, OperationLink, OperationResultEnvelope, OperationResultObservable, OperationResultObserver, TRPCClientError, TRPCClientErrorBase, TRPCClientErrorLike, TRPCClientRuntime, TRPCFetch, TRPCLink, TRPCProcedureOptions, isFormData, isNonJsonSerializable, isOctetType, isTRPCClientError } from "./types.d-ByL4iq_b.mjs";
import { FetchEsque, HTTPHeaders, NativeFetchEsque, Operation, OperationContext, OperationLink, OperationResultEnvelope, OperationResultObservable, OperationResultObserver, TRPCClientError, TRPCClientErrorBase, TRPCClientErrorLike, TRPCClientRuntime, TRPCFetch, TRPCLink, TRPCProcedureOptions, isFormData, isNonJsonSerializable, isOctetType, isTRPCClientError } from "./types.d-CAt1zKAY.mjs";
import { TransformerOptions } from "./unstable-internals.d-BOmV7EK1.mjs";
import "./httpUtils.d-BordpgU5.mjs";
import { HTTPBatchLinkOptions, httpBatchLink } from "./httpBatchLink.d-VqJm9adv.mjs";
import { HTTPLinkOptions, httpLink } from "./httpLink.d-Cw8WgV_O.mjs";
import { LoggerLinkOptions, loggerLink } from "./loggerLink.d-DNZv9tYh.mjs";
import { splitLink } from "./splitLink.d-BQlbH9vp.mjs";
import { TRPCWebSocketClient, UrlOptionsWithConnectionParams, WebSocketClientOptions, WebSocketLinkOptions, createWSClient, wsLink } from "./wsLink.d-em3USiMI.mjs";
import "./httpUtils.d-akze5l4u.mjs";
import { HTTPBatchLinkOptions, httpBatchLink } from "./httpBatchLink.d-B0jS5RCU.mjs";
import { HTTPLinkOptions, httpLink } from "./httpLink.d-BEC5B7OH.mjs";
import { LoggerLinkOptions, loggerLink } from "./loggerLink.d-B_ylo7O3.mjs";
import { splitLink } from "./splitLink.d-Df2gT0RV.mjs";
import { TRPCWebSocketClient, UrlOptionsWithConnectionParams, WebSocketClientOptions, WebSocketLinkOptions, createWSClient, wsLink } from "./wsLink.d-Bssh2HIQ.mjs";
import { Unsubscribable } from "@trpc/server/observable";

@@ -11,0 +11,0 @@ import { AnyClientTypes, AnyProcedure, AnyRouter, ErrorHandlerOptions, EventSourceLike, InferrableClientTypes, ProcedureType, RouterRecord, TypeError, inferAsyncIterableYield, inferClientTypes, inferProcedureInput, inferRouterContext, inferTransformedProcedureOutput } from "@trpc/server/unstable-core-do-not-import";

import "../subscriptions.d-Dlr1nWGD.mjs";
import "../types.d-ByL4iq_b.mjs";
import "../types.d-CAt1zKAY.mjs";
import "../unstable-internals.d-BOmV7EK1.mjs";
import "../httpUtils.d-BordpgU5.mjs";
import { httpBatchLink } from "../httpBatchLink.d-VqJm9adv.mjs";
import "../httpUtils.d-akze5l4u.mjs";
import { httpBatchLink } from "../httpBatchLink.d-B0jS5RCU.mjs";
export { httpBatchLink };
import "../subscriptions.d-Dlr1nWGD.mjs";
import "../types.d-ByL4iq_b.mjs";
import "../types.d-CAt1zKAY.mjs";
import "../unstable-internals.d-BOmV7EK1.mjs";
import "../httpUtils.d-BordpgU5.mjs";
import { HTTPLinkOptions, httpLink } from "../httpLink.d-Cw8WgV_O.mjs";
import "../httpUtils.d-akze5l4u.mjs";
import { HTTPLinkOptions, httpLink } from "../httpLink.d-BEC5B7OH.mjs";
export { HTTPLinkOptions, httpLink };
import "../subscriptions.d-Dlr1nWGD.mjs";
import "../types.d-ByL4iq_b.mjs";
import { LoggerLinkOptions, loggerLink } from "../loggerLink.d-DNZv9tYh.mjs";
import "../types.d-CAt1zKAY.mjs";
import { LoggerLinkOptions, loggerLink } from "../loggerLink.d-B_ylo7O3.mjs";
export { LoggerLinkOptions, loggerLink };
import "../subscriptions.d-Dlr1nWGD.mjs";
import "../types.d-ByL4iq_b.mjs";
import { splitLink } from "../splitLink.d-BQlbH9vp.mjs";
import "../types.d-CAt1zKAY.mjs";
import { splitLink } from "../splitLink.d-Df2gT0RV.mjs";
export { splitLink };
import "../../subscriptions.d-Dlr1nWGD.mjs";
import "../../types.d-ByL4iq_b.mjs";
import "../../types.d-CAt1zKAY.mjs";
import "../../unstable-internals.d-BOmV7EK1.mjs";
import { TRPCWebSocketClient, WebSocketClientOptions, WebSocketLinkOptions, createWSClient, wsLink } from "../../wsLink.d-em3USiMI.mjs";
import { TRPCWebSocketClient, WebSocketClientOptions, WebSocketLinkOptions, createWSClient, wsLink } from "../../wsLink.d-Bssh2HIQ.mjs";
export { TRPCWebSocketClient, WebSocketClientOptions, WebSocketLinkOptions, createWSClient, wsLink };
{
"name": "@trpc/client",
"type": "module",
"version": "11.8.1",
"version": "11.8.2-canary.3+f48ed5c18",
"description": "The tRPC client library",

@@ -115,7 +115,7 @@ "author": "KATT",

"peerDependencies": {
"@trpc/server": "11.8.1",
"@trpc/server": "11.8.2-canary.3+f48ed5c18",
"typescript": ">=5.7.2"
},
"devDependencies": {
"@trpc/server": "11.8.1",
"@trpc/server": "11.8.2-canary.3+f48ed5c18",
"@types/isomorphic-fetch": "^0.0.39",

@@ -139,3 +139,3 @@ "@types/node": "^22.13.5",

],
"gitHead": "0d08831400643640d14ddf5174a6aefa2fa648e7"
"gitHead": "f48ed5c18121bca0808f59d8f6c6d6d141c5e1f0"
}
import { HTTPHeaders, NonEmptyArray, Operation, TRPCLink } from "./types.d-ByL4iq_b.mjs";
import { HTTPLinkBaseOptions } from "./httpUtils.d-BordpgU5.mjs";
import { AnyClientTypes } from "@trpc/server/unstable-core-do-not-import";
import { AnyRouter as AnyRouter$1 } from "@trpc/server";
//#region src/links/HTTPBatchLinkOptions.d.ts
type HTTPBatchLinkOptions<TRoot extends AnyClientTypes> = HTTPLinkBaseOptions<TRoot> & {
maxURLLength?: number;
/**
* Headers to be set on outgoing requests or a callback that of said headers
* @see http://trpc.io/docs/client/headers
*/
headers?: HTTPHeaders | ((opts: {
opList: NonEmptyArray<Operation>;
}) => HTTPHeaders | Promise<HTTPHeaders>);
/**
* Maximum number of calls in a single batch request
* @default Infinity
*/
maxItems?: number;
};
//# sourceMappingURL=HTTPBatchLinkOptions.d.ts.map
//#endregion
//#region src/links/httpBatchLink.d.ts
/**
* @see https://trpc.io/docs/client/links/httpBatchLink
*/
declare function httpBatchLink<TRouter extends AnyRouter$1>(opts: HTTPBatchLinkOptions<TRouter['_def']['_config']['$types']>): TRPCLink<TRouter>;
//# sourceMappingURL=httpBatchLink.d.ts.map
//#endregion
export { HTTPBatchLinkOptions, httpBatchLink };
//# sourceMappingURL=httpBatchLink.d-VqJm9adv.d.mts.map
{"version":3,"file":"httpBatchLink.d-VqJm9adv.d.mts","names":[],"sources":["../src/links/HTTPBatchLinkOptions.ts","../src/links/httpBatchLink.ts"],"sourcesContent":[],"mappings":";;;;;;KAKY,mCAAmC,kBAC7C,oBAAoB;;EADV;;;;EACe,OAAzB,CAAA,EAOM,WAPN,GAAA,CAAA,CAAA,IAAA,EAAA;IAOM,MAAA,EAEU,aAFV,CAEwB,SAFxB,CAAA;EAAW,CAAA,EAEa,GAClB,WADkB,GACJ,OADI,CACI,WADJ,CAAA,CAAA;EAAS;;;;EACN,QAAA,CAAA,EAAA,MAAA;;;;;;;;AAXvB,iBCeI,aDfgB,CAAA,gBCec,WDfd,CAAA,CAAA,IAAA,ECgBxB,oBDhBwB,CCgBH,ODhBG,CAAA,MAAA,CAAA,CAAA,SAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,ECiB7B,QDjB6B,CCiBpB,ODjBoB,CAAA"}
import { HTTPHeaders, Operation, TRPCLink } from "./types.d-ByL4iq_b.mjs";
import { HTTPLinkBaseOptions } from "./httpUtils.d-BordpgU5.mjs";
import { AnyClientTypes, AnyRouter } from "@trpc/server/unstable-core-do-not-import";
//#region src/links/httpLink.d.ts
type HTTPLinkOptions<TRoot extends AnyClientTypes> = HTTPLinkBaseOptions<TRoot> & {
/**
* Headers to be set on outgoing requests or a callback that of said headers
* @see http://trpc.io/docs/client/headers
*/
headers?: HTTPHeaders | ((opts: {
op: Operation;
}) => HTTPHeaders | Promise<HTTPHeaders>);
};
/**
* @see https://trpc.io/docs/client/links/httpLink
*/
declare function httpLink<TRouter extends AnyRouter = AnyRouter>(opts: HTTPLinkOptions<TRouter['_def']['_config']['$types']>): TRPCLink<TRouter>;
//# sourceMappingURL=httpLink.d.ts.map
//#endregion
export { HTTPLinkOptions, httpLink };
//# sourceMappingURL=httpLink.d-Cw8WgV_O.d.mts.map
{"version":3,"file":"httpLink.d-Cw8WgV_O.d.mts","names":[],"sources":["../src/links/httpLink.ts"],"sourcesContent":[],"mappings":";;;;;KA0BY,8BAA8B,kBACxC,oBAAoB;;AADtB;;;EAAwD,OAClC,CAAA,EAMd,WANc,GAAA,CAAA,CAAA,IAAA,EAAA;IAApB,EAAA,EAOoB,SAPpB;EAAmB,CAAA,EAMb,GAC8B,WAD9B,GAC4C,OAD5C,CACoD,WADpD,CAAA,CAAA;CAAW;;;;AACwC,iBAwC3C,QAxC2C,CAAA,gBAwClB,SAxCkB,GAwCN,SAxCM,CAAA,CAAA,IAAA,EAyCnD,eAzCmD,CAyCnC,OAzCmC,CAAA,MAAA,CAAA,CAAA,SAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,EA0CxD,QA1CwD,CA0C/C,OA1C+C,CAAA;AAwC3D"}
import { FetchEsque } from "./types.d-ByL4iq_b.mjs";
import { TransformerOptions } from "./unstable-internals.d-BOmV7EK1.mjs";
import { AnyClientTypes, CombinedDataTransformer, Maybe, ProcedureType } from "@trpc/server/unstable-core-do-not-import";
//#region src/links/internals/httpUtils.d.ts
/**
* @internal
*/
type HTTPLinkBaseOptions<TRoot extends Pick<AnyClientTypes, 'transformer'>> = {
url: string | URL;
/**
* Add ponyfill for fetch
*/
fetch?: FetchEsque;
/**
* Send all requests `as POST`s requests regardless of the procedure type
* The HTTP handler must separately allow overriding the method. See:
* @see https://trpc.io/docs/rpc
*/
methodOverride?: 'POST';
} & TransformerOptions<TRoot>;
//#endregion
export { HTTPLinkBaseOptions };
//# sourceMappingURL=httpUtils.d-BordpgU5.d.mts.map
{"version":3,"file":"httpUtils.d-BordpgU5.d.mts","names":[],"sources":["../src/links/internals/httpUtils.ts"],"sourcesContent":[],"mappings":";;;;;;;AAqBA;;AACqB,KADT,mBACS,CAAA,cAAL,IAAK,CAAA,cAAA,EAAA,aAAA,CAAA,CAAA,GAAA;EAAc,GAAnB,EAAA,MAAA,GAEA,GAFA;EAAI;;;EAaQ,KAAxB,CAAA,EAPM,UAON;EAAkB;;;;;;IAAlB,mBAAmB"}
import { Operation, OperationResultEnvelope, TRPCClientError, TRPCLink } from "./types.d-ByL4iq_b.mjs";
import { AnyRouter, InferrableClientTypes } from "@trpc/server/unstable-core-do-not-import";
//#region src/links/loggerLink.d.ts
type ConsoleEsque = {
log: (...args: any[]) => void;
error: (...args: any[]) => void;
};
type EnableFnOptions<TRouter extends InferrableClientTypes> = {
direction: 'down';
result: OperationResultEnvelope<unknown, TRPCClientError<TRouter>> | TRPCClientError<TRouter>;
} | (Operation & {
direction: 'up';
});
type EnabledFn<TRouter extends AnyRouter> = (opts: EnableFnOptions<TRouter>) => boolean;
type LoggerLinkFnOptions<TRouter extends AnyRouter> = Operation & ({
/**
* Request result
*/
direction: 'down';
result: OperationResultEnvelope<unknown, TRPCClientError<TRouter>> | TRPCClientError<TRouter>;
elapsedMs: number;
} | {
/**
* Request was just initialized
*/
direction: 'up';
});
type LoggerLinkFn<TRouter extends AnyRouter> = (opts: LoggerLinkFnOptions<TRouter>) => void;
type ColorMode = 'ansi' | 'css' | 'none';
interface LoggerLinkOptions<TRouter extends AnyRouter> {
logger?: LoggerLinkFn<TRouter>;
enabled?: EnabledFn<TRouter>;
/**
* Used in the built-in defaultLogger
*/
console?: ConsoleEsque;
/**
* Color mode
* @default typeof window === 'undefined' ? 'ansi' : 'css'
*/
colorMode?: ColorMode;
/**
* Include context in the log - defaults to false unless `colorMode` is 'css'
*/
withContext?: boolean;
}
/**
* @see https://trpc.io/docs/v11/client/links/loggerLink
*/
declare function loggerLink<TRouter extends AnyRouter = AnyRouter>(opts?: LoggerLinkOptions<TRouter>): TRPCLink<TRouter>;
//#endregion
export { LoggerLinkOptions, loggerLink };
//# sourceMappingURL=loggerLink.d-DNZv9tYh.d.mts.map
{"version":3,"file":"loggerLink.d-DNZv9tYh.d.mts","names":[],"sources":["../src/links/loggerLink.ts"],"sourcesContent":[],"mappings":";;;;KAeK,YAAA;EAAA,GAAA,EAAA,CAAA,GAAA,IAAA,EAAY,GAAA,EAAA,EAAA,GAAA,IAAA;EAKZ,KAAA,EAAA,CAAA,GAAA,IAAA,EAAA,GAAe,EAAA,EAAA,GAAA,IAAA;CAAA;KAAf,eAAgC,CAAA,gBAAA,qBAAA,CAAA,GAAA;EAAqB,SAIC,EAAA,MAAA;EAAO,MAAvB,EAAjC,uBAAiC,CAAA,OAAA,EAAA,eAAA,CAAgB,OAAhB,CAAA,CAAA,GACjC,eADiC,CACjB,OADiB,CAAA;CAAe,GAAA,CAGrD,SAHK,GAAA;EAAuB,SACP,EAAA,IAAA;CAAO,CAAA;KAK5B,SAHA,CAAA,gBAG0B,SAH1B,CAAA,GAAA,CAAA,IAAA,EAIG,eAJH,CAImB,OAJnB,CAAA,EAAA,GAAA,OAAA;AAAS,KAOT,mBAPS,CAAA,gBAO2B,SAP3B,CAAA,GAOwC,SAPxC,GAAA,CAAA;EAGT;;;EAAmC,SAChB,EAAA,MAAA;EAAO,MAAvB,EAWI,uBAXJ,CAAA,OAAA,EAWqC,eAXrC,CAWqD,OAXrD,CAAA,CAAA,GAYI,eAZJ,CAYoB,OAZpB,CAAA;EAAe,SAAA,EAAA,MAAA;AAAA,CAAA,GAGlB;EAAmB;;;EAAuC,SAQF,EAAA,IAAA;CAAO,CAAA;KAY/D,YAZO,CAAA,gBAYsB,SAZtB,CAAA,GAAA,CAAA,IAAA,EAaJ,mBAbI,CAagB,OAbhB,CAAA,EAAA,GAAA,IAAA;KAgBP,SAAA,GAfuB,MAAA,GAAA,KAAA,GAAA,MAAA;AAAhB,UAiBK,iBAjBL,CAAA,gBAiBuC,SAjBvC,CAAA,CAAA;EAAe,MAAA,CAAA,EAkBhB,YAlBgB,CAkBH,OAlBG,CAAA;EAWtB,OAAA,CAAA,EAQO,SARK,CAQK,OARL,CAAA;EAAA;;;EACkB,OAA3B,CAAA,EAWI,YAXJ;EAAmB;AAAA;AAK3B;;EAAkC,SAAiB,CAAA,EAWrC,SAXqC;EAAS;;;EAE/B,WAAjB,CAAA,EAAA,OAAA;;;AASW;AA8IvB;AAA0B,iBAAV,UAAU,CAAA,gBAAiB,SAAjB,GAA6B,SAA7B,CAAA,CAAA,IAAA,CAAA,EAClB,iBADkB,CACA,OADA,CAAA,CAAA,EAEvB,QAFuB,CAEd,OAFc,CAAA"}
import { Operation, TRPCLink } from "./types.d-ByL4iq_b.mjs";
import { AnyRouter } from "@trpc/server/unstable-core-do-not-import";
//#region src/links/splitLink.d.ts
declare function splitLink<TRouter extends AnyRouter = AnyRouter>(opts: {
condition: (op: Operation) => boolean;
/**
* The link to execute next if the test function returns `true`.
*/
true: TRPCLink<TRouter> | TRPCLink<TRouter>[];
/**
* The link to execute next if the test function returns `false`.
*/
false: TRPCLink<TRouter> | TRPCLink<TRouter>[];
}): TRPCLink<TRouter>;
//# sourceMappingURL=splitLink.d.ts.map
//#endregion
export { splitLink };
//# sourceMappingURL=splitLink.d-BQlbH9vp.d.mts.map
{"version":3,"file":"splitLink.d-BQlbH9vp.d.mts","names":[],"sources":["../src/links/splitLink.ts"],"sourcesContent":[],"mappings":";;;;iBAQgB,0BAA0B,YAAY;kBACpC;EADF;;;EAAmC,IAAG,EAK9C,QAL8C,CAKrC,OALqC,CAAA,GAK1B,QAL0B,CAKjB,OALiB,CAAA,EAAA;EAAS;;;EAK/C,KAAqB,EAI5B,QAJ4B,CAInB,OAJmB,CAAA,GAIR,QAJQ,CAIC,OAJD,CAAA,EAAA;CAAO,CAAA,EAKxC,QALwB,CAKf,OALe,CAAA"}
import { TRPCConnectionState } from "./subscriptions.d-Dlr1nWGD.mjs";
import { Observable, Observer } from "@trpc/server/observable";
import { DefaultErrorShape, InferrableClientTypes, Maybe, TRPCErrorResponse, TRPCResultMessage, TRPCSuccessResponse, inferClientTypes } from "@trpc/server/unstable-core-do-not-import";
//#region src/internals/types.d.ts
/**
* A subset of the standard fetch function type needed by tRPC internally.
* @see fetch from lib.dom.d.ts
* @remarks
* If you need a property that you know exists but doesn't exist on this
* interface, go ahead and add it.
*/
type FetchEsque = (input: RequestInfo | URL | string, init?: RequestInit | RequestInitEsque) => Promise<ResponseEsque>;
/**
* A simpler version of the native fetch function's type for packages with
* their own fetch types, such as undici and node-fetch.
*/
type NativeFetchEsque = (url: URL | string, init?: NodeFetchRequestInitEsque) => Promise<ResponseEsque>;
interface NodeFetchRequestInitEsque {
body?: string;
}
/**
* A subset of the standard RequestInit properties needed by tRPC internally.
* @see RequestInit from lib.dom.d.ts
* @remarks
* If you need a property that you know exists but doesn't exist on this
* interface, go ahead and add it.
*/
interface RequestInitEsque {
/**
* Sets the request's body.
*/
body?: FormData | string | null | Uint8Array<ArrayBuffer> | Blob | File;
/**
* Sets the request's associated headers.
*/
headers?: [string, string][] | Record<string, string>;
/**
* The request's HTTP-style method.
*/
method?: string;
/**
* Sets the request's signal.
*/
signal?: AbortSignal | undefined;
}
/**
* A subset of the standard ReadableStream properties needed by tRPC internally.
* @see ReadableStream from lib.dom.d.ts
*/
type WebReadableStreamEsque = {
getReader: () => ReadableStreamDefaultReader<Uint8Array>;
};
type NodeJSReadableStreamEsque = {
on(eventName: string | symbol, listener: (...args: any[]) => void): NodeJSReadableStreamEsque;
};
/**
* A subset of the standard Response properties needed by tRPC internally.
* @see Response from lib.dom.d.ts
*/
interface ResponseEsque {
readonly body?: NodeJSReadableStreamEsque | WebReadableStreamEsque | null;
/**
* @remarks
* The built-in Response::json() method returns Promise<any>, but
* that's not as type-safe as unknown. We use unknown because we're
* more type-safe. You do want more type safety, right? 😉
*/
json(): Promise<unknown>;
}
/**
* @internal
*/
type NonEmptyArray<TItem> = [TItem, ...TItem[]];
type ClientContext = Record<string, unknown>;
/**
* @public
*/
interface TRPCProcedureOptions {
/**
* Client-side context
*/
context?: ClientContext;
signal?: AbortSignal;
}
//#endregion
//#region src/TRPCClientError.d.ts
type inferErrorShape<TInferrable extends InferrableClientTypes> = inferClientTypes<TInferrable>['errorShape'];
interface TRPCClientErrorBase<TShape extends DefaultErrorShape> {
readonly message: string;
readonly shape: Maybe<TShape>;
readonly data: Maybe<TShape['data']>;
}
type TRPCClientErrorLike<TInferrable extends InferrableClientTypes> = TRPCClientErrorBase<inferErrorShape<TInferrable>>;
declare function isTRPCClientError<TInferrable extends InferrableClientTypes>(cause: unknown): cause is TRPCClientError<TInferrable>;
declare class TRPCClientError<TRouterOrProcedure extends InferrableClientTypes> extends Error implements TRPCClientErrorBase<inferErrorShape<TRouterOrProcedure>> {
readonly cause: Error | undefined;
readonly shape: Maybe<inferErrorShape<TRouterOrProcedure>>;
readonly data: Maybe<inferErrorShape<TRouterOrProcedure>['data']>;
/**
* Additional meta data about the error
* In the case of HTTP-errors, we'll have `response` and potentially `responseJSON` here
*/
meta: Record<string, unknown> | undefined;
constructor(message: string, opts?: {
result?: Maybe<TRPCErrorResponse<inferErrorShape<TRouterOrProcedure>>>;
cause?: Error;
meta?: Record<string, unknown>;
});
static from<TRouterOrProcedure extends InferrableClientTypes>(_cause: Error | TRPCErrorResponse<any> | object, opts?: {
meta?: Record<string, unknown>;
}): TRPCClientError<TRouterOrProcedure>;
}
//#endregion
//#region src/links/internals/contentTypes.d.ts
declare function isOctetType(input: unknown): input is Uint8Array<ArrayBuffer> | Blob;
declare function isFormData(input: unknown): input is FormData;
declare function isNonJsonSerializable(input: unknown): input is FormData | Uint8Array<ArrayBuffer> | Blob;
//# sourceMappingURL=contentTypes.d.ts.map
//#endregion
//#region src/links/types.d.ts
/**
* @internal
*/
interface OperationContext extends Record<string, unknown> {}
/**
* @internal
*/
type Operation<TInput = unknown> = {
id: number;
type: 'mutation' | 'query' | 'subscription';
input: TInput;
path: string;
context: OperationContext;
signal: Maybe<AbortSignal>;
};
interface HeadersInitEsque {
[Symbol.iterator](): IterableIterator<[string, string]>;
}
/**
* @internal
*/
type HTTPHeaders = HeadersInitEsque | Record<string, string[] | string | undefined>;
/**
* The default `fetch` implementation has an overloaded signature. By convention this library
* only uses the overload taking a string and options object.
*/
type TRPCFetch = (url: string, options?: RequestInit) => Promise<ResponseEsque>;
interface TRPCClientRuntime {}
/**
* @internal
*/
interface OperationResultEnvelope<TOutput, TError> {
result: TRPCResultMessage<TOutput>['result'] | TRPCSuccessResponse<TOutput>['result'] | TRPCConnectionState<TError>;
context?: OperationContext;
}
/**
* @internal
*/
type OperationResultObservable<TInferrable extends InferrableClientTypes, TOutput> = Observable<OperationResultEnvelope<TOutput, TRPCClientError<TInferrable>>, TRPCClientError<TInferrable>>;
/**
* @internal
*/
type OperationResultObserver<TInferrable extends InferrableClientTypes, TOutput> = Observer<OperationResultEnvelope<TOutput, TRPCClientError<TInferrable>>, TRPCClientError<TInferrable>>;
/**
* @internal
*/
type OperationLink<TInferrable extends InferrableClientTypes, TInput = unknown, TOutput = unknown> = (opts: {
op: Operation<TInput>;
next: (op: Operation<TInput>) => OperationResultObservable<TInferrable, TOutput>;
}) => OperationResultObservable<TInferrable, TOutput>;
/**
* @public
*/
type TRPCLink<TInferrable extends InferrableClientTypes> = (opts: TRPCClientRuntime) => OperationLink<TInferrable>;
//# sourceMappingURL=types.d.ts.map
//#endregion
export { FetchEsque, HTTPHeaders, NativeFetchEsque, NonEmptyArray, Operation, OperationContext, OperationLink, OperationResultEnvelope, OperationResultObservable, OperationResultObserver, TRPCClientError, TRPCClientErrorBase, TRPCClientErrorLike, TRPCClientRuntime, TRPCFetch, TRPCLink, TRPCProcedureOptions, isFormData, isNonJsonSerializable, isOctetType, isTRPCClientError };
//# sourceMappingURL=types.d-ByL4iq_b.d.mts.map
{"version":3,"file":"types.d-ByL4iq_b.d.mts","names":[],"sources":["../src/internals/types.ts","../src/TRPCClientError.ts","../src/links/internals/contentTypes.ts","../src/links/types.ts"],"sourcesContent":[],"mappings":"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"}
import { TRPCConnectionState } from "./subscriptions.d-Dlr1nWGD.mjs";
import { Operation, OperationResultEnvelope, TRPCClientError, TRPCLink } from "./types.d-ByL4iq_b.mjs";
import { TransformerOptions } from "./unstable-internals.d-BOmV7EK1.mjs";
import * as _trpc_server_observable0 from "@trpc/server/observable";
import { BehaviorSubject } from "@trpc/server/observable";
import { AnyRouter, CombinedDataTransformer, inferClientTypes } from "@trpc/server/unstable-core-do-not-import";
import { AnyTRPCRouter } from "@trpc/server";
import { TRPCRequestInfo } from "@trpc/server/http";
//#region src/links/internals/urlWithConnectionParams.d.ts
/**
* A value that can be wrapped in callback
*/
type CallbackOrValue<T> = T | (() => T | Promise<T>);
interface UrlOptionsWithConnectionParams {
/**
* The URL to connect to (can be a function that returns a URL)
*/
url: CallbackOrValue<string>;
/**
* Connection params that are available in `createContext()`
* - For `wsLink`/`wsClient`, these are sent as the first message
* - For `httpSubscriptionLink`, these are serialized as part of the URL under the `connectionParams` query
*/
connectionParams?: CallbackOrValue<TRPCRequestInfo['connectionParams']>;
}
//# sourceMappingURL=urlWithConnectionParams.d.ts.map
//#endregion
//#region src/links/wsLink/wsClient/options.d.ts
interface WebSocketClientOptions extends UrlOptionsWithConnectionParams {
/**
* Ponyfill which WebSocket implementation to use
*/
WebSocket?: typeof WebSocket;
/**
* The number of milliseconds before a reconnect is attempted.
* @default {@link exponentialBackoff}
*/
retryDelayMs?: (attemptIndex: number) => number;
/**
* Triggered when a WebSocket connection is established
*/
onOpen?: () => void;
/**
* Triggered when a WebSocket connection encounters an error
*/
onError?: (evt?: Event) => void;
/**
* Triggered when a WebSocket connection is closed
*/
onClose?: (cause?: {
code?: number;
}) => void;
/**
* Lazy mode will close the WebSocket automatically after a period of inactivity (no messages sent or received and no pending requests)
*/
lazy?: {
/**
* Enable lazy mode
* @default false
*/
enabled: boolean;
/**
* Close the WebSocket after this many milliseconds
* @default 0
*/
closeMs: number;
};
/**
* Send ping messages to the server and kill the connection if no pong message is returned
*/
keepAlive?: {
/**
* @default false
*/
enabled: boolean;
/**
* Send a ping message every this many milliseconds
* @default 5_000
*/
intervalMs?: number;
/**
* Close the WebSocket after this many milliseconds if the server does not respond
* @default 1_000
*/
pongTimeoutMs?: number;
};
}
/**
* Default options for lazy WebSocket connections.
* Determines whether the connection should be established lazily and defines the delay before closure.
*/
//#endregion
//#region src/links/wsLink/wsClient/wsClient.d.ts
/**
* A WebSocket client for managing TRPC operations, supporting lazy initialization,
* reconnection, keep-alive, and request management.
*/
declare class WsClient {
/**
* Observable tracking the current connection state, including errors.
*/
readonly connectionState: BehaviorSubject<TRPCConnectionState<TRPCClientError<AnyTRPCRouter>>>;
private allowReconnect;
private requestManager;
private readonly activeConnection;
private readonly reconnectRetryDelay;
private inactivityTimeout;
private readonly callbacks;
private readonly lazyMode;
constructor(opts: WebSocketClientOptions);
/**
* Opens the WebSocket connection. Handles reconnection attempts and updates
* the connection state accordingly.
*/
private open;
/**
* Closes the WebSocket connection and stops managing requests.
* Ensures all outgoing and pending requests are properly finalized.
*/
close(): Promise<void>;
/**
* Method to request the server.
* Handles data transformation, batching of requests, and subscription lifecycle.
*
* @param op - The operation details including id, type, path, input and signal
* @param transformer - Data transformer for serializing requests and deserializing responses
* @param lastEventId - Optional ID of the last received event for subscriptions
*
* @returns An observable that emits operation results and handles cleanup
*/
request({
op: {
id,
type,
path,
input,
signal
},
transformer,
lastEventId
}: {
op: Pick<Operation, 'id' | 'type' | 'path' | 'input' | 'signal'>;
transformer: CombinedDataTransformer;
lastEventId?: string;
}): _trpc_server_observable0.Observable<OperationResultEnvelope<unknown, TRPCClientError<AnyTRPCRouter>>, TRPCClientError<AnyTRPCRouter>>;
get connection(): {
readonly id: number;
readonly state: "open";
readonly ws: WebSocket;
} | {
readonly id: number;
readonly state: "closed";
readonly ws: WebSocket;
} | {
readonly id: number;
readonly state: "connecting";
readonly ws: WebSocket;
} | null;
/**
* Manages the reconnection process for the WebSocket using retry logic.
* Ensures that only one reconnection attempt is active at a time by tracking the current
* reconnection state in the `reconnecting` promise.
*/
private reconnecting;
private reconnect;
private setupWebSocketListeners;
private handleResponseMessage;
private handleIncomingRequest;
/**
* Sends a message or batch of messages directly to the server.
*/
private send;
/**
* Groups requests for batch sending.
*
* @returns A function to abort the batched request.
*/
private batchSend;
}
//# sourceMappingURL=wsClient.d.ts.map
//#endregion
//#region src/links/wsLink/createWsClient.d.ts
declare function createWSClient(opts: WebSocketClientOptions): WsClient;
type TRPCWebSocketClient = ReturnType<typeof createWSClient>;
//#endregion
//#region src/links/wsLink/wsLink.d.ts
type WebSocketLinkOptions<TRouter extends AnyRouter> = {
client: TRPCWebSocketClient;
} & TransformerOptions<inferClientTypes<TRouter>>;
declare function wsLink<TRouter extends AnyRouter>(opts: WebSocketLinkOptions<TRouter>): TRPCLink<TRouter>;
//#endregion
export { TRPCWebSocketClient, UrlOptionsWithConnectionParams, WebSocketClientOptions, WebSocketLinkOptions, createWSClient, wsLink };
//# sourceMappingURL=wsLink.d-em3USiMI.d.mts.map
{"version":3,"file":"wsLink.d-em3USiMI.d.mts","names":[],"sources":["../src/links/internals/urlWithConnectionParams.ts","../src/links/wsLink/wsClient/options.ts","../src/links/wsLink/wsClient/wsClient.ts","../src/links/wsLink/createWsClient.ts","../src/links/wsLink/wsLink.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;KAkBY,qBAAqB,WAAW,IAAI,QAAQ;AAA5C,UAEK,8BAAA,CAFU;EAAA;;;EAAkB,GAAW,EAMjD,eANiD,CAAA,MAAA,CAAA;EAAC;AAAF;AAEvD;;;EAIsB,gBAOe,CAAA,EAAhB,eAAgB,CAAA,eAAA,CAAA,kBAAA,CAAA,CAAA;;AAAD;;;UC7BnB,sBAAA,SAA+B;;;;qBAI3B;;;;;EDYT,YAAA,CAAA,EAAA,CAAA,YAAe,EAAA,MAAA,EAAA,GAAA,MAAA;EAAA;;;EAAkB,MAAW,CAAA,EAAA,GAAA,GAAA,IAAA;EAAC;AAAF;AAEvD;EAA+C,OAAA,CAAA,EAAA,CAAA,GAAA,CAAA,ECD5B,KDC4B,EAAA,GAAA,IAAA;EAAA;;;EAWX,OAAA,CAAA,EAAA,CAAA,MAAA,EAAA;;;;AC7BpC;;EAAwC,IAInB,CAAA,EAAA;IAaF;;AAjB2D;;;;AC2B9E;;;IAKwB,OAAA,EAAA,MAAA;EAAe,CAAA;EAAhB;;;EAwGH,SA0CV,CAAA,EAAA;IAAI;;;IAAmB,OAAA,EAAA,OAAA;IAC7B;;;;IAIa,UAAA,CAAA,EAAA,MAAA;IAEd;;;;IAAA,aAAA,CAAA,EAAA,MAAA;EAAA,CAAA;;;;;;;;;;;AFzKH;AAA2B,cEWd,QAAA,CFXc;EAAA;;;EAA8B,SAAT,eAAA,EEeb,eFfa,CEgB5C,mBFhB4C,CEgBxB,eFhBwB,CEgBR,aFhBQ,CAAA,CAAA,CAAA;EAAO,QAAA,cAAA;EAEtC,QAAA,cAAA;EAA8B,iBAAA,gBAAA;EAAA,iBAIxC,mBAAA;EAAe,QAOe,iBAAA;EAAe,iBAA/B,SAAA;EAAe,iBAAA,QAAA;oBEiBhB;;;AD9CpB;;EAAwC,QAInB,IAAA;EAAS;;AAJgD;;WCwI1D;;AA7GpB;;;;;;;;;EAuJY,OAAE,CAAA;IAAA,EAAA,EAAA;MAAA,EAAA;MAAA,IAAA;MAAA,IAAA;MAAA,KAAA;MAAA;IAAA,CAAA;IAAA,WAAA;IAAA;EAAyB,CAAzB,EAAA;IAAM,EAAA,EAIZ,IAJY,CAIP,SAJO,EAAA,IAAA,GAAA,MAAA,GAAA,MAAA,GAAA,OAAA,GAAA,QAAA,CAAA;IAAM,WAAA,EAKT,uBALS;IAAO,WAAA,CAAA,EAAA,MAAA;EAAM,CAAA,CAAA,EAOpC,wBAAA,CAAA,UANC,CAMD,uBANC,CAAA,OAAA,EAMD,eANC,CAMD,aANC,CAAA,CAAA,EAMD,eANC,CAMD,aANC,CAAA,CAAA;EAAW,IACX,UAAA,CAAA,CAAA,EAAA;IAES,SAAA,EAAA,EAAA,MAAA;IAAL,SAAA,KAAA,EAAA,MAAA;IACS,SAAA,EAAA,EAEd,SAFc;EAAuB,CAAA,GAErC;IAAA,SAAA,EAAA,EAAA,MAAA;IAAA,SAAA,KAAA,EAAA,QAAA;IAAA,SAAA,EAAA,WAAA;EAAA,CAAA,GAAA;IAAA,SAAA,EAAA,EAAA,MAAA;IAAA,SAAA,KAAA,EAAA,YAAA;;;;;;;ACxLH;EAA8B,QAAA,YAAA;EAAA,QAAO,SAAA;EAAsB,QAAA,uBAAA;EAAA,QAAA,qBAAA;EAI/C,QAAA,qBAAmB;EAAA;;;EAAa,QAAA,IAAA;;;;ACO5C;;EAAgC,QAAiB,SAAA;;;;;iBDXjC,cAAA,OAAqB,yBAAsB;KAI/C,mBAAA,GAAsB,kBAAkB;;;KCOxC,qCAAqC;UACvC;IACN,mBAAmB,iBAAiB;iBAExB,uBAAuB,iBAC/B,qBAAqB,WAC1B,SAAS"}