@trpc/client 11.0.0-rc.498 → 11.0.0-rc.501

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.
@@ -1,20 +1,20 @@
1
1
  {
2
- "bundleSize": 52634,
3
- "bundleOrigSize": 69964,
4
- "bundleReduction": 24.77,
2
+ "bundleSize": 52661,
3
+ "bundleOrigSize": 70097,
4
+ "bundleReduction": 24.87,
5
5
  "modules": [
6
6
  {
7
7
  "id": "/src/links/wsLink.ts",
8
- "size": 13683,
9
- "origSize": 15132,
8
+ "size": 13710,
9
+ "origSize": 15265,
10
10
  "renderedExports": [
11
11
  "createWSClient",
12
12
  "wsLink"
13
13
  ],
14
14
  "removedExports": [],
15
15
  "dependents": [],
16
- "percent": 26,
17
- "reduction": 9.58
16
+ "percent": 26.03,
17
+ "reduction": 10.19
18
18
  },
19
19
  {
20
20
  "id": "/src/links/httpBatchStreamLink.ts",
@@ -25,7 +25,7 @@
25
25
  ],
26
26
  "removedExports": [],
27
27
  "dependents": [],
28
- "percent": 11.14,
28
+ "percent": 11.13,
29
29
  "reduction": 3.51
30
30
  },
31
31
  {
@@ -37,7 +37,7 @@
37
37
  ],
38
38
  "removedExports": [],
39
39
  "dependents": [],
40
- "percent": 10.37,
40
+ "percent": 10.36,
41
41
  "reduction": 18.48
42
42
  },
43
43
  {
@@ -88,7 +88,7 @@
88
88
  ],
89
89
  "removedExports": [],
90
90
  "dependents": [],
91
- "percent": 7.46,
91
+ "percent": 7.45,
92
92
  "reduction": 4.69
93
93
  },
94
94
  {
@@ -147,7 +147,7 @@
147
147
  "/src/links/httpSubscriptionLink.ts",
148
148
  "/src/internals/TRPCUntypedClient.ts"
149
149
  ],
150
- "percent": 3.69,
150
+ "percent": 3.68,
151
151
  "reduction": 45.43
152
152
  },
153
153
  {
@@ -164,7 +164,7 @@
164
164
  "dependents": [
165
165
  "/src/index.ts"
166
166
  ],
167
- "percent": 2.26,
167
+ "percent": 2.25,
168
168
  "reduction": 73.19
169
169
  },
170
170
  {
@@ -267,26 +267,26 @@
267
267
  "reduction": 82.58
268
268
  },
269
269
  {
270
- "id": "/src/unstable-internals.ts",
270
+ "id": "/src/index.ts",
271
271
  "size": 0,
272
- "origSize": 41,
272
+ "origSize": 588,
273
273
  "renderedExports": [],
274
274
  "removedExports": [],
275
- "dependents": [
276
- "/src/links/wsLink.ts",
277
- "/src/links/httpSubscriptionLink.ts",
278
- "/src/links/internals/httpUtils.ts"
279
- ],
275
+ "dependents": [],
280
276
  "percent": 0,
281
277
  "reduction": 100
282
278
  },
283
279
  {
284
- "id": "/src/index.ts",
280
+ "id": "/src/unstable-internals.ts",
285
281
  "size": 0,
286
- "origSize": 588,
282
+ "origSize": 41,
287
283
  "renderedExports": [],
288
284
  "removedExports": [],
289
- "dependents": [],
285
+ "dependents": [
286
+ "/src/links/wsLink.ts",
287
+ "/src/links/httpSubscriptionLink.ts",
288
+ "/src/links/internals/httpUtils.ts"
289
+ ],
290
290
  "percent": 0,
291
291
  "reduction": 100
292
292
  }
