@trpc/client 11.1.3-alpha-tmp-tsdown.24 → 11.1.3-alpha-tmp-tsdown.28

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.
Files changed (263) hide show
  1. package/dist/{TRPCClientError.js → TRPCClientError-CGgRtttT.cjs} +14 -4
  2. package/dist/{TRPCClientError.mjs → TRPCClientError-COkhCKf3.mjs} +1 -1
  3. package/dist/TRPCClientError-COkhCKf3.mjs.map +1 -0
  4. package/dist/httpBatchLink-CIC9PZ_Z.cjs +267 -0
  5. package/dist/httpBatchLink-DIfnmmcu.mjs +238 -0
  6. package/dist/httpBatchLink-DIfnmmcu.mjs.map +1 -0
  7. package/dist/{links/HTTPBatchLinkOptions.d.mts → httpBatchLink.d-BN2Iw_cK.d.mts} +13 -5
  8. package/dist/httpBatchLink.d-BN2Iw_cK.d.mts.map +1 -0
  9. package/dist/{links/HTTPBatchLinkOptions.d.ts → httpBatchLink.d-CLAuJKNV.d.cts} +13 -5
  10. package/dist/httpBatchLink.d-CLAuJKNV.d.cts.map +1 -0
  11. package/dist/httpLink-9bpwQ15c.mjs +90 -0
  12. package/dist/httpLink-9bpwQ15c.mjs.map +1 -0
  13. package/dist/{links/httpLink.js → httpLink-BbVj_TgM.cjs} +43 -9
  14. package/dist/{links/httpLink.d.ts → httpLink.d-CTSOARfE.d.mts} +3 -3
  15. package/dist/httpLink.d-CTSOARfE.d.mts.map +1 -0
  16. package/dist/httpLink.d-yMKfOlTU.d.cts +23 -0
  17. package/dist/httpLink.d-yMKfOlTU.d.cts.map +1 -0
  18. package/dist/{links/internals/httpUtils.mjs → httpUtils-3pbQzhUL.mjs} +13 -4
  19. package/dist/httpUtils-3pbQzhUL.mjs.map +1 -0
  20. package/dist/{links/internals/httpUtils.js → httpUtils-Buf6jCgh.cjs} +55 -10
  21. package/dist/{links/internals/httpUtils.d.ts → httpUtils.d-C8wPxU79.d.mts} +3 -3
  22. package/dist/httpUtils.d-C8wPxU79.d.mts.map +1 -0
  23. package/dist/{links/internals/httpUtils.d.mts → httpUtils.d-DNRVGNHs.d.cts} +3 -3
  24. package/dist/httpUtils.d-DNRVGNHs.d.cts.map +1 -0
  25. package/dist/index.cjs +731 -0
  26. package/dist/index.d.cts +197 -0
  27. package/dist/index.d.cts.map +1 -0
  28. package/dist/index.d.mts +197 -21
  29. package/dist/index.d.mts.map +1 -0
  30. package/dist/index.mjs +733 -19
  31. package/dist/index.mjs.map +1 -0
  32. package/dist/links/httpBatchLink.cjs +6 -0
  33. package/dist/links/httpBatchLink.d.cts +6 -0
  34. package/dist/links/httpBatchLink.d.mts +6 -15
  35. package/dist/links/httpBatchLink.mjs +5 -93
  36. package/dist/links/httpLink.cjs +6 -0
  37. package/dist/links/httpLink.d.cts +6 -0
  38. package/dist/links/httpLink.d.mts +6 -23
  39. package/dist/links/httpLink.mjs +5 -78
  40. package/dist/links/loggerLink.cjs +3 -0
  41. package/dist/links/loggerLink.d.cts +4 -0
  42. package/dist/links/loggerLink.d.mts +4 -55
  43. package/dist/links/loggerLink.mjs +2 -124
  44. package/dist/links/splitLink.cjs +3 -0
  45. package/dist/links/splitLink.d.cts +4 -0
  46. package/dist/links/splitLink.d.mts +4 -20
  47. package/dist/links/splitLink.mjs +2 -25
  48. package/dist/links/wsLink/wsLink.cjs +6 -0
  49. package/dist/links/wsLink/wsLink.d.cts +5 -0
  50. package/dist/links/wsLink/wsLink.d.mts +5 -14
  51. package/dist/links/wsLink/wsLink.mjs +4 -32
  52. package/dist/{links/loggerLink.js → loggerLink-CsDfg5Bb.cjs} +8 -3
  53. package/dist/loggerLink-PGBSQFcR.mjs +125 -0
  54. package/dist/loggerLink-PGBSQFcR.mjs.map +1 -0
  55. package/dist/{links/loggerLink.d.ts → loggerLink.d-CZjK1CXm.d.mts} +2 -3
  56. package/dist/loggerLink.d-CZjK1CXm.d.mts.map +1 -0
  57. package/dist/loggerLink.d-DU855urG.d.cts +54 -0
  58. package/dist/loggerLink.d-DU855urG.d.cts.map +1 -0
  59. package/dist/splitLink-BMgxggng.cjs +58 -0
  60. package/dist/{links/internals/createChain.mjs → splitLink-BVblHq4n.mjs} +23 -2
  61. package/dist/splitLink-BVblHq4n.mjs.map +1 -0
  62. package/dist/{links/splitLink.d.ts → splitLink.d-BAqgq0NG.d.mts} +2 -2
  63. package/dist/splitLink.d-BAqgq0NG.d.mts.map +1 -0
  64. package/dist/splitLink.d-GdevSkGW.d.cts +20 -0
  65. package/dist/splitLink.d-GdevSkGW.d.cts.map +1 -0
  66. package/dist/{links/internals/subscriptions.d.mts → subscriptions.d-Ciljg_dH.d.cts} +1 -1
  67. package/dist/subscriptions.d-Ciljg_dH.d.cts.map +1 -0
  68. package/dist/{links/internals/subscriptions.d.ts → subscriptions.d-U92STdZl.d.mts} +1 -1
  69. package/dist/subscriptions.d-U92STdZl.d.mts.map +1 -0
  70. package/dist/types.d-DXbqQLCC.d.mts +182 -0
  71. package/dist/types.d-DXbqQLCC.d.mts.map +1 -0
  72. package/dist/types.d-DqGYG6S_.d.cts +182 -0
  73. package/dist/types.d-DqGYG6S_.d.cts.map +1 -0
  74. package/dist/{internals/transformer.js → unstable-internals-CYBH4jbF.cjs} +6 -1
  75. package/dist/{internals/transformer.mjs → unstable-internals-DU4WecoG.mjs} +1 -1
  76. package/dist/unstable-internals-DU4WecoG.mjs.map +1 -0
  77. package/dist/unstable-internals.cjs +3 -0
  78. package/dist/{internals/transformer.d.mts → unstable-internals.d-DyLd-B0J.d.mts} +1 -1
  79. package/dist/unstable-internals.d-DyLd-B0J.d.mts.map +1 -0
  80. package/dist/{internals/transformer.d.ts → unstable-internals.d-kWsZTlQq.d.cts} +1 -1
  81. package/dist/unstable-internals.d-kWsZTlQq.d.cts.map +1 -0
  82. package/dist/unstable-internals.d.cts +3 -0
  83. package/dist/unstable-internals.d.mts +2 -2
  84. package/dist/unstable-internals.mjs +1 -1
  85. package/dist/wsLink-DbSHOzlB.mjs +698 -0
  86. package/dist/wsLink-DbSHOzlB.mjs.map +1 -0
  87. package/dist/wsLink-DhJ50EC5.cjs +715 -0
  88. package/dist/wsLink.d-BqO7ltN_.d.mts +194 -0
  89. package/dist/wsLink.d-BqO7ltN_.d.mts.map +1 -0
  90. package/dist/wsLink.d-DtZjg09g.d.cts +194 -0
  91. package/dist/wsLink.d-DtZjg09g.d.cts.map +1 -0
  92. package/links/httpBatchLink/package.json +1 -1
  93. package/links/httpLink/package.json +1 -1
  94. package/links/loggerLink/package.json +1 -1
  95. package/links/splitLink/package.json +1 -1
  96. package/links/wsLink/wsLink/package.json +1 -1
  97. package/package.json +22 -21
  98. package/unstable-internals/package.json +1 -1
  99. package/dist/TRPCClientError.d.mts +0 -32
  100. package/dist/TRPCClientError.d.mts.map +0 -1
  101. package/dist/TRPCClientError.d.ts +0 -32
  102. package/dist/TRPCClientError.d.ts.map +0 -1
  103. package/dist/TRPCClientError.mjs.map +0 -1
  104. package/dist/_virtual/rolldown_runtime.mjs +0 -27
  105. package/dist/createTRPCClient.d.mts +0 -69
  106. package/dist/createTRPCClient.d.mts.map +0 -1
  107. package/dist/createTRPCClient.d.ts +0 -69
  108. package/dist/createTRPCClient.d.ts.map +0 -1
  109. package/dist/createTRPCClient.js +0 -48
  110. package/dist/createTRPCClient.mjs +0 -45
  111. package/dist/createTRPCClient.mjs.map +0 -1
  112. package/dist/createTRPCUntypedClient.d.mts +0 -8
  113. package/dist/createTRPCUntypedClient.d.mts.map +0 -1
  114. package/dist/createTRPCUntypedClient.d.ts +0 -8
  115. package/dist/createTRPCUntypedClient.d.ts.map +0 -1
  116. package/dist/createTRPCUntypedClient.js +0 -9
  117. package/dist/createTRPCUntypedClient.mjs +0 -10
  118. package/dist/createTRPCUntypedClient.mjs.map +0 -1
  119. package/dist/getFetch.d.mts +0 -9
  120. package/dist/getFetch.d.mts.map +0 -1
  121. package/dist/getFetch.d.ts +0 -9
  122. package/dist/getFetch.d.ts.map +0 -1
  123. package/dist/getFetch.js +0 -12
  124. package/dist/getFetch.mjs +0 -12
  125. package/dist/getFetch.mjs.map +0 -1
  126. package/dist/index.d.ts +0 -21
  127. package/dist/index.js +0 -43
  128. package/dist/internals/TRPCUntypedClient.d.mts +0 -45
  129. package/dist/internals/TRPCUntypedClient.d.mts.map +0 -1
  130. package/dist/internals/TRPCUntypedClient.d.ts +0 -45
  131. package/dist/internals/TRPCUntypedClient.d.ts.map +0 -1
  132. package/dist/internals/TRPCUntypedClient.js +0 -96
  133. package/dist/internals/TRPCUntypedClient.mjs +0 -96
  134. package/dist/internals/TRPCUntypedClient.mjs.map +0 -1
  135. package/dist/internals/dataLoader.js +0 -106
  136. package/dist/internals/dataLoader.mjs +0 -106
  137. package/dist/internals/dataLoader.mjs.map +0 -1
  138. package/dist/internals/inputWithTrackedEventId.js +0 -13
  139. package/dist/internals/inputWithTrackedEventId.mjs +0 -13
  140. package/dist/internals/inputWithTrackedEventId.mjs.map +0 -1
  141. package/dist/internals/signals.js +0 -46
  142. package/dist/internals/signals.mjs +0 -44
  143. package/dist/internals/signals.mjs.map +0 -1
  144. package/dist/internals/transformer.d.mts.map +0 -1
  145. package/dist/internals/transformer.d.ts.map +0 -1
  146. package/dist/internals/transformer.mjs.map +0 -1
  147. package/dist/internals/types.d.mts +0 -84
  148. package/dist/internals/types.d.mts.map +0 -1
  149. package/dist/internals/types.d.ts +0 -84
  150. package/dist/internals/types.d.ts.map +0 -1
  151. package/dist/links/HTTPBatchLinkOptions.d.mts.map +0 -1
  152. package/dist/links/HTTPBatchLinkOptions.d.ts.map +0 -1
  153. package/dist/links/httpBatchLink.d.mts.map +0 -1
  154. package/dist/links/httpBatchLink.d.ts +0 -15
  155. package/dist/links/httpBatchLink.d.ts.map +0 -1
  156. package/dist/links/httpBatchLink.js +0 -94
  157. package/dist/links/httpBatchLink.mjs.map +0 -1
  158. package/dist/links/httpBatchStreamLink.d.mts +0 -19
  159. package/dist/links/httpBatchStreamLink.d.mts.map +0 -1
  160. package/dist/links/httpBatchStreamLink.d.ts +0 -19
  161. package/dist/links/httpBatchStreamLink.d.ts.map +0 -1
  162. package/dist/links/httpBatchStreamLink.js +0 -126
  163. package/dist/links/httpBatchStreamLink.mjs +0 -125
  164. package/dist/links/httpBatchStreamLink.mjs.map +0 -1
  165. package/dist/links/httpLink.d.mts.map +0 -1
  166. package/dist/links/httpLink.d.ts.map +0 -1
  167. package/dist/links/httpLink.mjs.map +0 -1
  168. package/dist/links/httpSubscriptionLink.d.mts +0 -29
  169. package/dist/links/httpSubscriptionLink.d.mts.map +0 -1
  170. package/dist/links/httpSubscriptionLink.d.ts +0 -29
  171. package/dist/links/httpSubscriptionLink.d.ts.map +0 -1
  172. package/dist/links/httpSubscriptionLink.js +0 -142
  173. package/dist/links/httpSubscriptionLink.mjs +0 -141
  174. package/dist/links/httpSubscriptionLink.mjs.map +0 -1
  175. package/dist/links/internals/contentTypes.d.mts +0 -9
  176. package/dist/links/internals/contentTypes.d.mts.map +0 -1
  177. package/dist/links/internals/contentTypes.d.ts +0 -9
  178. package/dist/links/internals/contentTypes.d.ts.map +0 -1
  179. package/dist/links/internals/contentTypes.js +0 -16
  180. package/dist/links/internals/contentTypes.mjs +0 -14
  181. package/dist/links/internals/contentTypes.mjs.map +0 -1
  182. package/dist/links/internals/createChain.js +0 -26
  183. package/dist/links/internals/createChain.mjs.map +0 -1
  184. package/dist/links/internals/httpUtils.d.mts.map +0 -1
  185. package/dist/links/internals/httpUtils.d.ts.map +0 -1
  186. package/dist/links/internals/httpUtils.mjs.map +0 -1
  187. package/dist/links/internals/subscriptions.d.mts.map +0 -1
  188. package/dist/links/internals/subscriptions.d.ts.map +0 -1
  189. package/dist/links/internals/urlWithConnectionParams.d.mts +0 -24
  190. package/dist/links/internals/urlWithConnectionParams.d.mts.map +0 -1
  191. package/dist/links/internals/urlWithConnectionParams.d.ts +0 -24
  192. package/dist/links/internals/urlWithConnectionParams.d.ts.map +0 -1
  193. package/dist/links/internals/urlWithConnectionParams.js +0 -12
  194. package/dist/links/internals/urlWithConnectionParams.mjs +0 -12
  195. package/dist/links/internals/urlWithConnectionParams.mjs.map +0 -1
  196. package/dist/links/localLink.d.mts +0 -21
  197. package/dist/links/localLink.d.mts.map +0 -1
  198. package/dist/links/localLink.d.ts +0 -21
  199. package/dist/links/localLink.d.ts.map +0 -1
  200. package/dist/links/localLink.js +0 -192
  201. package/dist/links/localLink.mjs +0 -193
  202. package/dist/links/localLink.mjs.map +0 -1
  203. package/dist/links/loggerLink.d.mts.map +0 -1
  204. package/dist/links/loggerLink.d.ts.map +0 -1
  205. package/dist/links/loggerLink.mjs.map +0 -1
  206. package/dist/links/retryLink.d.mts +0 -36
  207. package/dist/links/retryLink.d.mts.map +0 -1
  208. package/dist/links/retryLink.d.ts +0 -36
  209. package/dist/links/retryLink.d.ts.map +0 -1
  210. package/dist/links/retryLink.js +0 -64
  211. package/dist/links/retryLink.mjs +0 -64
  212. package/dist/links/retryLink.mjs.map +0 -1
  213. package/dist/links/splitLink.d.mts.map +0 -1
  214. package/dist/links/splitLink.d.ts.map +0 -1
  215. package/dist/links/splitLink.js +0 -26
  216. package/dist/links/splitLink.mjs.map +0 -1
  217. package/dist/links/types.d.mts +0 -68
  218. package/dist/links/types.d.mts.map +0 -1
  219. package/dist/links/types.d.ts +0 -68
  220. package/dist/links/types.d.ts.map +0 -1
  221. package/dist/links/wsLink/createWsClient.d.mts +0 -9
  222. package/dist/links/wsLink/createWsClient.d.mts.map +0 -1
  223. package/dist/links/wsLink/createWsClient.d.ts +0 -9
  224. package/dist/links/wsLink/createWsClient.d.ts.map +0 -1
  225. package/dist/links/wsLink/createWsClient.js +0 -9
  226. package/dist/links/wsLink/createWsClient.mjs +0 -10
  227. package/dist/links/wsLink/createWsClient.mjs.map +0 -1
  228. package/dist/links/wsLink/wsClient/options.d.mts +0 -69
  229. package/dist/links/wsLink/wsClient/options.d.mts.map +0 -1
  230. package/dist/links/wsLink/wsClient/options.d.ts +0 -69
  231. package/dist/links/wsLink/wsClient/options.d.ts.map +0 -1
  232. package/dist/links/wsLink/wsClient/options.js +0 -24
  233. package/dist/links/wsLink/wsClient/options.mjs +0 -22
  234. package/dist/links/wsLink/wsClient/options.mjs.map +0 -1
  235. package/dist/links/wsLink/wsClient/requestManager.js +0 -136
  236. package/dist/links/wsLink/wsClient/requestManager.mjs +0 -137
  237. package/dist/links/wsLink/wsClient/requestManager.mjs.map +0 -1
  238. package/dist/links/wsLink/wsClient/utils.js +0 -77
  239. package/dist/links/wsLink/wsClient/utils.mjs +0 -74
  240. package/dist/links/wsLink/wsClient/utils.mjs.map +0 -1
  241. package/dist/links/wsLink/wsClient/wsClient.d.mts +0 -101
  242. package/dist/links/wsLink/wsClient/wsClient.d.mts.map +0 -1
  243. package/dist/links/wsLink/wsClient/wsClient.d.ts +0 -101
  244. package/dist/links/wsLink/wsClient/wsClient.d.ts.map +0 -1
  245. package/dist/links/wsLink/wsClient/wsClient.js +0 -276
  246. package/dist/links/wsLink/wsClient/wsClient.mjs +0 -276
  247. package/dist/links/wsLink/wsClient/wsClient.mjs.map +0 -1
  248. package/dist/links/wsLink/wsClient/wsConnection.js +0 -165
  249. package/dist/links/wsLink/wsClient/wsConnection.mjs +0 -164
  250. package/dist/links/wsLink/wsClient/wsConnection.mjs.map +0 -1
  251. package/dist/links/wsLink/wsLink.d.mts.map +0 -1
  252. package/dist/links/wsLink/wsLink.d.ts +0 -14
  253. package/dist/links/wsLink/wsLink.d.ts.map +0 -1
  254. package/dist/links/wsLink/wsLink.js +0 -34
  255. package/dist/links/wsLink/wsLink.mjs.map +0 -1
  256. package/dist/links.js +0 -11
  257. package/dist/links.mjs +0 -11
  258. package/dist/node_modules/.pnpm/@oxc-project_runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js +0 -68
  259. package/dist/node_modules/.pnpm/@oxc-project_runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/usingCtx.mjs +0 -66
  260. package/dist/node_modules/.pnpm/@oxc-project_runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/usingCtx.mjs.map +0 -1
  261. package/dist/unstable-internals.d.ts +0 -3
  262. package/dist/unstable-internals.js +0 -3
  263. /package/dist/{_virtual/rolldown_runtime.js → chunk-DWy1uDak.cjs} +0 -0
