@trpc/client 10.0.0-proxy-alpha.71 → 10.0.0-proxy-alpha.74
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +28 -28
- package/dist/index.mjs +28 -28
- package/dist/internals/TRPCClient.d.ts +13 -25
- package/dist/internals/TRPCClient.d.ts.map +1 -1
- package/dist/links/wsLink.d.ts +3 -1
- package/dist/links/wsLink.d.ts.map +1 -1
- package/dist/links/wsLink.js +4 -2
- package/dist/links/wsLink.mjs +4 -2
- package/package.json +4 -4
- package/src/internals/TRPCClient.ts +51 -76
- package/src/links/wsLink.ts +3 -3
package/dist/index.js
CHANGED
|
@@ -163,28 +163,22 @@ class TRPCClient {
|
|
|
163
163
|
});
|
|
164
164
|
return abortablePromise;
|
|
165
165
|
}
|
|
166
|
-
query(path,
|
|
167
|
-
// FIXME: Should be inferred from `args`
|
|
168
|
-
const context = args[1]?.context;
|
|
169
|
-
const signal = args[1]?.signal;
|
|
166
|
+
query(path, input, opts) {
|
|
170
167
|
return this.requestAsPromise({
|
|
171
168
|
type: 'query',
|
|
172
169
|
path,
|
|
173
|
-
input:
|
|
174
|
-
context,
|
|
175
|
-
signal
|
|
170
|
+
input: input,
|
|
171
|
+
context: opts?.context,
|
|
172
|
+
signal: opts?.signal
|
|
176
173
|
});
|
|
177
174
|
}
|
|
178
|
-
mutation(path,
|
|
179
|
-
// FIXME: Should be inferred from `args`
|
|
180
|
-
const context = args[1]?.context;
|
|
181
|
-
const signal = args[1]?.signal;
|
|
175
|
+
mutation(path, input, opts) {
|
|
182
176
|
return this.requestAsPromise({
|
|
183
177
|
type: 'mutation',
|
|
184
178
|
path,
|
|
185
|
-
input:
|
|
186
|
-
context,
|
|
187
|
-
signal
|
|
179
|
+
input: input,
|
|
180
|
+
context: opts?.context,
|
|
181
|
+
signal: opts?.signal
|
|
188
182
|
});
|
|
189
183
|
}
|
|
190
184
|
subscription(path, input, opts) {
|
|
@@ -223,28 +217,34 @@ class TRPCClient {
|
|
|
223
217
|
}
|
|
224
218
|
return ()=>({});
|
|
225
219
|
}
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
220
|
+
function getTransformer() {
|
|
221
|
+
if (!opts.transformer) return {
|
|
222
|
+
serialize: (data)=>data,
|
|
223
|
+
deserialize: (data)=>data
|
|
224
|
+
};
|
|
225
|
+
if ('input' in opts.transformer) return {
|
|
226
|
+
serialize: opts.transformer.input.serialize,
|
|
227
|
+
deserialize: opts.transformer.output.deserialize
|
|
228
|
+
};
|
|
229
|
+
return opts.transformer;
|
|
230
|
+
}
|
|
233
231
|
this.runtime = {
|
|
234
232
|
AbortController: AC,
|
|
235
233
|
fetch: _fetch,
|
|
236
234
|
headers: getHeadersFn(),
|
|
237
|
-
transformer
|
|
235
|
+
transformer: getTransformer()
|
|
238
236
|
};
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
237
|
+
const getLinks = ()=>{
|
|
238
|
+
if (opts.links) {
|
|
239
|
+
return opts.links.map((link)=>link(this.runtime));
|
|
240
|
+
}
|
|
241
|
+
return [
|
|
243
242
|
links_httpBatchLink.httpBatchLink({
|
|
244
243
|
url: opts.url
|
|
245
|
-
})(this.runtime)
|
|
244
|
+
})(this.runtime)
|
|
246
245
|
];
|
|
247
|
-
}
|
|
246
|
+
};
|
|
247
|
+
this.links = getLinks();
|
|
248
248
|
}
|
|
249
249
|
}
|
|
250
250
|
|
package/dist/index.mjs
CHANGED
|
@@ -162,28 +162,22 @@ class TRPCClient {
|
|
|
162
162
|
});
|
|
163
163
|
return abortablePromise;
|
|
164
164
|
}
|
|
165
|
-
query(path,
|
|
166
|
-
// FIXME: Should be inferred from `args`
|
|
167
|
-
const context = args[1]?.context;
|
|
168
|
-
const signal = args[1]?.signal;
|
|
165
|
+
query(path, input, opts) {
|
|
169
166
|
return this.requestAsPromise({
|
|
170
167
|
type: 'query',
|
|
171
168
|
path,
|
|
172
|
-
input:
|
|
173
|
-
context,
|
|
174
|
-
signal
|
|
169
|
+
input: input,
|
|
170
|
+
context: opts?.context,
|
|
171
|
+
signal: opts?.signal
|
|
175
172
|
});
|
|
176
173
|
}
|
|
177
|
-
mutation(path,
|
|
178
|
-
// FIXME: Should be inferred from `args`
|
|
179
|
-
const context = args[1]?.context;
|
|
180
|
-
const signal = args[1]?.signal;
|
|
174
|
+
mutation(path, input, opts) {
|
|
181
175
|
return this.requestAsPromise({
|
|
182
176
|
type: 'mutation',
|
|
183
177
|
path,
|
|
184
|
-
input:
|
|
185
|
-
context,
|
|
186
|
-
signal
|
|
178
|
+
input: input,
|
|
179
|
+
context: opts?.context,
|
|
180
|
+
signal: opts?.signal
|
|
187
181
|
});
|
|
188
182
|
}
|
|
189
183
|
subscription(path, input, opts) {
|
|
@@ -222,28 +216,34 @@ class TRPCClient {
|
|
|
222
216
|
}
|
|
223
217
|
return ()=>({});
|
|
224
218
|
}
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
219
|
+
function getTransformer() {
|
|
220
|
+
if (!opts.transformer) return {
|
|
221
|
+
serialize: (data)=>data,
|
|
222
|
+
deserialize: (data)=>data
|
|
223
|
+
};
|
|
224
|
+
if ('input' in opts.transformer) return {
|
|
225
|
+
serialize: opts.transformer.input.serialize,
|
|
226
|
+
deserialize: opts.transformer.output.deserialize
|
|
227
|
+
};
|
|
228
|
+
return opts.transformer;
|
|
229
|
+
}
|
|
232
230
|
this.runtime = {
|
|
233
231
|
AbortController: AC,
|
|
234
232
|
fetch: _fetch,
|
|
235
233
|
headers: getHeadersFn(),
|
|
236
|
-
transformer
|
|
234
|
+
transformer: getTransformer()
|
|
237
235
|
};
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
236
|
+
const getLinks = ()=>{
|
|
237
|
+
if (opts.links) {
|
|
238
|
+
return opts.links.map((link)=>link(this.runtime));
|
|
239
|
+
}
|
|
240
|
+
return [
|
|
242
241
|
httpBatchLink({
|
|
243
242
|
url: opts.url
|
|
244
|
-
})(this.runtime)
|
|
243
|
+
})(this.runtime)
|
|
245
244
|
];
|
|
246
|
-
}
|
|
245
|
+
};
|
|
246
|
+
this.links = getLinks();
|
|
247
247
|
}
|
|
248
248
|
}
|
|
249
249
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AnyRouter, ClientDataTransformerOptions,
|
|
1
|
+
import { AnyRouter, ClientDataTransformerOptions, inferProcedureInput, inferProcedureOutput, inferSubscriptionOutput } from '@trpc/server';
|
|
2
2
|
import { ProcedureRecord } from '@trpc/server';
|
|
3
3
|
import { Unsubscribable } from '@trpc/server/observable';
|
|
4
4
|
import { TRPCClientError } from '../TRPCClientError';
|
|
@@ -22,20 +22,6 @@ interface CreateTRPCClientBaseOptions {
|
|
|
22
22
|
**/
|
|
23
23
|
transformer?: ClientDataTransformerOptions;
|
|
24
24
|
}
|
|
25
|
-
/** @internal */
|
|
26
|
-
export interface CreateTRPCClientWithURLOptions extends CreateTRPCClientBaseOptions {
|
|
27
|
-
/**
|
|
28
|
-
* HTTP URL of API
|
|
29
|
-
**/
|
|
30
|
-
url: string;
|
|
31
|
-
}
|
|
32
|
-
/** @internal */
|
|
33
|
-
export interface CreateTRPCClientWithLinksOptions<TRouter extends AnyRouter> extends CreateTRPCClientBaseOptions {
|
|
34
|
-
/**
|
|
35
|
-
* @link https://trpc.io/docs/links
|
|
36
|
-
**/
|
|
37
|
-
links: TRPCLink<TRouter>[];
|
|
38
|
-
}
|
|
39
25
|
export interface TRPCRequestOptions {
|
|
40
26
|
/**
|
|
41
27
|
* Pass additional context to links
|
|
@@ -50,8 +36,16 @@ export interface TRPCSubscriptionObserver<TValue, TError> {
|
|
|
50
36
|
onStopped: () => void;
|
|
51
37
|
onComplete: () => void;
|
|
52
38
|
}
|
|
53
|
-
/**
|
|
54
|
-
|
|
39
|
+
/**
|
|
40
|
+
* This type prohibits `url` from being provided along with `links`
|
|
41
|
+
* @internal
|
|
42
|
+
*/
|
|
43
|
+
export declare type CreateTRPCClientOptions<TRouter extends AnyRouter> = CreateTRPCClientBaseOptions & ({
|
|
44
|
+
links: TRPCLink<TRouter>[];
|
|
45
|
+
} | {
|
|
46
|
+
url: string;
|
|
47
|
+
links?: never;
|
|
48
|
+
});
|
|
55
49
|
export declare type AssertType<T, K> = T extends K ? T : never;
|
|
56
50
|
/**
|
|
57
51
|
* @deprecated
|
|
@@ -69,14 +63,8 @@ export declare class TRPCClient<TRouter extends AnyRouter> {
|
|
|
69
63
|
constructor(opts: CreateTRPCClientOptions<TRouter>);
|
|
70
64
|
private $request;
|
|
71
65
|
private requestAsPromise;
|
|
72
|
-
query<TQueries extends AssertLegacyDef<TRouter>['queries'], TPath extends string & keyof TQueries>(path: TPath,
|
|
73
|
-
|
|
74
|
-
TRPCRequestOptions?
|
|
75
|
-
]): Promise<inferProcedureOutput<TQueries[TPath]>>;
|
|
76
|
-
mutation<TMutations extends AssertLegacyDef<TRouter>['mutations'], TPath extends string & keyof TMutations>(path: TPath, ...args: [
|
|
77
|
-
...inferHandlerInput<AssertType<TMutations, ProcedureRecord>[TPath]>,
|
|
78
|
-
TRPCRequestOptions?
|
|
79
|
-
]): Promise<inferProcedureOutput<TMutations[TPath]>>;
|
|
66
|
+
query<TQueries extends AssertLegacyDef<TRouter>['queries'], TPath extends string & keyof TQueries, TInput extends inferProcedureInput<AssertType<TQueries, ProcedureRecord>[TPath]>>(path: TPath, input?: TInput, opts?: TRPCRequestOptions): Promise<inferProcedureOutput<TQueries[TPath]>>;
|
|
67
|
+
mutation<TMutations extends AssertLegacyDef<TRouter>['mutations'], TPath extends string & keyof TMutations, TInput extends inferProcedureInput<AssertType<TMutations, ProcedureRecord>[TPath]>>(path: TPath, input?: TInput, opts?: TRPCRequestOptions): Promise<inferProcedureOutput<TMutations[TPath]>>;
|
|
80
68
|
subscription<TSubscriptions extends AssertLegacyDef<TRouter>['subscriptions'], TPath extends string & keyof TSubscriptions, TOutput extends inferSubscriptionOutput<TRouter, TPath>, TInput extends inferProcedureInput<AssertType<TSubscriptions, ProcedureRecord>[TPath]>>(path: TPath, input: TInput, opts: TRPCRequestOptions & Partial<TRPCSubscriptionObserver<TOutput, TRPCClientError<TRouter>>>): Unsubscribable;
|
|
81
69
|
}
|
|
82
70
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TRPCClient.d.ts","sourceRoot":"","sources":["../../../../packages/client/src/internals/TRPCClient.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,4BAA4B,EAE5B,
|
|
1
|
+
{"version":3,"file":"TRPCClient.d.ts","sourceRoot":"","sources":["../../../../packages/client/src/internals/TRPCClient.ts"],"names":[],"mappings":"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"}
|
package/dist/links/wsLink.d.ts
CHANGED
|
@@ -11,7 +11,9 @@ export interface WebSocketClientOptions {
|
|
|
11
11
|
WebSocket?: typeof WebSocket;
|
|
12
12
|
retryDelayMs?: typeof retryDelay;
|
|
13
13
|
onOpen?: () => void;
|
|
14
|
-
onClose?: (
|
|
14
|
+
onClose?: (cause?: {
|
|
15
|
+
code?: number;
|
|
16
|
+
}) => void;
|
|
15
17
|
}
|
|
16
18
|
export declare function createWSClient(opts: WebSocketClientOptions): {
|
|
17
19
|
close: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wsLink.d.ts","sourceRoot":"","sources":["../../../../packages/client/src/links/wsLink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiB,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAc,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAKL,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE9C,aAAK,gBAAgB,CAAC,OAAO,SAAS,SAAS,EAAE,OAAO,IAAI,mBAAmB,CAC7E,OAAO,EACP,gBAAgB,CAAC,OAAO,CAAC,CAC1B,CAAC;AAEF,aAAK,kBAAkB,CAAC,OAAO,SAAS,SAAS,EAAE,OAAO,IAAI,QAAQ,CACpE,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,EAClC,eAAe,CAAC,OAAO,CAAC,CACzB,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,OAAO,SAAS,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,UAAU,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"wsLink.d.ts","sourceRoot":"","sources":["../../../../packages/client/src/links/wsLink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiB,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAc,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAKL,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE9C,aAAK,gBAAgB,CAAC,OAAO,SAAS,SAAS,EAAE,OAAO,IAAI,mBAAmB,CAC7E,OAAO,EACP,gBAAgB,CAAC,OAAO,CAAC,CAC1B,CAAC;AAEF,aAAK,kBAAkB,CAAC,OAAO,SAAS,SAAS,EAAE,OAAO,IAAI,QAAQ,CACpE,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,EAClC,eAAe,CAAC,OAAO,CAAC,CACzB,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,OAAO,SAAS,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,UAAU,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CAC/C;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,sBAAsB;;kBAuMpC,SAAS,wDAA0B,aAAa;;EAiDtE;AACD,oBAAY,mBAAmB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAEpE,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,mBAAmB,CAAC;CAC7B;AAiBD,wBAAgB,MAAM,CAAC,OAAO,SAAS,SAAS,EAC9C,IAAI,EAAE,oBAAoB,GACzB,QAAQ,CAAC,OAAO,CAAC,CA4DnB"}
|
package/dist/links/wsLink.js
CHANGED
|
@@ -134,9 +134,11 @@ function createWSClient(opts) {
|
|
|
134
134
|
closeIfNoPending(conn);
|
|
135
135
|
}
|
|
136
136
|
});
|
|
137
|
-
conn.addEventListener('close', ()=>{
|
|
137
|
+
conn.addEventListener('close', ({ code })=>{
|
|
138
138
|
if (state === 'open') {
|
|
139
|
-
onClose?.(
|
|
139
|
+
onClose?.({
|
|
140
|
+
code
|
|
141
|
+
});
|
|
140
142
|
}
|
|
141
143
|
if (activeConnection === conn) {
|
|
142
144
|
// connection might have been replaced already
|
package/dist/links/wsLink.mjs
CHANGED
|
@@ -130,9 +130,11 @@ function createWSClient(opts) {
|
|
|
130
130
|
closeIfNoPending(conn);
|
|
131
131
|
}
|
|
132
132
|
});
|
|
133
|
-
conn.addEventListener('close', ()=>{
|
|
133
|
+
conn.addEventListener('close', ({ code })=>{
|
|
134
134
|
if (state === 'open') {
|
|
135
|
-
onClose?.(
|
|
135
|
+
onClose?.({
|
|
136
|
+
code
|
|
137
|
+
});
|
|
136
138
|
}
|
|
137
139
|
if (activeConnection === conn) {
|
|
138
140
|
// connection might have been replaced already
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trpc/client",
|
|
3
|
-
"version": "10.0.0-proxy-alpha.
|
|
3
|
+
"version": "10.0.0-proxy-alpha.74",
|
|
4
4
|
"description": "tRPC Client lib",
|
|
5
5
|
"author": "KATT",
|
|
6
6
|
"license": "MIT",
|
|
@@ -63,13 +63,13 @@
|
|
|
63
63
|
"ts-watch": "tsc --project tsconfig.watch.json"
|
|
64
64
|
},
|
|
65
65
|
"peerDependencies": {
|
|
66
|
-
"@trpc/server": "10.0.0-proxy-alpha.
|
|
66
|
+
"@trpc/server": "10.0.0-proxy-alpha.74"
|
|
67
67
|
},
|
|
68
68
|
"devDependencies": {
|
|
69
|
-
"@trpc/server": "10.0.0-proxy-alpha.
|
|
69
|
+
"@trpc/server": "10.0.0-proxy-alpha.74"
|
|
70
70
|
},
|
|
71
71
|
"publishConfig": {
|
|
72
72
|
"access": "public"
|
|
73
73
|
},
|
|
74
|
-
"gitHead": "
|
|
74
|
+
"gitHead": "c5967bd23e1f0839ddd6022614d730bf160a54b8"
|
|
75
75
|
}
|
|
@@ -2,7 +2,6 @@ import {
|
|
|
2
2
|
AnyRouter,
|
|
3
3
|
ClientDataTransformerOptions,
|
|
4
4
|
DataTransformer,
|
|
5
|
-
inferHandlerInput,
|
|
6
5
|
inferProcedureInput,
|
|
7
6
|
inferProcedureOutput,
|
|
8
7
|
inferSubscriptionOutput,
|
|
@@ -47,24 +46,6 @@ interface CreateTRPCClientBaseOptions {
|
|
|
47
46
|
transformer?: ClientDataTransformerOptions;
|
|
48
47
|
}
|
|
49
48
|
|
|
50
|
-
/** @internal */
|
|
51
|
-
export interface CreateTRPCClientWithURLOptions
|
|
52
|
-
extends CreateTRPCClientBaseOptions {
|
|
53
|
-
/**
|
|
54
|
-
* HTTP URL of API
|
|
55
|
-
**/
|
|
56
|
-
url: string;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/** @internal */
|
|
60
|
-
export interface CreateTRPCClientWithLinksOptions<TRouter extends AnyRouter>
|
|
61
|
-
extends CreateTRPCClientBaseOptions {
|
|
62
|
-
/**
|
|
63
|
-
* @link https://trpc.io/docs/links
|
|
64
|
-
**/
|
|
65
|
-
links: TRPCLink<TRouter>[];
|
|
66
|
-
}
|
|
67
|
-
|
|
68
49
|
type TRPCType = 'subscription' | 'query' | 'mutation';
|
|
69
50
|
export interface TRPCRequestOptions {
|
|
70
51
|
/**
|
|
@@ -82,10 +63,21 @@ export interface TRPCSubscriptionObserver<TValue, TError> {
|
|
|
82
63
|
onComplete: () => void;
|
|
83
64
|
}
|
|
84
65
|
|
|
85
|
-
/**
|
|
66
|
+
/**
|
|
67
|
+
* This type prohibits `url` from being provided along with `links`
|
|
68
|
+
* @internal
|
|
69
|
+
*/
|
|
86
70
|
export type CreateTRPCClientOptions<TRouter extends AnyRouter> =
|
|
87
|
-
|
|
|
88
|
-
|
|
71
|
+
| CreateTRPCClientBaseOptions &
|
|
72
|
+
(
|
|
73
|
+
| {
|
|
74
|
+
links: TRPCLink<TRouter>[];
|
|
75
|
+
}
|
|
76
|
+
| {
|
|
77
|
+
url: string;
|
|
78
|
+
links?: never;
|
|
79
|
+
}
|
|
80
|
+
);
|
|
89
81
|
|
|
90
82
|
export type AssertType<T, K> = T extends K ? T : never;
|
|
91
83
|
/**
|
|
@@ -124,34 +116,35 @@ export class TRPCClient<TRouter extends AnyRouter> {
|
|
|
124
116
|
return () => ({});
|
|
125
117
|
}
|
|
126
118
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
serialize: opts.transformer.input.serialize,
|
|
131
|
-
deserialize: opts.transformer.output.deserialize,
|
|
132
|
-
}
|
|
133
|
-
: opts.transformer
|
|
134
|
-
: {
|
|
119
|
+
function getTransformer(): DataTransformer {
|
|
120
|
+
if (!opts.transformer)
|
|
121
|
+
return {
|
|
135
122
|
serialize: (data) => data,
|
|
136
123
|
deserialize: (data) => data,
|
|
137
124
|
};
|
|
125
|
+
if ('input' in opts.transformer)
|
|
126
|
+
return {
|
|
127
|
+
serialize: opts.transformer.input.serialize,
|
|
128
|
+
deserialize: opts.transformer.output.deserialize,
|
|
129
|
+
};
|
|
130
|
+
return opts.transformer;
|
|
131
|
+
}
|
|
138
132
|
|
|
139
133
|
this.runtime = {
|
|
140
134
|
AbortController: AC,
|
|
141
135
|
fetch: _fetch,
|
|
142
136
|
headers: getHeadersFn(),
|
|
143
|
-
transformer,
|
|
137
|
+
transformer: getTransformer(),
|
|
144
138
|
};
|
|
145
139
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
}
|
|
140
|
+
const getLinks = (): OperationLink<TRouter>[] => {
|
|
141
|
+
if (opts.links) {
|
|
142
|
+
return opts.links.map((link) => link(this.runtime));
|
|
143
|
+
}
|
|
144
|
+
return [httpBatchLink({ url: opts.url })(this.runtime)];
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
this.links = getLinks();
|
|
155
148
|
}
|
|
156
149
|
|
|
157
150
|
private $request<TInput = unknown, TOutput = unknown>({
|
|
@@ -205,51 +198,33 @@ export class TRPCClient<TRouter extends AnyRouter> {
|
|
|
205
198
|
public query<
|
|
206
199
|
TQueries extends AssertLegacyDef<TRouter>['queries'],
|
|
207
200
|
TPath extends string & keyof TQueries,
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
) {
|
|
215
|
-
// FIXME: Should be inferred from `args`
|
|
216
|
-
const context = (args[1] as TRPCRequestOptions | undefined)?.context;
|
|
217
|
-
const signal = (args[1] as TRPCRequestOptions | undefined)?.signal;
|
|
218
|
-
|
|
219
|
-
return this.requestAsPromise<
|
|
220
|
-
inferHandlerInput<AssertType<TQueries, ProcedureRecord>[TPath]>,
|
|
221
|
-
inferProcedureOutput<TQueries[TPath]>
|
|
222
|
-
>({
|
|
201
|
+
TInput extends inferProcedureInput<
|
|
202
|
+
AssertType<TQueries, ProcedureRecord>[TPath]
|
|
203
|
+
>,
|
|
204
|
+
>(path: TPath, input?: TInput, opts?: TRPCRequestOptions) {
|
|
205
|
+
type TOutput = inferProcedureOutput<TQueries[TPath]>;
|
|
206
|
+
return this.requestAsPromise<TInput, TOutput>({
|
|
223
207
|
type: 'query',
|
|
224
208
|
path,
|
|
225
|
-
input:
|
|
226
|
-
context,
|
|
227
|
-
signal,
|
|
209
|
+
input: input as TInput,
|
|
210
|
+
context: opts?.context,
|
|
211
|
+
signal: opts?.signal,
|
|
228
212
|
});
|
|
229
213
|
}
|
|
230
214
|
public mutation<
|
|
231
215
|
TMutations extends AssertLegacyDef<TRouter>['mutations'],
|
|
232
216
|
TPath extends string & keyof TMutations,
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
) {
|
|
240
|
-
// FIXME: Should be inferred from `args`
|
|
241
|
-
const context = (args[1] as TRPCRequestOptions | undefined)?.context;
|
|
242
|
-
const signal = (args[1] as TRPCRequestOptions | undefined)?.signal;
|
|
243
|
-
|
|
244
|
-
return this.requestAsPromise<
|
|
245
|
-
inferHandlerInput<AssertType<TMutations, ProcedureRecord>[TPath]>,
|
|
246
|
-
inferProcedureOutput<TMutations[TPath]>
|
|
247
|
-
>({
|
|
217
|
+
TInput extends inferProcedureInput<
|
|
218
|
+
AssertType<TMutations, ProcedureRecord>[TPath]
|
|
219
|
+
>,
|
|
220
|
+
>(path: TPath, input?: TInput, opts?: TRPCRequestOptions) {
|
|
221
|
+
type TOutput = inferProcedureOutput<TMutations[TPath]>;
|
|
222
|
+
return this.requestAsPromise<TInput, TOutput>({
|
|
248
223
|
type: 'mutation',
|
|
249
224
|
path,
|
|
250
|
-
input:
|
|
251
|
-
context,
|
|
252
|
-
signal,
|
|
225
|
+
input: input as TInput,
|
|
226
|
+
context: opts?.context,
|
|
227
|
+
signal: opts?.signal,
|
|
253
228
|
});
|
|
254
229
|
}
|
|
255
230
|
public subscription<
|
package/src/links/wsLink.ts
CHANGED
|
@@ -27,7 +27,7 @@ export interface WebSocketClientOptions {
|
|
|
27
27
|
WebSocket?: typeof WebSocket;
|
|
28
28
|
retryDelayMs?: typeof retryDelay;
|
|
29
29
|
onOpen?: () => void;
|
|
30
|
-
onClose?: () => void;
|
|
30
|
+
onClose?: (cause?: { code?: number }) => void;
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
export function createWSClient(opts: WebSocketClientOptions) {
|
|
@@ -198,9 +198,9 @@ export function createWSClient(opts: WebSocketClientOptions) {
|
|
|
198
198
|
}
|
|
199
199
|
});
|
|
200
200
|
|
|
201
|
-
conn.addEventListener('close', () => {
|
|
201
|
+
conn.addEventListener('close', ({ code }) => {
|
|
202
202
|
if (state === 'open') {
|
|
203
|
-
onClose?.();
|
|
203
|
+
onClose?.({ code });
|
|
204
204
|
}
|
|
205
205
|
|
|
206
206
|
if (activeConnection === conn) {
|