@@ -21,6 +21,10 @@ export interface WebSocketClientOptions extends UrlOptionsWithConnectionParams {
21
21
  * Triggered when a WebSocket connection is established
22
22
  */
23
23
  onOpen?: () => void;
24
+ /**
25
+ * Triggered when a WebSocket connection encounters an error
26
+ */
27
+ onError?: (evt?: Event) => void;
24
28
  /**
25
29
  * Triggered when a WebSocket connection is closed
26
30
  */
@@ -1 +1 @@
1
- {"version":3,"file":"wsLink.d.ts","sourceRoot":"","sources":["../../src/links/wsLink.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGvE,OAAO,KAAK,EACV,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAMhB,mBAAmB,EACpB,MAAM,0CAA0C,CAAC;AAElD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAEL,KAAK,8BAA8B,EACpC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAInD,KAAK,gBAAgB,CAAC,OAAO,SAAS,SAAS,EAAE,OAAO,IAAI,mBAAmB,CAC7E,OAAO,EACP,gBAAgB,CAAC,OAAO,CAAC,CAC1B,CAAC;AAEF,KAAK,kBAAkB,CAAC,OAAO,SAAS,SAAS,EAAE,OAAO,IAAI,QAAQ,CACpE,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,EAClC,eAAe,CAAC,OAAO,CAAC,CACzB,CAAC;AAEF,QAAA,MAAM,kBAAkB,iBAAkB,MAAM,WACoB,CAAC;AAErE,MAAM,WAAW,sBAAuB,SAAQ,8BAA8B;IAC5E;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,SAAS,CAAC;IAC7B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,kBAAkB,CAAC;IACzC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC9C;;OAEG;IACH,IAAI,CAAC,EAAE;QACL;;;WAGG;QACH,OAAO,EAAE,OAAO,CAAC;QACjB;;;WAGG;QACH,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAOD,wBAAgB,cAAc,CAAC,IAAI,EAAE,sBAAsB;;oBAsUlC;QACrB,EAAE,EAAE,SAAS,CAAC;QACd,SAAS,yCAAa;QACtB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;KACjC,KAAG,aAAa;;YAvRX,MAAM;;eAGC,MAAM;YACT,SAAS;;eAGN,QAAQ;YACX,SAAS;;eAGN,YAAY;aACd,SAAS;;IA8UlB;;OAEG;;EAGN;AACD,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAEpE,MAAM,MAAM,oBAAoB,CAAC,OAAO,SAAS,SAAS,IAAI;IAC5D,MAAM,EAAE,mBAAmB,CAAC;CAC7B,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;AASlD;;GAEG;AACH,wBAAgB,MAAM,CAAC,OAAO,SAAS,SAAS,EAC9C,IAAI,EAAE,oBAAoB,CAAC,OAAO,CAAC,GAClC,QAAQ,CAAC,OAAO,CAAC,CA+CnB"}
1
+ {"version":3,"file":"wsLink.d.ts","sourceRoot":"","sources":["../../src/links/wsLink.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGvE,OAAO,KAAK,EACV,SAAS,EACT,gBAAgB,EAChB,gBAAgB,EAMhB,mBAAmB,EACpB,MAAM,0CAA0C,CAAC;AAElD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAEL,KAAK,8BAA8B,EACpC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAInD,KAAK,gBAAgB,CAAC,OAAO,SAAS,SAAS,EAAE,OAAO,IAAI,mBAAmB,CAC7E,OAAO,EACP,gBAAgB,CAAC,OAAO,CAAC,CAC1B,CAAC;AAEF,KAAK,kBAAkB,CAAC,OAAO,SAAS,SAAS,EAAE,OAAO,IAAI,QAAQ,CACpE,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,EAClC,eAAe,CAAC,OAAO,CAAC,CACzB,CAAC;AAEF,QAAA,MAAM,kBAAkB,iBAAkB,MAAM,WACoB,CAAC;AAErE,MAAM,WAAW,sBAAuB,SAAQ,8BAA8B;IAC5E;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,SAAS,CAAC;IAC7B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,kBAAkB,CAAC;IACzC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IAChC;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC9C;;OAEG;IACH,IAAI,CAAC,EAAE;QACL;;;WAGG;QACH,OAAO,EAAE,OAAO,CAAC;QACjB;;;WAGG;QACH,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAOD,wBAAgB,cAAc,CAAC,IAAI,EAAE,sBAAsB;;oBAqUlC;QACrB,EAAE,EAAE,SAAS,CAAC;QACd,SAAS,yCAAa;QACtB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;KACjC,KAAG,aAAa;;YAxRX,MAAM;;eAGC,MAAM;YACT,SAAS;;eAGN,QAAQ;YACX,SAAS;;eAGN,YAAY;aACd,SAAS;;IA+UlB;;OAEG;;EAGN;AACD,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAEpE,MAAM,MAAM,oBAAoB,CAAC,OAAO,SAAS,SAAS,IAAI;IAC5D,MAAM,EAAE,mBAAmB,CAAC;CAC7B,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;AASlD;;GAEG;AACH,wBAAgB,MAAM,CAAC,OAAO,SAAS,SAAS,EAC9C,IAAI,EAAE,oBAAoB,CAAC,OAAO,CAAC,GAClC,QAAQ,CAAC,OAAO,CAAC,CA+CnB"}
@@ -13,7 +13,7 @@ const lazyDefaults = {
13
13
  closeMs: 0
14
14
  };
15
15
  function createWSClient(opts) {
16
- const { WebSocket: WebSocketImpl = WebSocket , retryDelayMs: retryDelayFn = exponentialBackoff , onOpen , onClose , } = opts;
16
+ const { WebSocket: WebSocketImpl = WebSocket , retryDelayMs: retryDelayFn = exponentialBackoff , } = opts;
17
17
  const lazyOpts = {
18
18
  ...lazyDefaults,
19
19
  ...opts.lazy
@@ -126,11 +126,12 @@ function createWSClient(opts) {
126
126
  state: 'connecting'
127
127
  };
128
128
  clearTimeout(lazyDisconnectTimer);
129
- const onError = ()=>{
129
+ const onError = (evt)=>{
130
130
  self.state = 'closed';
131
131
  if (self === activeConnection) {
132
132
  tryReconnect(self);
133
133
  }
134
+ opts.onError?.(evt);
134
135
  };
135
136
  run(async ()=>{
136
137
  let url = await urlWithConnectionParams.resultOf(opts.url);
@@ -157,7 +158,7 @@ function createWSClient(opts) {
157
158
  }
158
159
  connectAttempt = 0;
159
160
  self.state = 'open';
160
- onOpen?.();
161
+ opts.onOpen?.();
161
162
  dispatch();
162
163
  }).catch((cause)=>{
163
164
  ws.close(// "Status codes in the range 3000-3999 are reserved for use by libraries, frameworks, and applications"
@@ -215,7 +216,7 @@ function createWSClient(opts) {
215
216
  });
216
217
  ws.addEventListener('close', ({ code })=>{
217
218
  if (self.state === 'open') {
218
- onClose?.({
219
+ opts.onClose?.({
219
220
  code
220
221
  });
221
222
  }
@@ -11,7 +11,7 @@ const lazyDefaults = {
11
11
  closeMs: 0
12
12
  };
13
13
  function createWSClient(opts) {
14
- const { WebSocket: WebSocketImpl = WebSocket , retryDelayMs: retryDelayFn = exponentialBackoff , onOpen , onClose , } = opts;
14
+ const { WebSocket: WebSocketImpl = WebSocket , retryDelayMs: retryDelayFn = exponentialBackoff , } = opts;
15
15
  const lazyOpts = {
16
16
  ...lazyDefaults,
17
17
  ...opts.lazy
@@ -124,11 +124,12 @@ function createWSClient(opts) {
124
124
  state: 'connecting'
125
125
  };
126
126
  clearTimeout(lazyDisconnectTimer);
127
- const onError = ()=>{
127
+ const onError = (evt)=>{
128
128
  self.state = 'closed';
129
129
  if (self === activeConnection) {
130
130
  tryReconnect(self);
131
131
  }
132
+ opts.onError?.(evt);
132
133
  };
133
134
  run(async ()=>{
134
135
  let url = await resultOf(opts.url);
@@ -155,7 +156,7 @@ function createWSClient(opts) {
155
156
  }
156
157
  connectAttempt = 0;
157
158
  self.state = 'open';
158
- onOpen?.();
159
+ opts.onOpen?.();
159
160
  dispatch();
160
161
  }).catch((cause)=>{
161
162
  ws.close(// "Status codes in the range 3000-3999 are reserved for use by libraries, frameworks, and applications"
@@ -213,7 +214,7 @@ function createWSClient(opts) {
213
214
  });
214
215
  ws.addEventListener('close', ({ code })=>{
215
216
  if (self.state === 'open') {
216
- onClose?.({
217
+ opts.onClose?.({
217
218
  code
218
219
  });
219
220
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trpc/client",
3
- "version": "11.0.0-rc.498+5714423cc",
3
+ "version": "11.0.0-rc.501+2a284167b",
4
4
  "description": "The tRPC client library",
5
5
  "author": "KATT",
6
6
  "license": "MIT",
@@ -76,10 +76,10 @@
76
76
  "!**/*.test.*"
77
77
  ],
78
78
  "peerDependencies": {
79
- "@trpc/server": "11.0.0-rc.498+5714423cc"
79
+ "@trpc/server": "11.0.0-rc.501+2a284167b"
80
80
  },
81
81
  "devDependencies": {
82
- "@trpc/server": "11.0.0-rc.498+5714423cc",
82
+ "@trpc/server": "11.0.0-rc.501+2a284167b",
83
83
  "@types/isomorphic-fetch": "^0.0.39",
84
84
  "@types/node": "^20.10.0",
85
85
  "eslint": "^8.57.0",
@@ -96,5 +96,5 @@
96
96
  "funding": [
97
97
  "https://trpc.io/sponsor"
98
98
  ],
99
- "gitHead": "5714423cc8d807a11466663b22eff67ec7286909"
99
+ "gitHead": "2a284167b37bb4fd699eb650e31afba304d1ba9a"
100
100
  }
@@ -51,6 +51,10 @@ export interface WebSocketClientOptions extends UrlOptionsWithConnectionParams {
51
51
  * Triggered when a WebSocket connection is established
52
52
  */
53
53
  onOpen?: () => void;
54
+ /**
55
+ * Triggered when a WebSocket connection encounters an error
56
+ */
57
+ onError?: (evt?: Event) => void;
54
58
  /**
55
59
  * Triggered when a WebSocket connection is closed
56
60
  */
@@ -81,8 +85,6 @@ export function createWSClient(opts: WebSocketClientOptions) {
81
85
  const {
82
86
  WebSocket: WebSocketImpl = WebSocket,
83
87
  retryDelayMs: retryDelayFn = exponentialBackoff,
84
- onOpen,
85
- onClose,
86
88
  } = opts;
87
89
  const lazyOpts: LazyOptions = {
88
90
  ...lazyDefaults,
@@ -251,11 +253,12 @@ export function createWSClient(opts: WebSocketClientOptions) {
251
253
 
252
254
  clearTimeout(lazyDisconnectTimer);
253
255
 
254
- const onError = () => {
256
+ const onError = (evt?: Event) => {
255
257
  self.state = 'closed';
256
258
  if (self === activeConnection) {
257
259
  tryReconnect(self);
258
260
  }
261
+ opts.onError?.(evt);
259
262
  };
260
263
  run(async () => {
261
264
  let url = await resultOf(opts.url);
@@ -289,7 +292,7 @@ export function createWSClient(opts: WebSocketClientOptions) {
289
292
  connectAttempt = 0;
290
293
  self.state = 'open';
291
294
 
292
- onOpen?.();
295
+ opts.onOpen?.();
293
296
  dispatch();
294
297
  }).catch((cause) => {
295
298
  ws.close(
@@ -364,7 +367,7 @@ export function createWSClient(opts: WebSocketClientOptions) {
364
367
 
365
368
  ws.addEventListener('close', ({ code }) => {
366
369
  if (self.state === 'open') {
367
- onClose?.({ code });
370
+ opts.onClose?.({ code });
368
371
  }
369
372
  self.state = 'closed';
370
373