@@ -1,137 +0,0 @@
1
- import { withResolvers } from "./utils.mjs";
2
-
3
- //#region src/links/wsLink/wsClient/requestManager.ts
4
- /**
5
- * Manages WebSocket requests, tracking their lifecycle and providing utility methods
6
- * for handling outgoing and pending requests.
7
- *
8
- * - **Outgoing requests**: Requests that are queued and waiting to be sent.
9
- * - **Pending requests**: Requests that have been sent and are in flight awaiting a response.
10
- * For subscriptions, multiple responses may be received until the subscription is closed.
11
- */
12
- var RequestManager = class {
13
- /**
14
- * Stores requests that are outgoing, meaning they are registered but not yet sent over the WebSocket.
15
- */
16
- outgoingRequests = new Array();
17
- /**
18
- * Stores requests that are pending (in flight), meaning they have been sent over the WebSocket
19
- * and are awaiting responses. For subscriptions, this includes requests
20
- * that may receive multiple responses.
21
- */
22
- pendingRequests = {};
23
- /**
24
- * Registers a new request by adding it to the outgoing queue and setting up
25
- * callbacks for lifecycle events such as completion or error.
26
- *
27
- * @param message - The outgoing message to be sent.
28
- * @param callbacks - Callback functions to observe the request's state.
29
- * @returns A cleanup function to manually remove the request.
30
- */
31
- register(message, callbacks) {
32
- const { promise: end, resolve } = withResolvers();
33
- this.outgoingRequests.push({
34
- id: String(message.id),
35
- message,
36
- end,
37
- callbacks: {
38
- next: callbacks.next,
39
- complete: () => {
40
- callbacks.complete();
41
- resolve();
42
- },
43
- error: (e) => {
44
- callbacks.error(e);
45
- resolve();
46
- }
47
- }
48
- });
49
- return () => {
50
- this.delete(message.id);
51
- callbacks.complete();
52
- resolve();
53
- };
54
- }
55
- /**
56
- * Deletes a request from both the outgoing and pending collections, if it exists.
57
- */
58
- delete(messageId) {
59
- if (messageId === null) return;
60
- this.outgoingRequests = this.outgoingRequests.filter(({ id }) => id !== String(messageId));
61
- delete this.pendingRequests[String(messageId)];
62
- }
63
- /**
64
- * Moves all outgoing requests to the pending state and clears the outgoing queue.
65
- *
66
- * The caller is expected to handle the actual sending of the requests
67
- * (e.g., sending them over the network) after this method is called.
68
- *
69
- * @returns The list of requests that were transitioned to the pending state.
70
- */
71
- flush() {
72
- const requests = this.outgoingRequests;
73
- this.outgoingRequests = [];
74
- for (const request of requests) this.pendingRequests[request.id] = request;
75
- return requests;
76
- }
77
- /**
78
- * Retrieves all currently pending requests, which are in flight awaiting responses
79
- * or handling ongoing subscriptions.
80
- */
81
- getPendingRequests() {
82
- return Object.values(this.pendingRequests);
83
- }
84
- /**
85
- * Retrieves a specific pending request by its message ID.
86
- */
87
- getPendingRequest(messageId) {
88
- if (messageId === null) return null;
89
- return this.pendingRequests[String(messageId)];
90
- }
91
- /**
92
- * Retrieves all outgoing requests, which are waiting to be sent.
93
- */
94
- getOutgoingRequests() {
95
- return this.outgoingRequests;
96
- }
97
- /**
98
- * Retrieves all requests, both outgoing and pending, with their respective states.
99
- *
100
- * @returns An array of all requests with their state ("outgoing" or "pending").
101
- */
102
- getRequests() {
103
- return [...this.getOutgoingRequests().map((request) => ({
104
- state: "outgoing",
105
- message: request.message,
106
- end: request.end,
107
- callbacks: request.callbacks
108
- })), ...this.getPendingRequests().map((request) => ({
109
- state: "pending",
110
- message: request.message,
111
- end: request.end,
112
- callbacks: request.callbacks
113
- }))];
114
- }
115
- /**
116
- * Checks if there are any pending requests, including ongoing subscriptions.
117
- */
118
- hasPendingRequests() {
119
- return this.getPendingRequests().length > 0;
120
- }
121
- /**
122
- * Checks if there are any pending subscriptions
123
- */
124
- hasPendingSubscriptions() {
125
- return this.getPendingRequests().some((request) => request.message.method === "subscription");
126
- }
127
- /**
128
- * Checks if there are any outgoing requests waiting to be sent.
129
- */
130
- hasOutgoingRequests() {
131
- return this.outgoingRequests.length > 0;
132
- }
133
- };
134
-
135
- //#endregion
136
- export { RequestManager };
137
- //# sourceMappingURL=requestManager.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"requestManager.mjs","names":["message: TRPCClientOutgoingMessage","callbacks: TCallbacks","messageId: MessageIdLike"],"sources":["../../../../src/links/wsLink/wsClient/requestManager.ts"],"sourcesContent":["import type { AnyTRPCRouter, inferRouterError } from '@trpc/server';\nimport type { Observer } from '@trpc/server/observable';\nimport type {\n TRPCClientOutgoingMessage,\n TRPCResponseMessage,\n} from '@trpc/server/unstable-core-do-not-import';\nimport type { TRPCClientError } from '../../../TRPCClientError';\nimport { withResolvers } from './utils';\n\nexport type TCallbacks = Observer<\n TRPCResponseMessage<unknown, inferRouterError<AnyTRPCRouter>>,\n TRPCClientError<AnyTRPCRouter>\n>;\n\ntype MessageId = string;\ntype MessageIdLike = string | number | null;\n\n/**\n * Represents a WebSocket request managed by the RequestManager.\n * Combines the network message, a utility promise (`end`) that mirrors the lifecycle\n * handled by `callbacks`, and a set of state monitoring callbacks.\n */\ninterface Request {\n message: TRPCClientOutgoingMessage;\n end: Promise<void>;\n callbacks: TCallbacks;\n}\n\n/**\n * Manages WebSocket requests, tracking their lifecycle and providing utility methods\n * for handling outgoing and pending requests.\n *\n * - **Outgoing requests**: Requests that are queued and waiting to be sent.\n * - **Pending requests**: Requests that have been sent and are in flight awaiting a response.\n * For subscriptions, multiple responses may be received until the subscription is closed.\n */\nexport class RequestManager {\n /**\n * Stores requests that are outgoing, meaning they are registered but not yet sent over the WebSocket.\n */\n private outgoingRequests = new Array<Request & { id: MessageId }>();\n\n /**\n * Stores requests that are pending (in flight), meaning they have been sent over the WebSocket\n * and are awaiting responses. For subscriptions, this includes requests\n * that may receive multiple responses.\n */\n private pendingRequests: Record<MessageId, Request> = {};\n\n /**\n * Registers a new request by adding it to the outgoing queue and setting up\n * callbacks for lifecycle events such as completion or error.\n *\n * @param message - The outgoing message to be sent.\n * @param callbacks - Callback functions to observe the request's state.\n * @returns A cleanup function to manually remove the request.\n */\n public register(message: TRPCClientOutgoingMessage, callbacks: TCallbacks) {\n const { promise: end, resolve } = withResolvers<void>();\n\n this.outgoingRequests.push({\n id: String(message.id),\n message,\n end,\n callbacks: {\n next: callbacks.next,\n complete: () => {\n callbacks.complete();\n resolve();\n },\n error: (e) => {\n callbacks.error(e);\n resolve();\n },\n },\n });\n\n return () => {\n this.delete(message.id);\n callbacks.complete();\n resolve();\n };\n }\n\n /**\n * Deletes a request from both the outgoing and pending collections, if it exists.\n */\n public delete(messageId: MessageIdLike) {\n if (messageId === null) return;\n\n this.outgoingRequests = this.outgoingRequests.filter(\n ({ id }) => id !== String(messageId),\n );\n delete this.pendingRequests[String(messageId)];\n }\n\n /**\n * Moves all outgoing requests to the pending state and clears the outgoing queue.\n *\n * The caller is expected to handle the actual sending of the requests\n * (e.g., sending them over the network) after this method is called.\n *\n * @returns The list of requests that were transitioned to the pending state.\n */\n public flush() {\n const requests = this.outgoingRequests;\n this.outgoingRequests = [];\n\n for (const request of requests) {\n this.pendingRequests[request.id] = request;\n }\n return requests;\n }\n\n /**\n * Retrieves all currently pending requests, which are in flight awaiting responses\n * or handling ongoing subscriptions.\n */\n public getPendingRequests() {\n return Object.values(this.pendingRequests);\n }\n\n /**\n * Retrieves a specific pending request by its message ID.\n */\n public getPendingRequest(messageId: MessageIdLike) {\n if (messageId === null) return null;\n\n return this.pendingRequests[String(messageId)];\n }\n\n /**\n * Retrieves all outgoing requests, which are waiting to be sent.\n */\n public getOutgoingRequests() {\n return this.outgoingRequests;\n }\n\n /**\n * Retrieves all requests, both outgoing and pending, with their respective states.\n *\n * @returns An array of all requests with their state (\"outgoing\" or \"pending\").\n */\n public getRequests() {\n return [\n ...this.getOutgoingRequests().map((request) => ({\n state: 'outgoing' as const,\n message: request.message,\n end: request.end,\n callbacks: request.callbacks,\n })),\n ...this.getPendingRequests().map((request) => ({\n state: 'pending' as const,\n message: request.message,\n end: request.end,\n callbacks: request.callbacks,\n })),\n ];\n }\n\n /**\n * Checks if there are any pending requests, including ongoing subscriptions.\n */\n public hasPendingRequests() {\n return this.getPendingRequests().length > 0;\n }\n\n /**\n * Checks if there are any pending subscriptions\n */\n public hasPendingSubscriptions() {\n return this.getPendingRequests().some(\n (request) => request.message.method === 'subscription',\n );\n }\n\n /**\n * Checks if there are any outgoing requests waiting to be sent.\n */\n public hasOutgoingRequests() {\n return this.outgoingRequests.length > 0;\n }\n}\n"],"mappings":";;;;;;;;;;;AAoCA,IAAa,iBAAb,MAA4B;;;;CAI1B,AAAQ,mBAAmB,IAAI;;;;;;CAO/B,AAAQ,kBAA8C,CAAE;;;;;;;;;CAUxD,AAAO,SAASA,SAAoCC,WAAuB;EACzE,MAAM,EAAE,SAAS,KAAK,SAAS,GAAG,eAAqB;AAEvD,OAAK,iBAAiB,KAAK;GACzB,IAAI,OAAO,QAAQ,GAAG;GACtB;GACA;GACA,WAAW;IACT,MAAM,UAAU;IAChB,UAAU,MAAM;AACd,eAAU,UAAU;AACpB,cAAS;IACV;IACD,OAAO,CAAC,MAAM;AACZ,eAAU,MAAM,EAAE;AAClB,cAAS;IACV;GACF;EACF,EAAC;AAEF,SAAO,MAAM;AACX,QAAK,OAAO,QAAQ,GAAG;AACvB,aAAU,UAAU;AACpB,YAAS;EACV;CACF;;;;CAKD,AAAO,OAAOC,WAA0B;AACtC,MAAI,cAAc,KAAM;AAExB,OAAK,mBAAmB,KAAK,iBAAiB,OAC5C,CAAC,EAAE,IAAI,KAAK,OAAO,OAAO,UAAU,CACrC;AACD,SAAO,KAAK,gBAAgB,OAAO,UAAU;CAC9C;;;;;;;;;CAUD,AAAO,QAAQ;EACb,MAAM,WAAW,KAAK;AACtB,OAAK,mBAAmB,CAAE;AAE1B,OAAK,MAAM,WAAW,SACpB,MAAK,gBAAgB,QAAQ,MAAM;AAErC,SAAO;CACR;;;;;CAMD,AAAO,qBAAqB;AAC1B,SAAO,OAAO,OAAO,KAAK,gBAAgB;CAC3C;;;;CAKD,AAAO,kBAAkBA,WAA0B;AACjD,MAAI,cAAc,KAAM,QAAO;AAE/B,SAAO,KAAK,gBAAgB,OAAO,UAAU;CAC9C;;;;CAKD,AAAO,sBAAsB;AAC3B,SAAO,KAAK;CACb;;;;;;CAOD,AAAO,cAAc;AACnB,SAAO,CACL,GAAG,KAAK,qBAAqB,CAAC,IAAI,CAAC,aAAa;GAC9C,OAAO;GACP,SAAS,QAAQ;GACjB,KAAK,QAAQ;GACb,WAAW,QAAQ;EACpB,GAAE,EACH,GAAG,KAAK,oBAAoB,CAAC,IAAI,CAAC,aAAa;GAC7C,OAAO;GACP,SAAS,QAAQ;GACjB,KAAK,QAAQ;GACb,WAAW,QAAQ;EACpB,GAAE,AACJ;CACF;;;;CAKD,AAAO,qBAAqB;AAC1B,SAAO,KAAK,oBAAoB,CAAC,SAAS;CAC3C;;;;CAKD,AAAO,0BAA0B;AAC/B,SAAO,KAAK,oBAAoB,CAAC,KAC/B,CAAC,YAAY,QAAQ,QAAQ,WAAW,eACzC;CACF;;;;CAKD,AAAO,sBAAsB;AAC3B,SAAO,KAAK,iBAAiB,SAAS;CACvC;AACF"}
@@ -1,77 +0,0 @@
1
- const require_urlWithConnectionParams = require('../../internals/urlWithConnectionParams.js');
2
-
3
- //#region src/links/wsLink/wsClient/utils.ts
4
- var TRPCWebSocketClosedError = class TRPCWebSocketClosedError extends Error {
5
- constructor(opts) {
6
- super(opts.message, { cause: opts.cause });
7
- this.name = "TRPCWebSocketClosedError";
8
- Object.setPrototypeOf(this, TRPCWebSocketClosedError.prototype);
9
- }
10
- };
11
- /**
12
- * Utility class for managing a timeout that can be started, stopped, and reset.
13
- * Useful for scenarios where the timeout duration is reset dynamically based on events.
14
- */
15
- var ResettableTimeout = class {
16
- timeout;
17
- constructor(onTimeout, timeoutMs) {
18
- this.onTimeout = onTimeout;
19
- this.timeoutMs = timeoutMs;
20
- }
21
- /**
22
- * Resets the current timeout, restarting it with the same duration.
23
- * Does nothing if no timeout is active.
24
- */
25
- reset() {
26
- if (!this.timeout) return;
27
- clearTimeout(this.timeout);
28
- this.timeout = setTimeout(this.onTimeout, this.timeoutMs);
29
- }
30
- start() {
31
- clearTimeout(this.timeout);
32
- this.timeout = setTimeout(this.onTimeout, this.timeoutMs);
33
- }
34
- stop() {
35
- clearTimeout(this.timeout);
36
- this.timeout = void 0;
37
- }
38
- };
39
- function withResolvers() {
40
- let resolve;
41
- let reject;
42
- const promise = new Promise((res, rej) => {
43
- resolve = res;
44
- reject = rej;
45
- });
46
- return {
47
- promise,
48
- resolve,
49
- reject
50
- };
51
- }
52
- /**
53
- * Resolves a WebSocket URL and optionally appends connection parameters.
54
- *
55
- * If connectionParams are provided, appends 'connectionParams=1' query parameter.
56
- */
57
- async function prepareUrl(urlOptions) {
58
- const url = await require_urlWithConnectionParams.resultOf(urlOptions.url);
59
- if (!urlOptions.connectionParams) return url;
60
- const prefix = url.includes("?") ? "&" : "?";
61
- const connectionParams = `${prefix}connectionParams=1`;
62
- return url + connectionParams;
63
- }
64
- async function buildConnectionMessage(connectionParams) {
65
- const message = {
66
- method: "connectionParams",
67
- data: await require_urlWithConnectionParams.resultOf(connectionParams)
68
- };
69
- return JSON.stringify(message);
70
- }
71
-
72
- //#endregion
73
- exports.ResettableTimeout = ResettableTimeout;
74
- exports.TRPCWebSocketClosedError = TRPCWebSocketClosedError;
75
- exports.buildConnectionMessage = buildConnectionMessage;
76
- exports.prepareUrl = prepareUrl;
77
- exports.withResolvers = withResolvers;
@@ -1,74 +0,0 @@
1
- import { resultOf } from "../../internals/urlWithConnectionParams.mjs";
2
-
3
- //#region src/links/wsLink/wsClient/utils.ts
4
- var TRPCWebSocketClosedError = class TRPCWebSocketClosedError extends Error {
5
- constructor(opts) {
6
- super(opts.message, { cause: opts.cause });
7
- this.name = "TRPCWebSocketClosedError";
8
- Object.setPrototypeOf(this, TRPCWebSocketClosedError.prototype);
9
- }
10
- };
11
- /**
12
- * Utility class for managing a timeout that can be started, stopped, and reset.
13
- * Useful for scenarios where the timeout duration is reset dynamically based on events.
14
- */
15
- var ResettableTimeout = class {
16
- timeout;
17
- constructor(onTimeout, timeoutMs) {
18
- this.onTimeout = onTimeout;
19
- this.timeoutMs = timeoutMs;
20
- }
21
- /**
22
- * Resets the current timeout, restarting it with the same duration.
23
- * Does nothing if no timeout is active.
24
- */
25
- reset() {
26
- if (!this.timeout) return;
27
- clearTimeout(this.timeout);
28
- this.timeout = setTimeout(this.onTimeout, this.timeoutMs);
29
- }
30
- start() {
31
- clearTimeout(this.timeout);
32
- this.timeout = setTimeout(this.onTimeout, this.timeoutMs);
33
- }
34
- stop() {
35
- clearTimeout(this.timeout);
36
- this.timeout = void 0;
37
- }
38
- };
39
- function withResolvers() {
40
- let resolve;
41
- let reject;
42
- const promise = new Promise((res, rej) => {
43
- resolve = res;
44
- reject = rej;
45
- });
46
- return {
47
- promise,
48
- resolve,
49
- reject
50
- };
51
- }
52
- /**
53
- * Resolves a WebSocket URL and optionally appends connection parameters.
54
- *
55
- * If connectionParams are provided, appends 'connectionParams=1' query parameter.
56
- */
57
- async function prepareUrl(urlOptions) {
58
- const url = await resultOf(urlOptions.url);
59
- if (!urlOptions.connectionParams) return url;
60
- const prefix = url.includes("?") ? "&" : "?";
61
- const connectionParams = `${prefix}connectionParams=1`;
62
- return url + connectionParams;
63
- }
64
- async function buildConnectionMessage(connectionParams) {
65
- const message = {
66
- method: "connectionParams",
67
- data: await resultOf(connectionParams)
68
- };
69
- return JSON.stringify(message);
70
- }
71
-
72
- //#endregion
73
- export { ResettableTimeout, TRPCWebSocketClosedError, buildConnectionMessage, prepareUrl, withResolvers };
74
- //# sourceMappingURL=utils.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.mjs","names":["opts: { message: string; cause?: unknown }","onTimeout: () => void","timeoutMs: number","resolve: (value: T | PromiseLike<T>) => void","reject: (reason?: any) => void","urlOptions: UrlOptionsWithConnectionParams","connectionParams: CallbackOrValue<TRPCRequestInfo['connectionParams']>","message: TRPCConnectionParamsMessage"],"sources":["../../../../src/links/wsLink/wsClient/utils.ts"],"sourcesContent":["import type {\n TRPCConnectionParamsMessage,\n TRPCRequestInfo,\n} from '@trpc/server/unstable-core-do-not-import';\nimport type {\n CallbackOrValue,\n UrlOptionsWithConnectionParams,\n} from '../../internals/urlWithConnectionParams';\nimport { resultOf } from '../../internals/urlWithConnectionParams';\n\nexport class TRPCWebSocketClosedError extends Error {\n constructor(opts: { message: string; cause?: unknown }) {\n super(opts.message, {\n cause: opts.cause,\n });\n this.name = 'TRPCWebSocketClosedError';\n Object.setPrototypeOf(this, TRPCWebSocketClosedError.prototype);\n }\n}\n\n/**\n * Utility class for managing a timeout that can be started, stopped, and reset.\n * Useful for scenarios where the timeout duration is reset dynamically based on events.\n */\nexport class ResettableTimeout {\n private timeout: ReturnType<typeof setTimeout> | undefined;\n\n constructor(\n private readonly onTimeout: () => void,\n private readonly timeoutMs: number,\n ) {}\n\n /**\n * Resets the current timeout, restarting it with the same duration.\n * Does nothing if no timeout is active.\n */\n public reset() {\n if (!this.timeout) return;\n\n clearTimeout(this.timeout);\n this.timeout = setTimeout(this.onTimeout, this.timeoutMs);\n }\n\n public start() {\n clearTimeout(this.timeout);\n this.timeout = setTimeout(this.onTimeout, this.timeoutMs);\n }\n\n public stop() {\n clearTimeout(this.timeout);\n this.timeout = undefined;\n }\n}\n\n// Ponyfill for Promise.withResolvers https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/withResolvers\nexport function withResolvers<T>() {\n let resolve: (value: T | PromiseLike<T>) => void;\n let reject: (reason?: any) => void;\n const promise = new Promise<T>((res, rej) => {\n resolve = res;\n reject = rej;\n });\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return { promise, resolve: resolve!, reject: reject! };\n}\n\n/**\n * Resolves a WebSocket URL and optionally appends connection parameters.\n *\n * If connectionParams are provided, appends 'connectionParams=1' query parameter.\n */\nexport async function prepareUrl(urlOptions: UrlOptionsWithConnectionParams) {\n const url = await resultOf(urlOptions.url);\n\n if (!urlOptions.connectionParams) return url;\n\n // append `?connectionParams=1` when connection params are used\n const prefix = url.includes('?') ? '&' : '?';\n const connectionParams = `${prefix}connectionParams=1`;\n\n return url + connectionParams;\n}\n\nexport async function buildConnectionMessage(\n connectionParams: CallbackOrValue<TRPCRequestInfo['connectionParams']>,\n) {\n const message: TRPCConnectionParamsMessage = {\n method: 'connectionParams',\n data: await resultOf(connectionParams),\n };\n\n return JSON.stringify(message);\n}\n"],"mappings":";;;AAUA,IAAa,2BAAb,MAAa,iCAAiC,MAAM;CAClD,YAAYA,MAA4C;AACtD,QAAM,KAAK,SAAS,EAClB,OAAO,KAAK,MACb,EAAC;AACF,OAAK,OAAO;AACZ,SAAO,eAAe,MAAM,yBAAyB,UAAU;CAChE;AACF;;;;;AAMD,IAAa,oBAAb,MAA+B;CAC7B,AAAQ;CAER,YACmBC,WACAC,WACjB;EAFiB;EACA;CACf;;;;;CAMJ,AAAO,QAAQ;AACb,OAAK,KAAK,QAAS;AAEnB,eAAa,KAAK,QAAQ;AAC1B,OAAK,UAAU,WAAW,KAAK,WAAW,KAAK,UAAU;CAC1D;CAED,AAAO,QAAQ;AACb,eAAa,KAAK,QAAQ;AAC1B,OAAK,UAAU,WAAW,KAAK,WAAW,KAAK,UAAU;CAC1D;CAED,AAAO,OAAO;AACZ,eAAa,KAAK,QAAQ;AAC1B,OAAK;CACN;AACF;AAGD,SAAgB,gBAAmB;CACjC,IAAIC;CACJ,IAAIC;CACJ,MAAM,UAAU,IAAI,QAAW,CAAC,KAAK,QAAQ;AAC3C,YAAU;AACV,WAAS;CACV;AAGD,QAAO;EAAE;EAAkB;EAAkB;CAAS;AACvD;;;;;;AAOD,eAAsB,WAAWC,YAA4C;CAC3E,MAAM,MAAM,MAAM,SAAS,WAAW,IAAI;AAE1C,MAAK,WAAW,iBAAkB,QAAO;CAGzC,MAAM,SAAS,IAAI,SAAS,IAAI,GAAG,MAAM;CACzC,MAAM,oBAAoB,EAAE,OAAO;AAEnC,QAAO,MAAM;AACd;AAED,eAAsB,uBACpBC,kBACA;CACA,MAAMC,UAAuC;EAC3C,QAAQ;EACR,MAAM,MAAM,SAAS,iBAAiB;CACvC;AAED,QAAO,KAAK,UAAU,QAAQ;AAC/B"}
@@ -1,101 +0,0 @@
1
- import { TRPCConnectionState } from "../../internals/subscriptions.mjs";
2
- import { TRPCClientError } from "../../../TRPCClientError.mjs";
3
- import { Operation, OperationResultEnvelope } from "../../types.mjs";
4
- import { WebSocketClientOptions } from "./options.mjs";
5
- import * as _trpc_server_observable0 from "@trpc/server/observable";
6
- import { BehaviorSubject } from "@trpc/server/observable";
7
- import { CombinedDataTransformer } from "@trpc/server/unstable-core-do-not-import";
8
- import { AnyTRPCRouter } from "@trpc/server";
9
-
10
- //#region src/links/wsLink/wsClient/wsClient.d.ts
11
-
12
- /**
13
- * A WebSocket client for managing TRPC operations, supporting lazy initialization,
14
- * reconnection, keep-alive, and request management.
15
- */
16
- declare class WsClient {
17
- /**
18
- * Observable tracking the current connection state, including errors.
19
- */
20
- readonly connectionState: BehaviorSubject<TRPCConnectionState<TRPCClientError<AnyTRPCRouter>>>;
21
- private allowReconnect;
22
- private requestManager;
23
- private readonly activeConnection;
24
- private readonly reconnectRetryDelay;
25
- private inactivityTimeout;
26
- private readonly callbacks;
27
- private readonly lazyMode;
28
- constructor(opts: WebSocketClientOptions);
29
- /**
30
- * Opens the WebSocket connection. Handles reconnection attempts and updates
31
- * the connection state accordingly.
32
- */
33
- private open;
34
- /**
35
- * Closes the WebSocket connection and stops managing requests.
36
- * Ensures all outgoing and pending requests are properly finalized.
37
- */
38
- close(): Promise<void>;
39
- /**
40
- * Method to request the server.
41
- * Handles data transformation, batching of requests, and subscription lifecycle.
42
- *
43
- * @param op - The operation details including id, type, path, input and signal
44
- * @param transformer - Data transformer for serializing requests and deserializing responses
45
- * @param lastEventId - Optional ID of the last received event for subscriptions
46
- *
47
- * @returns An observable that emits operation results and handles cleanup
48
- */
49
- request({
50
- op: {
51
- id,
52
- type,
53
- path,
54
- input,
55
- signal
56
- },
57
- transformer,
58
- lastEventId
59
- }: {
60
- op: Pick<Operation, 'id' | 'type' | 'path' | 'input' | 'signal'>;
61
- transformer: CombinedDataTransformer;
62
- lastEventId?: string;
63
- }): _trpc_server_observable0.Observable<OperationResultEnvelope<unknown, TRPCClientError<AnyTRPCRouter>>, TRPCClientError<AnyTRPCRouter>>;
64
- get connection(): {
65
- readonly id: number;
66
- readonly state: "open";
67
- readonly ws: WebSocket;
68
- } | {
69
- readonly id: number;
70
- readonly state: "closed";
71
- readonly ws: WebSocket;
72
- } | {
73
- readonly id: number;
74
- readonly state: "connecting";
75
- readonly ws: WebSocket;
76
- } | null;
77
- /**
78
- * Manages the reconnection process for the WebSocket using retry logic.
79
- * Ensures that only one reconnection attempt is active at a time by tracking the current
80
- * reconnection state in the `reconnecting` promise.
81
- */
82
- private reconnecting;
83
- private reconnect;
84
- private setupWebSocketListeners;
85
- private handleResponseMessage;
86
- private handleIncomingRequest;
87
- /**
88
- * Sends a message or batch of messages directly to the server.
89
- */
90
- private send;
91
- /**
92
- * Groups requests for batch sending.
93
- *
94
- * @returns A function to abort the batched request.
95
- */
96
- private batchSend;
97
- }
98
- //# sourceMappingURL=wsClient.d.ts.map
99
- //#endregion
100
- export { WsClient };
101
- //# sourceMappingURL=wsClient.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wsClient.d.mts","names":[],"sources":["../../../../src/links/wsLink/wsClient/wsClient.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;AA6BA;AAAqB,cAAR,QAAA,CAAQ;EAAA;;;EAKE,SADY,eAAA,EAAA,eAAA,CAC/B,mBAD+B,CACX,eADW,CACK,aADL,CAAA,CAAA,CAAA;EAAe,QAe9B,cAAA;EAAsB,QA0FtB,cAAA;EAAA,iBA0CV,gBAAA;EAAE,iBAAE,mBAAA;EAAI,QAAE,iBAAA;EAAI,iBAAE,SAAA;EAAK,iBAAE,QAAA;EAAM,WACnC,CAAA,IAAA,EArIgB,sBAqIhB;EAAW;;;;EAIyB,QAErC,IAAA;EAAA;;;;EAAA,KAAA,CAAA,CAAA,EAjDiB,OAiDjB,CAAA,IAAA,CAAA;EAAA;;;;;;;;;;;;;;;;;;;;;QAHK,KAAK;iBACI;;MAEd,wBAAA,CAAA,WAAA,iCAAA,gBAAA,iBAAA,gBAAA;;;;iBAAA"}
@@ -1,101 +0,0 @@
1
- import { TRPCConnectionState } from "../../internals/subscriptions.js";
2
- import { TRPCClientError } from "../../../TRPCClientError.js";
3
- import { Operation, OperationResultEnvelope } from "../../types.js";
4
- import { WebSocketClientOptions } from "./options.js";
5
- import { CombinedDataTransformer } from "@trpc/server/unstable-core-do-not-import";
6
- import * as _trpc_server_observable0 from "@trpc/server/observable";
7
- import { BehaviorSubject } from "@trpc/server/observable";
8
- import { AnyTRPCRouter } from "@trpc/server";
9
-
10
- //#region src/links/wsLink/wsClient/wsClient.d.ts
11
-
12
- /**
13
- * A WebSocket client for managing TRPC operations, supporting lazy initialization,
14
- * reconnection, keep-alive, and request management.
15
- */
16
- declare class WsClient {
17
- /**
18
- * Observable tracking the current connection state, including errors.
19
- */
20
- readonly connectionState: BehaviorSubject<TRPCConnectionState<TRPCClientError<AnyTRPCRouter>>>;
21
- private allowReconnect;
22
- private requestManager;
23
- private readonly activeConnection;
24
- private readonly reconnectRetryDelay;
25
- private inactivityTimeout;
26
- private readonly callbacks;
27
- private readonly lazyMode;
28
- constructor(opts: WebSocketClientOptions);
29
- /**
30
- * Opens the WebSocket connection. Handles reconnection attempts and updates
31
- * the connection state accordingly.
32
- */
33
- private open;
34
- /**
35
- * Closes the WebSocket connection and stops managing requests.
36
- * Ensures all outgoing and pending requests are properly finalized.
37
- */
38
- close(): Promise<void>;
39
- /**
40
- * Method to request the server.
41
- * Handles data transformation, batching of requests, and subscription lifecycle.
42
- *
43
- * @param op - The operation details including id, type, path, input and signal
44
- * @param transformer - Data transformer for serializing requests and deserializing responses
45
- * @param lastEventId - Optional ID of the last received event for subscriptions
46
- *
47
- * @returns An observable that emits operation results and handles cleanup
48
- */
49
- request({
50
- op: {
51
- id,
52
- type,
53
- path,
54
- input,
55
- signal
56
- },
57
- transformer,
58
- lastEventId
59
- }: {
60
- op: Pick<Operation, 'id' | 'type' | 'path' | 'input' | 'signal'>;
61
- transformer: CombinedDataTransformer;
62
- lastEventId?: string;
63
- }): _trpc_server_observable0.Observable<OperationResultEnvelope<unknown, TRPCClientError<AnyTRPCRouter>>, TRPCClientError<AnyTRPCRouter>>;
64
- get connection(): {
65
- readonly id: number;
66
- readonly state: "open";
67
- readonly ws: WebSocket;
68
- } | {
69
- readonly id: number;
70
- readonly state: "closed";
71
- readonly ws: WebSocket;
72
- } | {
73
- readonly id: number;
74
- readonly state: "connecting";
75
- readonly ws: WebSocket;
76
- } | null;
77
- /**
78
- * Manages the reconnection process for the WebSocket using retry logic.
79
- * Ensures that only one reconnection attempt is active at a time by tracking the current
80
- * reconnection state in the `reconnecting` promise.
81
- */
82
- private reconnecting;
83
- private reconnect;
84
- private setupWebSocketListeners;
85
- private handleResponseMessage;
86
- private handleIncomingRequest;
87
- /**
88
- * Sends a message or batch of messages directly to the server.
89
- */
90
- private send;
91
- /**
92
- * Groups requests for batch sending.
93
- *
94
- * @returns A function to abort the batched request.
95
- */
96
- private batchSend;
97
- }
98
- //# sourceMappingURL=wsClient.d.ts.map
99
- //#endregion
100
- export { WsClient };
101
- //# sourceMappingURL=wsClient.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wsClient.d.ts","names":[],"sources":["../../../../src/links/wsLink/wsClient/wsClient.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;AA6BA;AAAqB,cAAR,QAAA,CAAQ;EAAA;;;EAKE,SADY,eAAA,EAAA,eAAA,CAC/B,mBAD+B,CACX,eADW,CACK,aADL,CAAA,CAAA,CAAA;EAAe,QAe9B,cAAA;EAAsB,QA0FtB,cAAA;EAAA,iBA0CV,gBAAA;EAAE,iBAAE,mBAAA;EAAI,QAAE,iBAAA;EAAI,iBAAE,SAAA;EAAK,iBAAE,QAAA;EAAM,WACnC,CAAA,IAAA,EArIgB,sBAqIhB;EAAW;;;;EAIyB,QAErC,IAAA;EAAA;;;;EAAA,KAAA,CAAA,CAAA,EAjDiB,OAiDjB,CAAA,IAAA,CAAA;EAAA;;;;;;;;;;;;;;;;;;;;;QAHK,KAAK;iBACI;;MAEd,wBAAA,CAAA,WAAA,iCAAA,gBAAA,iBAAA,gBAAA;;;;iBAAA"}