@trpc/client 11.1.3-canary.7 → 11.1.3

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.
@@ -93,6 +93,10 @@ export declare class RequestManager {
93
93
  * Checks if there are any pending requests, including ongoing subscriptions.
94
94
  */
95
95
  hasPendingRequests(): boolean;
96
+ /**
97
+ * Checks if there are any pending subscriptions
98
+ */
99
+ hasPendingSubscriptions(): boolean;
96
100
  /**
97
101
  * Checks if there are any outgoing requests waiting to be sent.
98
102
  */
@@ -1 +1 @@
1
- {"version":3,"file":"requestManager.d.ts","sourceRoot":"","sources":["../../../../src/links/wsLink/wsClient/requestManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EACV,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAGhE,MAAM,MAAM,UAAU,GAAG,QAAQ,CAC/B,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC,EAC7D,eAAe,CAAC,aAAa,CAAC,CAC/B,CAAC;AAEF,KAAK,SAAS,GAAG,MAAM,CAAC;AACxB,KAAK,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAE5C;;;;GAIG;AACH,UAAU,OAAO;IACf,OAAO,EAAE,yBAAyB,CAAC;IACnC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,SAAS,EAAE,UAAU,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,qBAAa,cAAc;IACzB;;OAEG;IACH,OAAO,CAAC,gBAAgB,CAA4C;IAEpE;;;;OAIG;IACH,OAAO,CAAC,eAAe,CAAkC;IAEzD;;;;;;;OAOG;IACI,QAAQ,CAAC,OAAO,EAAE,yBAAyB,EAAE,SAAS,EAAE,UAAU;IA2BzE;;OAEG;IACI,MAAM,CAAC,SAAS,EAAE,aAAa;IAStC;;;;;;;OAOG;IACI,KAAK;YAhEyC,SAAS;;IA0E9D;;;OAGG;IACI,kBAAkB;IAIzB;;OAEG;IACI,iBAAiB,CAAC,SAAS,EAAE,aAAa;IAMjD;;OAEG;IACI,mBAAmB;YA9F2B,SAAS;;IAkG9D;;;;OAIG;IACI,WAAW;;;;;;;;;;;IAiBlB;;OAEG;IACI,kBAAkB;IAIzB;;OAEG;IACI,mBAAmB;CAG3B"}
1
+ {"version":3,"file":"requestManager.d.ts","sourceRoot":"","sources":["../../../../src/links/wsLink/wsClient/requestManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EACV,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAGhE,MAAM,MAAM,UAAU,GAAG,QAAQ,CAC/B,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC,EAC7D,eAAe,CAAC,aAAa,CAAC,CAC/B,CAAC;AAEF,KAAK,SAAS,GAAG,MAAM,CAAC;AACxB,KAAK,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAE5C;;;;GAIG;AACH,UAAU,OAAO;IACf,OAAO,EAAE,yBAAyB,CAAC;IACnC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,SAAS,EAAE,UAAU,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,qBAAa,cAAc;IACzB;;OAEG;IACH,OAAO,CAAC,gBAAgB,CAA4C;IAEpE;;;;OAIG;IACH,OAAO,CAAC,eAAe,CAAkC;IAEzD;;;;;;;OAOG;IACI,QAAQ,CAAC,OAAO,EAAE,yBAAyB,EAAE,SAAS,EAAE,UAAU;IA2BzE;;OAEG;IACI,MAAM,CAAC,SAAS,EAAE,aAAa;IAStC;;;;;;;OAOG;IACI,KAAK;YAhEyC,SAAS;;IA0E9D;;;OAGG;IACI,kBAAkB;IAIzB;;OAEG;IACI,iBAAiB,CAAC,SAAS,EAAE,aAAa;IAMjD;;OAEG;IACI,mBAAmB;YA9F2B,SAAS;;IAkG9D;;;;OAIG;IACI,WAAW;;;;;;;;;;;IAiBlB;;OAEG;IACI,kBAAkB;IAIzB;;OAEG;IACI,uBAAuB;IAM9B;;OAEG;IACI,mBAAmB;CAG3B"}
@@ -119,6 +119,11 @@ function _define_property(obj, key, value) {
119
119
  return this.getPendingRequests().length > 0;
120
120
  }
121
121
  /**
122
+ * Checks if there are any pending subscriptions
123
+ */ hasPendingSubscriptions() {
124
+ return this.getPendingRequests().some((request)=>request.message.method === 'subscription');
125
+ }
126
+ /**
122
127
  * Checks if there are any outgoing requests waiting to be sent.
123
128
  */ hasOutgoingRequests() {
124
129
  return this.outgoingRequests.length > 0;
@@ -117,6 +117,11 @@ function _define_property(obj, key, value) {
117
117
  return this.getPendingRequests().length > 0;
118
118
  }
119
119
  /**
120
+ * Checks if there are any pending subscriptions
121
+ */ hasPendingSubscriptions() {
122
+ return this.getPendingRequests().some((request)=>request.message.method === 'subscription');
123
+ }
124
+ /**
120
125
  * Checks if there are any outgoing requests waiting to be sent.
121
126
  */ hasOutgoingRequests() {
122
127
  return this.outgoingRequests.length > 0;
@@ -188,7 +188,7 @@ function _define_property(obj, key, value) {
188
188
  ws.addEventListener('close', (event)=>{
189
189
  handleCloseOrError(event);
190
190
  this.callbacks.onClose?.(event);
191
- if (!this.lazyMode) {
191
+ if (!this.lazyMode || this.requestManager.hasPendingSubscriptions()) {
192
192
  this.reconnect(new utils.TRPCWebSocketClosedError({
193
193
  message: 'WebSocket closed',
194
194
  cause: event
@@ -186,7 +186,7 @@ function _define_property(obj, key, value) {
186
186
  ws.addEventListener('close', (event)=>{
187
187
  handleCloseOrError(event);
188
188
  this.callbacks.onClose?.(event);
189
- if (!this.lazyMode) {
189
+ if (!this.lazyMode || this.requestManager.hasPendingSubscriptions()) {
190
190
  this.reconnect(new TRPCWebSocketClosedError({
191
191
  message: 'WebSocket closed',
192
192
  cause: event
@@ -0,0 +1 @@
1
+ export * from '../../dist/links/wsLink';
@@ -0,0 +1 @@
1
+ module.exports = require('../../dist/links/wsLink');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trpc/client",
3
- "version": "11.1.3-canary.7+f35eb5a2e",
3
+ "version": "11.1.3",
4
4
  "description": "The tRPC client library",
5
5
  "author": "KATT",
6
6
  "license": "MIT",
@@ -77,11 +77,11 @@
77
77
  "!**/__tests__"
78
78
  ],
79
79
  "peerDependencies": {
80
- "@trpc/server": "11.1.3-canary.7+f35eb5a2e",
80
+ "@trpc/server": "11.1.3",
81
81
  "typescript": ">=5.7.2"
82
82
  },
83
83
  "devDependencies": {
84
- "@trpc/server": "11.1.3-canary.7+f35eb5a2e",
84
+ "@trpc/server": "11.1.3",
85
85
  "@types/isomorphic-fetch": "^0.0.39",
86
86
  "@types/node": "^22.13.5",
87
87
  "dataloader": "^2.2.2",
@@ -101,5 +101,5 @@
101
101
  "funding": [
102
102
  "https://trpc.io/sponsor"
103
103
  ],
104
- "gitHead": "f35eb5a2e2cb5514d22ed4bcbf4a4addebd00ff9"
104
+ "gitHead": "136b18fc55fece9b8f06d4a17780cff7f55cabf5"
105
105
  }
@@ -165,6 +165,15 @@ export class RequestManager {
165
165
  return this.getPendingRequests().length > 0;
166
166
  }
167
167
 
168
+ /**
169
+ * Checks if there are any pending subscriptions
170
+ */
171
+ public hasPendingSubscriptions() {
172
+ return this.getPendingRequests().some(
173
+ (request) => request.message.method === 'subscription',
174
+ );
175
+ }
176
+
168
177
  /**
169
178
  * Checks if there are any outgoing requests waiting to be sent.
170
179
  */
@@ -330,7 +330,7 @@ export class WsClient {
330
330
  handleCloseOrError(event);
331
331
  this.callbacks.onClose?.(event);
332
332
 
333
- if (!this.lazyMode) {
333
+ if (!this.lazyMode || this.requestManager.hasPendingSubscriptions()) {
334
334
  this.reconnect(
335
335
  new TRPCWebSocketClosedError({
336
336
  message: 'WebSocket closed',
@@ -1,433 +0,0 @@
1
- {
2
- "bundleSize": 76364,
3
- "bundleOrigSize": 94870,
4
- "bundleReduction": 19.51,
5
- "modules": [
6
- {
7
- "id": "/src/links/wsLink/wsClient/wsClient.ts",
8
- "size": 12067,
9
- "origSize": 12199,
10
- "renderedExports": [
11
- "WsClient"
12
- ],
13
- "removedExports": [],
14
- "dependents": [
15
- "/src/links/wsLink/createWsClient.ts"
16
- ],
17
- "percent": 15.8,
18
- "reduction": 1.08
19
- },
20
- {
21
- "id": "/src/links/httpSubscriptionLink.ts",
22
- "size": 8084,
23
- "origSize": 7816,
24
- "renderedExports": [
25
- "httpSubscriptionLink",
26
- "unstable_httpSubscriptionLink"
27
- ],
28
- "removedExports": [],
29
- "dependents": [],
30
- "percent": 10.59,
31
- "reduction": 0
32
- },
33
- {
34
- "id": "/src/links/wsLink/wsClient/wsConnection.ts",
35
- "size": 6174,
36
- "origSize": 6492,
37
- "renderedExports": [
38
- "WsConnection",
39
- "backwardCompatibility"
40
- ],
41
- "removedExports": [],
42
- "dependents": [
43
- "/src/links/wsLink/wsClient/wsClient.ts"
44
- ],
45
- "percent": 8.08,
46
- "reduction": 4.9
47
- },
48
- {
49
- "id": "/src/links/httpBatchStreamLink.ts",
50
- "size": 6129,
51
- "origSize": 6101,
52
- "renderedExports": [
53
- "httpBatchStreamLink",
54
- "unstable_httpBatchStreamLink"
55
- ],
56
- "removedExports": [],
57
- "dependents": [],
58
- "percent": 8.03,
59
- "reduction": 0
60
- },
61
- {
62
- "id": "/src/links/loggerLink.ts",
63
- "size": 5596,
64
- "origSize": 6946,
65
- "renderedExports": [
66
- "loggerLink"
67
- ],
68
- "removedExports": [],
69
- "dependents": [],
70
- "percent": 7.33,
71
- "reduction": 19.44
72
- },
73
- {
74
- "id": "/src/links/wsLink/wsClient/requestManager.ts",
75
- "size": 4792,
76
- "origSize": 5216,
77
- "renderedExports": [
78
- "RequestManager"
79
- ],
80
- "removedExports": [],
81
- "dependents": [
82
- "/src/links/wsLink/wsClient/wsClient.ts"
83
- ],
84
- "percent": 6.28,
85
- "reduction": 8.13
86
- },
87
- {
88
- "id": "/src/links/httpBatchLink.ts",
89
- "size": 4124,
90
- "origSize": 4323,
91
- "renderedExports": [
92
- "httpBatchLink"
93
- ],
94
- "removedExports": [],
95
- "dependents": [],
96
- "percent": 5.4,
97
- "reduction": 4.6
98
- },
99
- {
100
- "id": "/src/internals/dataLoader.ts",
101
- "size": 4026,
102
- "origSize": 4261,
103
- "renderedExports": [
104
- "dataLoader"
105
- ],
106
- "removedExports": [],
107
- "dependents": [
108
- "/src/links/httpBatchLink.ts",
109
- "/src/links/httpBatchStreamLink.ts"
110
- ],
111
- "percent": 5.27,
112
- "reduction": 5.52
113
- },
114
- {
115
- "id": "/src/links/internals/httpUtils.ts",
116
- "size": 3692,
117
- "origSize": 5873,
118
- "renderedExports": [
119
- "resolveHTTPLinkOptions",
120
- "getInput",
121
- "getUrl",
122
- "getBody",
123
- "jsonHttpRequester",
124
- "fetchHTTPResponse",
125
- "httpRequest"
126
- ],
127
- "removedExports": [],
128
- "dependents": [
129
- "/src/links/httpBatchLink.ts",
130
- "/src/links/httpLink.ts",
131
- "/src/links/httpBatchStreamLink.ts",
132
- "/src/links/httpSubscriptionLink.ts"
133
- ],
134
- "percent": 4.83,
135
- "reduction": 37.14
136
- },
137
- {
138
- "id": "/src/links/httpLink.ts",
139
- "size": 3292,
140
- "origSize": 3765,
141
- "renderedExports": [
142
- "httpLink"
143
- ],
144
- "removedExports": [],
145
- "dependents": [],
146
- "percent": 4.31,
147
- "reduction": 12.56
148
- },
149
- {
150
- "id": "/src/internals/TRPCUntypedClient.ts",
151
- "size": 3158,
152
- "origSize": 4417,
153
- "renderedExports": [
154
- "TRPCUntypedClient"
155
- ],
156
- "removedExports": [],
157
- "dependents": [
158
- "/src/createTRPCUntypedClient.ts",
159
- "/src/createTRPCClient.ts"
160
- ],
161
- "percent": 4.14,
162
- "reduction": 28.5
163
- },
164
- {
165
- "id": "/src/TRPCClientError.ts",
166
- "size": 2787,
167
- "origSize": 3564,
168
- "renderedExports": [
169
- "TRPCClientError"
170
- ],
171
- "removedExports": [],
172
- "dependents": [
173
- "/src/index.ts",
174
- "/src/links/httpBatchLink.ts",
175
- "/src/links/httpLink.ts",
176
- "/src/links/httpBatchStreamLink.ts",
177
- "/src/links/httpSubscriptionLink.ts",
178
- "/src/internals/TRPCUntypedClient.ts",
179
- "/src/links/wsLink/wsClient/wsClient.ts"
180
- ],
181
- "percent": 3.65,
182
- "reduction": 21.8
183
- },
184
- {
185
- "id": "/src/links/wsLink/wsClient/utils.ts",
186
- "size": 2781,
187
- "origSize": 2794,
188
- "renderedExports": [
189
- "TRPCWebSocketClosedError",
190
- "ResettableTimeout",
191
- "withResolvers",
192
- "prepareUrl",
193
- "buildConnectionMessage"
194
- ],
195
- "removedExports": [],
196
- "dependents": [
197
- "/src/links/wsLink/wsClient/wsClient.ts",
198
- "/src/links/wsLink/wsClient/requestManager.ts",
199
- "/src/links/wsLink/wsClient/wsConnection.ts"
200
- ],
201
- "percent": 3.64,
202
- "reduction": 0.47
203
- },
204
- {
205
- "id": "/src/links/retryLink.ts",
206
- "size": 2590,
207
- "origSize": 3222,
208
- "renderedExports": [
209
- "retryLink"
210
- ],
211
- "removedExports": [],
212
- "dependents": [],
213
- "percent": 3.39,
214
- "reduction": 19.62
215
- },
216
- {
217
- "id": "/src/internals/signals.ts",
218
- "size": 1188,
219
- "origSize": 1236,
220
- "renderedExports": [
221
- "allAbortSignals",
222
- "raceAbortSignals"
223
- ],
224
- "removedExports": [],
225
- "dependents": [
226
- "/src/links/httpBatchLink.ts",
227
- "/src/links/httpBatchStreamLink.ts",
228
- "/src/links/httpSubscriptionLink.ts"
229
- ],
230
- "percent": 1.56,
231
- "reduction": 3.88
232
- },
233
- {
234
- "id": "/src/createTRPCClient.ts",
235
- "size": 1170,
236
- "origSize": 4737,
237
- "renderedExports": [
238
- "clientCallTypeToProcedureType",
239
- "createTRPCClientProxy",
240
- "createTRPCClient",
241
- "getUntypedClient"
242
- ],
243
- "removedExports": [],
244
- "dependents": [
245
- "/src/index.ts"
246
- ],
247
- "percent": 1.53,
248
- "reduction": 75.3
249
- },
250
- {
251
- "id": "/src/links/wsLink/wsLink.ts",
252
- "size": 939,
253
- "origSize": 1600,
254
- "renderedExports": [
255
- "wsLink",
256
- "createWSClient"
257
- ],
258
- "removedExports": [],
259
- "dependents": [],
260
- "percent": 1.23,
261
- "reduction": 41.31
262
- },
263
- {
264
- "id": "/src/links/internals/createChain.ts",
265
- "size": 690,
266
- "origSize": 1026,
267
- "renderedExports": [
268
- "createChain"
269
- ],
270
- "removedExports": [],
271
- "dependents": [
272
- "/src/links/splitLink.ts",
273
- "/src/internals/TRPCUntypedClient.ts"
274
- ],
275
- "percent": 0.9,
276
- "reduction": 32.75
277
- },
278
- {
279
- "id": "/src/links/splitLink.ts",
280
- "size": 610,
281
- "origSize": 1108,
282
- "renderedExports": [
283
- "splitLink"
284
- ],
285
- "removedExports": [],
286
- "dependents": [],
287
- "percent": 0.8,
288
- "reduction": 44.95
289
- },
290
- {
291
- "id": "/src/internals/transformer.ts",
292
- "size": 565,
293
- "origSize": 1697,
294
- "renderedExports": [
295
- "getTransformer"
296
- ],
297
- "removedExports": [],
298
- "dependents": [
299
- "/src/unstable-internals.ts"
300
- ],
301
- "percent": 0.74,
302
- "reduction": 66.71
303
- },
304
- {
305
- "id": "/src/links/wsLink/wsClient/options.ts",
306
- "size": 485,
307
- "origSize": 2636,
308
- "renderedExports": [
309
- "lazyDefaults",
310
- "keepAliveDefaults",
311
- "exponentialBackoff"
312
- ],
313
- "removedExports": [],
314
- "dependents": [
315
- "/src/links/wsLink/wsClient/wsClient.ts"
316
- ],
317
- "percent": 0.64,
318
- "reduction": 81.6
319
- },
320
- {
321
- "id": "/src/getFetch.ts",
322
- "size": 428,
323
- "origSize": 644,
324
- "renderedExports": [
325
- "getFetch"
326
- ],
327
- "removedExports": [],
328
- "dependents": [
329
- "/src/index.ts",
330
- "/src/links/internals/httpUtils.ts"
331
- ],
332
- "percent": 0.56,
333
- "reduction": 33.54
334
- },
335
- {
336
- "id": "/src/links/internals/contentTypes.ts",
337
- "size": 330,
338
- "origSize": 389,
339
- "renderedExports": [
340
- "isOctetType",
341
- "isFormData",
342
- "isNonJsonSerializable"
343
- ],
344
- "removedExports": [],
345
- "dependents": [],
346
- "percent": 0.43,
347
- "reduction": 15.17
348
- },
349
- {
350
- "id": "/src/internals/inputWithTrackedEventId.ts",
351
- "size": 254,
352
- "origSize": 273,
353
- "renderedExports": [
354
- "inputWithTrackedEventId"
355
- ],
356
- "removedExports": [],
357
- "dependents": [
358
- "/src/links/httpSubscriptionLink.ts",
359
- "/src/links/retryLink.ts"
360
- ],
361
- "percent": 0.33,
362
- "reduction": 6.96
363
- },
364
- {
365
- "id": "/src/links/internals/urlWithConnectionParams.ts",
366
- "size": 240,
367
- "origSize": 1016,
368
- "renderedExports": [
369
- "resultOf"
370
- ],
371
- "removedExports": [],
372
- "dependents": [
373
- "/src/links/httpSubscriptionLink.ts",
374
- "/src/links/wsLink/wsClient/utils.ts"
375
- ],
376
- "percent": 0.31,
377
- "reduction": 76.38
378
- },
379
- {
380
- "id": "/src/createTRPCUntypedClient.ts",
381
- "size": 100,
382
- "origSize": 574,
383
- "renderedExports": [
384
- "createTRPCUntypedClient"
385
- ],
386
- "removedExports": [],
387
- "dependents": [
388
- "/src/index.ts"
389
- ],
390
- "percent": 0.13,
391
- "reduction": 82.58
392
- },
393
- {
394
- "id": "/src/links/wsLink/createWsClient.ts",
395
- "size": 73,
396
- "origSize": 315,
397
- "renderedExports": [
398
- "createWSClient"
399
- ],
400
- "removedExports": [],
401
- "dependents": [
402
- "/src/links/wsLink/wsLink.ts"
403
- ],
404
- "percent": 0.1,
405
- "reduction": 76.83
406
- },
407
- {
408
- "id": "/src/index.ts",
409
- "size": 0,
410
- "origSize": 540,
411
- "renderedExports": [],
412
- "removedExports": [],
413
- "dependents": [],
414
- "percent": 0,
415
- "reduction": 100
416
- },
417
- {
418
- "id": "/src/unstable-internals.ts",
419
- "size": 0,
420
- "origSize": 90,
421
- "renderedExports": [],
422
- "removedExports": [],
423
- "dependents": [
424
- "/src/links/wsLink/wsLink.ts",
425
- "/src/links/httpSubscriptionLink.ts",
426
- "/src/links/internals/httpUtils.ts"
427
- ],
428
- "percent": 0,
429
- "reduction": 100
430
- }
431
- ],
432
- "moduleCount": 29
433
- }