@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,165 +0,0 @@
1
- const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.js');
2
- const require_utils = require('./utils.js');
3
- const __trpc_server_observable = require_rolldown_runtime.__toESM(require("@trpc/server/observable"));
4
-
5
- //#region src/links/wsLink/wsClient/wsConnection.ts
6
- /**
7
- * Opens a WebSocket connection asynchronously and returns a promise
8
- * that resolves when the connection is successfully established.
9
- * The promise rejects if an error occurs during the connection attempt.
10
- */
11
- function asyncWsOpen(ws) {
12
- const { promise, resolve, reject } = require_utils.withResolvers();
13
- ws.addEventListener("open", () => {
14
- ws.removeEventListener("error", reject);
15
- resolve();
16
- });
17
- ws.addEventListener("error", reject);
18
- return promise;
19
- }
20
- /**
21
- * Sets up a periodic ping-pong mechanism to keep the WebSocket connection alive.
22
- *
23
- * - Sends "PING" messages at regular intervals defined by `intervalMs`.
24
- * - If a "PONG" response is not received within the `pongTimeoutMs`, the WebSocket is closed.
25
- * - The ping timer resets upon receiving any message to maintain activity.
26
- * - Automatically starts the ping process when the WebSocket connection is opened.
27
- * - Cleans up timers when the WebSocket is closed.
28
- *
29
- * @param ws - The WebSocket instance to manage.
30
- * @param options - Configuration options for ping-pong intervals and timeouts.
31
- */
32
- function setupPingInterval(ws, { intervalMs, pongTimeoutMs }) {
33
- let pingTimeout;
34
- let pongTimeout;
35
- function start() {
36
- pingTimeout = setTimeout(() => {
37
- ws.send("PING");
38
- pongTimeout = setTimeout(() => {
39
- ws.close();
40
- }, pongTimeoutMs);
41
- }, intervalMs);
42
- }
43
- function reset() {
44
- clearTimeout(pingTimeout);
45
- start();
46
- }
47
- function pong() {
48
- clearTimeout(pongTimeout);
49
- reset();
50
- }
51
- ws.addEventListener("open", start);
52
- ws.addEventListener("message", ({ data }) => {
53
- clearTimeout(pingTimeout);
54
- start();
55
- if (data === "PONG") pong();
56
- });
57
- ws.addEventListener("close", () => {
58
- clearTimeout(pingTimeout);
59
- clearTimeout(pongTimeout);
60
- });
61
- }
62
- /**
63
- * Manages a WebSocket connection with support for reconnection, keep-alive mechanisms,
64
- * and observable state tracking.
65
- */
66
- var WsConnection = class WsConnection {
67
- static connectCount = 0;
68
- id = ++WsConnection.connectCount;
69
- WebSocketPonyfill;
70
- urlOptions;
71
- keepAliveOpts;
72
- wsObservable = (0, __trpc_server_observable.behaviorSubject)(null);
73
- constructor(opts) {
74
- this.WebSocketPonyfill = opts.WebSocketPonyfill ?? WebSocket;
75
- if (!this.WebSocketPonyfill) throw new Error("No WebSocket implementation found - you probably don't want to use this on the server, but if you do you need to pass a `WebSocket`-ponyfill");
76
- this.urlOptions = opts.urlOptions;
77
- this.keepAliveOpts = opts.keepAlive;
78
- }
79
- get ws() {
80
- return this.wsObservable.get();
81
- }
82
- set ws(ws) {
83
- this.wsObservable.next(ws);
84
- }
85
- /**
86
- * Checks if the WebSocket connection is open and ready to communicate.
87
- */
88
- isOpen() {
89
- return !!this.ws && this.ws.readyState === this.WebSocketPonyfill.OPEN && !this.openPromise;
90
- }
91
- /**
92
- * Checks if the WebSocket connection is closed or in the process of closing.
93
- */
94
- isClosed() {
95
- return !!this.ws && (this.ws.readyState === this.WebSocketPonyfill.CLOSING || this.ws.readyState === this.WebSocketPonyfill.CLOSED);
96
- }
97
- /**
98
- * Manages the WebSocket opening process, ensuring that only one open operation
99
- * occurs at a time. Tracks the ongoing operation with `openPromise` to avoid
100
- * redundant calls and ensure proper synchronization.
101
- *
102
- * Sets up the keep-alive mechanism and necessary event listeners for the connection.
103
- *
104
- * @returns A promise that resolves once the WebSocket connection is successfully opened.
105
- */
106
- openPromise = null;
107
- async open() {
108
- if (this.openPromise) return this.openPromise;
109
- this.id = ++WsConnection.connectCount;
110
- const wsPromise = require_utils.prepareUrl(this.urlOptions).then((url) => new this.WebSocketPonyfill(url));
111
- this.openPromise = wsPromise.then(async (ws) => {
112
- this.ws = ws;
113
- ws.addEventListener("message", function({ data }) {
114
- if (data === "PING") this.send("PONG");
115
- });
116
- if (this.keepAliveOpts.enabled) setupPingInterval(ws, this.keepAliveOpts);
117
- ws.addEventListener("close", () => {
118
- if (this.ws === ws) this.ws = null;
119
- });
120
- await asyncWsOpen(ws);
121
- if (this.urlOptions.connectionParams) ws.send(await require_utils.buildConnectionMessage(this.urlOptions.connectionParams));
122
- });
123
- try {
124
- await this.openPromise;
125
- } finally {
126
- this.openPromise = null;
127
- }
128
- }
129
- /**
130
- * Closes the WebSocket connection gracefully.
131
- * Waits for any ongoing open operation to complete before closing.
132
- */
133
- async close() {
134
- try {
135
- await this.openPromise;
136
- } finally {
137
- this.ws?.close();
138
- }
139
- }
140
- };
141
- /**
142
- * Provides a backward-compatible representation of the connection state.
143
- */
144
- function backwardCompatibility(connection) {
145
- if (connection.isOpen()) return {
146
- id: connection.id,
147
- state: "open",
148
- ws: connection.ws
149
- };
150
- if (connection.isClosed()) return {
151
- id: connection.id,
152
- state: "closed",
153
- ws: connection.ws
154
- };
155
- if (!connection.ws) return null;
156
- return {
157
- id: connection.id,
158
- state: "connecting",
159
- ws: connection.ws
160
- };
161
- }
162
-
163
- //#endregion
164
- exports.WsConnection = WsConnection;
165
- exports.backwardCompatibility = backwardCompatibility;
@@ -1,164 +0,0 @@
1
- import { buildConnectionMessage, prepareUrl, withResolvers } from "./utils.mjs";
2
- import { behaviorSubject } from "@trpc/server/observable";
3
-
4
- //#region src/links/wsLink/wsClient/wsConnection.ts
5
- /**
6
- * Opens a WebSocket connection asynchronously and returns a promise
7
- * that resolves when the connection is successfully established.
8
- * The promise rejects if an error occurs during the connection attempt.
9
- */
10
- function asyncWsOpen(ws) {
11
- const { promise, resolve, reject } = withResolvers();
12
- ws.addEventListener("open", () => {
13
- ws.removeEventListener("error", reject);
14
- resolve();
15
- });
16
- ws.addEventListener("error", reject);
17
- return promise;
18
- }
19
- /**
20
- * Sets up a periodic ping-pong mechanism to keep the WebSocket connection alive.
21
- *
22
- * - Sends "PING" messages at regular intervals defined by `intervalMs`.
23
- * - If a "PONG" response is not received within the `pongTimeoutMs`, the WebSocket is closed.
24
- * - The ping timer resets upon receiving any message to maintain activity.
25
- * - Automatically starts the ping process when the WebSocket connection is opened.
26
- * - Cleans up timers when the WebSocket is closed.
27
- *
28
- * @param ws - The WebSocket instance to manage.
29
- * @param options - Configuration options for ping-pong intervals and timeouts.
30
- */
31
- function setupPingInterval(ws, { intervalMs, pongTimeoutMs }) {
32
- let pingTimeout;
33
- let pongTimeout;
34
- function start() {
35
- pingTimeout = setTimeout(() => {
36
- ws.send("PING");
37
- pongTimeout = setTimeout(() => {
38
- ws.close();
39
- }, pongTimeoutMs);
40
- }, intervalMs);
41
- }
42
- function reset() {
43
- clearTimeout(pingTimeout);
44
- start();
45
- }
46
- function pong() {
47
- clearTimeout(pongTimeout);
48
- reset();
49
- }
50
- ws.addEventListener("open", start);
51
- ws.addEventListener("message", ({ data }) => {
52
- clearTimeout(pingTimeout);
53
- start();
54
- if (data === "PONG") pong();
55
- });
56
- ws.addEventListener("close", () => {
57
- clearTimeout(pingTimeout);
58
- clearTimeout(pongTimeout);
59
- });
60
- }
61
- /**
62
- * Manages a WebSocket connection with support for reconnection, keep-alive mechanisms,
63
- * and observable state tracking.
64
- */
65
- var WsConnection = class WsConnection {
66
- static connectCount = 0;
67
- id = ++WsConnection.connectCount;
68
- WebSocketPonyfill;
69
- urlOptions;
70
- keepAliveOpts;
71
- wsObservable = behaviorSubject(null);
72
- constructor(opts) {
73
- this.WebSocketPonyfill = opts.WebSocketPonyfill ?? WebSocket;
74
- if (!this.WebSocketPonyfill) throw new Error("No WebSocket implementation found - you probably don't want to use this on the server, but if you do you need to pass a `WebSocket`-ponyfill");
75
- this.urlOptions = opts.urlOptions;
76
- this.keepAliveOpts = opts.keepAlive;
77
- }
78
- get ws() {
79
- return this.wsObservable.get();
80
- }
81
- set ws(ws) {
82
- this.wsObservable.next(ws);
83
- }
84
- /**
85
- * Checks if the WebSocket connection is open and ready to communicate.
86
- */
87
- isOpen() {
88
- return !!this.ws && this.ws.readyState === this.WebSocketPonyfill.OPEN && !this.openPromise;
89
- }
90
- /**
91
- * Checks if the WebSocket connection is closed or in the process of closing.
92
- */
93
- isClosed() {
94
- return !!this.ws && (this.ws.readyState === this.WebSocketPonyfill.CLOSING || this.ws.readyState === this.WebSocketPonyfill.CLOSED);
95
- }
96
- /**
97
- * Manages the WebSocket opening process, ensuring that only one open operation
98
- * occurs at a time. Tracks the ongoing operation with `openPromise` to avoid
99
- * redundant calls and ensure proper synchronization.
100
- *
101
- * Sets up the keep-alive mechanism and necessary event listeners for the connection.
102
- *
103
- * @returns A promise that resolves once the WebSocket connection is successfully opened.
104
- */
105
- openPromise = null;
106
- async open() {
107
- if (this.openPromise) return this.openPromise;
108
- this.id = ++WsConnection.connectCount;
109
- const wsPromise = prepareUrl(this.urlOptions).then((url) => new this.WebSocketPonyfill(url));
110
- this.openPromise = wsPromise.then(async (ws) => {
111
- this.ws = ws;
112
- ws.addEventListener("message", function({ data }) {
113
- if (data === "PING") this.send("PONG");
114
- });
115
- if (this.keepAliveOpts.enabled) setupPingInterval(ws, this.keepAliveOpts);
116
- ws.addEventListener("close", () => {
117
- if (this.ws === ws) this.ws = null;
118
- });
119
- await asyncWsOpen(ws);
120
- if (this.urlOptions.connectionParams) ws.send(await buildConnectionMessage(this.urlOptions.connectionParams));
121
- });
122
- try {
123
- await this.openPromise;
124
- } finally {
125
- this.openPromise = null;
126
- }
127
- }
128
- /**
129
- * Closes the WebSocket connection gracefully.
130
- * Waits for any ongoing open operation to complete before closing.
131
- */
132
- async close() {
133
- try {
134
- await this.openPromise;
135
- } finally {
136
- this.ws?.close();
137
- }
138
- }
139
- };
140
- /**
141
- * Provides a backward-compatible representation of the connection state.
142
- */
143
- function backwardCompatibility(connection) {
144
- if (connection.isOpen()) return {
145
- id: connection.id,
146
- state: "open",
147
- ws: connection.ws
148
- };
149
- if (connection.isClosed()) return {
150
- id: connection.id,
151
- state: "closed",
152
- ws: connection.ws
153
- };
154
- if (!connection.ws) return null;
155
- return {
156
- id: connection.id,
157
- state: "connecting",
158
- ws: connection.ws
159
- };
160
- }
161
-
162
- //#endregion
163
- export { WsConnection, backwardCompatibility };
164
- //# sourceMappingURL=wsConnection.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wsConnection.mjs","names":["ws: WebSocket","pingTimeout: ReturnType<typeof setTimeout> | undefined","pongTimeout: ReturnType<typeof setTimeout> | undefined","opts: WebSocketConnectionOptions","connection: WsConnection"],"sources":["../../../../src/links/wsLink/wsClient/wsConnection.ts"],"sourcesContent":["import { behaviorSubject } from '@trpc/server/observable';\nimport type { UrlOptionsWithConnectionParams } from '../../internals/urlWithConnectionParams';\nimport { buildConnectionMessage, prepareUrl, withResolvers } from './utils';\n\n/**\n * Opens a WebSocket connection asynchronously and returns a promise\n * that resolves when the connection is successfully established.\n * The promise rejects if an error occurs during the connection attempt.\n */\nfunction asyncWsOpen(ws: WebSocket) {\n const { promise, resolve, reject } = withResolvers<void>();\n\n ws.addEventListener('open', () => {\n ws.removeEventListener('error', reject);\n resolve();\n });\n ws.addEventListener('error', reject);\n\n return promise;\n}\n\ninterface PingPongOptions {\n /**\n * The interval (in milliseconds) between \"PING\" messages.\n */\n intervalMs: number;\n\n /**\n * The timeout (in milliseconds) to wait for a \"PONG\" response before closing the connection.\n */\n pongTimeoutMs: number;\n}\n\n/**\n * Sets up a periodic ping-pong mechanism to keep the WebSocket connection alive.\n *\n * - Sends \"PING\" messages at regular intervals defined by `intervalMs`.\n * - If a \"PONG\" response is not received within the `pongTimeoutMs`, the WebSocket is closed.\n * - The ping timer resets upon receiving any message to maintain activity.\n * - Automatically starts the ping process when the WebSocket connection is opened.\n * - Cleans up timers when the WebSocket is closed.\n *\n * @param ws - The WebSocket instance to manage.\n * @param options - Configuration options for ping-pong intervals and timeouts.\n */\nfunction setupPingInterval(\n ws: WebSocket,\n { intervalMs, pongTimeoutMs }: PingPongOptions,\n) {\n let pingTimeout: ReturnType<typeof setTimeout> | undefined;\n let pongTimeout: ReturnType<typeof setTimeout> | undefined;\n\n function start() {\n pingTimeout = setTimeout(() => {\n ws.send('PING');\n pongTimeout = setTimeout(() => {\n ws.close();\n }, pongTimeoutMs);\n }, intervalMs);\n }\n\n function reset() {\n clearTimeout(pingTimeout);\n start();\n }\n\n function pong() {\n clearTimeout(pongTimeout);\n reset();\n }\n\n ws.addEventListener('open', start);\n ws.addEventListener('message', ({ data }) => {\n clearTimeout(pingTimeout);\n start();\n\n if (data === 'PONG') {\n pong();\n }\n });\n ws.addEventListener('close', () => {\n clearTimeout(pingTimeout);\n clearTimeout(pongTimeout);\n });\n}\n\nexport interface WebSocketConnectionOptions {\n WebSocketPonyfill?: typeof WebSocket;\n urlOptions: UrlOptionsWithConnectionParams;\n keepAlive: PingPongOptions & {\n enabled: boolean;\n };\n}\n\n/**\n * Manages a WebSocket connection with support for reconnection, keep-alive mechanisms,\n * and observable state tracking.\n */\nexport class WsConnection {\n static connectCount = 0;\n public id = ++WsConnection.connectCount;\n\n private readonly WebSocketPonyfill: typeof WebSocket;\n private readonly urlOptions: UrlOptionsWithConnectionParams;\n private readonly keepAliveOpts: WebSocketConnectionOptions['keepAlive'];\n public readonly wsObservable = behaviorSubject<WebSocket | null>(null);\n\n constructor(opts: WebSocketConnectionOptions) {\n this.WebSocketPonyfill = opts.WebSocketPonyfill ?? WebSocket;\n if (!this.WebSocketPonyfill) {\n throw new Error(\n \"No WebSocket implementation found - you probably don't want to use this on the server, but if you do you need to pass a `WebSocket`-ponyfill\",\n );\n }\n\n this.urlOptions = opts.urlOptions;\n this.keepAliveOpts = opts.keepAlive;\n }\n\n public get ws() {\n return this.wsObservable.get();\n }\n\n private set ws(ws) {\n this.wsObservable.next(ws);\n }\n\n /**\n * Checks if the WebSocket connection is open and ready to communicate.\n */\n public isOpen(): this is { ws: WebSocket } {\n return (\n !!this.ws &&\n this.ws.readyState === this.WebSocketPonyfill.OPEN &&\n !this.openPromise\n );\n }\n\n /**\n * Checks if the WebSocket connection is closed or in the process of closing.\n */\n public isClosed(): this is { ws: WebSocket } {\n return (\n !!this.ws &&\n (this.ws.readyState === this.WebSocketPonyfill.CLOSING ||\n this.ws.readyState === this.WebSocketPonyfill.CLOSED)\n );\n }\n\n /**\n * Manages the WebSocket opening process, ensuring that only one open operation\n * occurs at a time. Tracks the ongoing operation with `openPromise` to avoid\n * redundant calls and ensure proper synchronization.\n *\n * Sets up the keep-alive mechanism and necessary event listeners for the connection.\n *\n * @returns A promise that resolves once the WebSocket connection is successfully opened.\n */\n private openPromise: Promise<void> | null = null;\n public async open() {\n if (this.openPromise) return this.openPromise;\n\n this.id = ++WsConnection.connectCount;\n const wsPromise = prepareUrl(this.urlOptions).then(\n (url) => new this.WebSocketPonyfill(url),\n );\n this.openPromise = wsPromise.then(async (ws) => {\n this.ws = ws;\n\n // Setup ping listener\n ws.addEventListener('message', function ({ data }) {\n if (data === 'PING') {\n this.send('PONG');\n }\n });\n\n if (this.keepAliveOpts.enabled) {\n setupPingInterval(ws, this.keepAliveOpts);\n }\n\n ws.addEventListener('close', () => {\n if (this.ws === ws) {\n this.ws = null;\n }\n });\n\n await asyncWsOpen(ws);\n\n if (this.urlOptions.connectionParams) {\n ws.send(await buildConnectionMessage(this.urlOptions.connectionParams));\n }\n });\n\n try {\n await this.openPromise;\n } finally {\n this.openPromise = null;\n }\n }\n\n /**\n * Closes the WebSocket connection gracefully.\n * Waits for any ongoing open operation to complete before closing.\n */\n public async close() {\n try {\n await this.openPromise;\n } finally {\n this.ws?.close();\n }\n }\n}\n\n/**\n * Provides a backward-compatible representation of the connection state.\n */\nexport function backwardCompatibility(connection: WsConnection) {\n if (connection.isOpen()) {\n return {\n id: connection.id,\n state: 'open',\n ws: connection.ws,\n } as const;\n }\n\n if (connection.isClosed()) {\n return {\n id: connection.id,\n state: 'closed',\n ws: connection.ws,\n } as const;\n }\n\n if (!connection.ws) {\n return null;\n }\n\n return {\n id: connection.id,\n state: 'connecting',\n ws: connection.ws,\n } as const;\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"wsLink.d.mts","names":[],"sources":["../../../src/links/wsLink/wsLink.ts"],"sourcesContent":[],"mappings":";;;;;;;KAcY,qCAAqC;UACvC;AADV,CAAA,GAEI,kBAFQ,CAEW,gBAFS,CAEQ,OAFR,CAAA,CAAA;AAAA,iBAIhB,MAJgB,CAAA,gBAIO,SAJP,CAAA,CAAA,IAAA,EAKxB,oBALwB,CAKH,OALG,CAAA,CAAA,EAM7B,QAN6B,CAMpB,OANoB,CAAA"}
@@ -1,14 +0,0 @@
1
- import { TRPCLink } from "../types.js";
2
- import { TransformerOptions } from "../../internals/transformer.js";
3
- import { WebSocketClientOptions } from "./wsClient/options.js";
4
- import { TRPCWebSocketClient, createWSClient } from "./createWsClient.js";
5
- import { AnyRouter, inferClientTypes } from "@trpc/server/unstable-core-do-not-import";
6
-
7
- //#region src/links/wsLink/wsLink.d.ts
8
- type WebSocketLinkOptions<TRouter extends AnyRouter> = {
9
- client: TRPCWebSocketClient;
10
- } & TransformerOptions<inferClientTypes<TRouter>>;
11
- declare function wsLink<TRouter extends AnyRouter>(opts: WebSocketLinkOptions<TRouter>): TRPCLink<TRouter>;
12
- //#endregion
13
- export { TRPCWebSocketClient, WebSocketClientOptions, WebSocketLinkOptions, createWSClient, wsLink };
14
- //# sourceMappingURL=wsLink.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wsLink.d.ts","names":[],"sources":["../../../src/links/wsLink/wsLink.ts"],"sourcesContent":[],"mappings":";;;;;;;KAcY,qCAAqC;UACvC;AADV,CAAA,GAEI,kBAFQ,CAEW,gBAFS,CAEQ,OAFR,CAAA,CAAA;AAAA,iBAIhB,MAJgB,CAAA,gBAIO,SAJP,CAAA,CAAA,IAAA,EAKxB,oBALwB,CAKH,OALG,CAAA,CAAA,EAM7B,QAN6B,CAMpB,OANoB,CAAA"}
@@ -1,34 +0,0 @@
1
- const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.js');
2
- const require_transformer = require('../../internals/transformer.js');
3
- const require_createWsClient = require('./createWsClient.js');
4
- const __trpc_server_observable = require_rolldown_runtime.__toESM(require("@trpc/server/observable"));
5
-
6
- //#region src/links/wsLink/wsLink.ts
7
- function wsLink(opts) {
8
- const { client } = opts;
9
- const transformer = require_transformer.getTransformer(opts.transformer);
10
- return () => {
11
- return ({ op }) => {
12
- return (0, __trpc_server_observable.observable)((observer) => {
13
- const connStateSubscription = op.type === "subscription" ? client.connectionState.subscribe({ next(result) {
14
- observer.next({
15
- result,
16
- context: op.context
17
- });
18
- } }) : null;
19
- const requestSubscription = client.request({
20
- op,
21
- transformer
22
- }).subscribe(observer);
23
- return () => {
24
- requestSubscription.unsubscribe();
25
- connStateSubscription?.unsubscribe();
26
- };
27
- });
28
- };
29
- };
30
- }
31
-
32
- //#endregion
33
- exports.createWSClient = require_createWsClient.createWSClient;
34
- exports.wsLink = wsLink;
@@ -1 +0,0 @@
1
- {"version":3,"file":"wsLink.mjs","names":["opts: WebSocketLinkOptions<TRouter>"],"sources":["../../../src/links/wsLink/wsLink.ts"],"sourcesContent":["import { observable } from '@trpc/server/observable';\nimport type {\n AnyRouter,\n inferClientTypes,\n} from '@trpc/server/unstable-core-do-not-import';\nimport type { TransformerOptions } from '../../unstable-internals';\nimport { getTransformer } from '../../unstable-internals';\nimport type { TRPCLink } from '../types';\nimport type {\n TRPCWebSocketClient,\n WebSocketClientOptions,\n} from './createWsClient';\nimport { createWSClient } from './createWsClient';\n\nexport type WebSocketLinkOptions<TRouter extends AnyRouter> = {\n client: TRPCWebSocketClient;\n} & TransformerOptions<inferClientTypes<TRouter>>;\n\nexport function wsLink<TRouter extends AnyRouter>(\n opts: WebSocketLinkOptions<TRouter>,\n): TRPCLink<TRouter> {\n const { client } = opts;\n const transformer = getTransformer(opts.transformer);\n return () => {\n return ({ op }) => {\n return observable((observer) => {\n const connStateSubscription =\n op.type === 'subscription'\n ? client.connectionState.subscribe({\n next(result) {\n observer.next({\n result,\n context: op.context,\n });\n },\n })\n : null;\n\n const requestSubscription = client\n .request({\n op,\n transformer,\n })\n .subscribe(observer);\n\n return () => {\n requestSubscription.unsubscribe();\n connStateSubscription?.unsubscribe();\n };\n });\n };\n };\n}\n\nexport { TRPCWebSocketClient, WebSocketClientOptions, createWSClient };\n"],"mappings":";;;;;AAkBA,SAAgB,OACdA,MACmB;CACnB,MAAM,EAAE,QAAQ,GAAG;CACnB,MAAM,cAAc,eAAe,KAAK,YAAY;AACpD,QAAO,MAAM;AACX,SAAO,CAAC,EAAE,IAAI,KAAK;AACjB,UAAO,WAAW,CAAC,aAAa;IAC9B,MAAM,wBACJ,GAAG,SAAS,iBACR,OAAO,gBAAgB,UAAU,EAC/B,KAAK,QAAQ;AACX,cAAS,KAAK;MACZ;MACA,SAAS,GAAG;KACb,EAAC;IACH,EACF,EAAC,GACF;IAEN,MAAM,sBAAsB,OACzB,QAAQ;KACP;KACA;IACD,EAAC,CACD,UAAU,SAAS;AAEtB,WAAO,MAAM;AACX,yBAAoB,aAAa;AACjC,4BAAuB,aAAa;IACrC;GACF,EAAC;EACH;CACF;AACF"}
package/dist/links.js DELETED
@@ -1,11 +0,0 @@
1
- const require_contentTypes = require('./links/internals/contentTypes.js');
2
- const require_httpBatchLink = require('./links/httpBatchLink.js');
3
- const require_httpBatchStreamLink = require('./links/httpBatchStreamLink.js');
4
- const require_httpLink = require('./links/httpLink.js');
5
- const require_loggerLink = require('./links/loggerLink.js');
6
- const require_splitLink = require('./links/splitLink.js');
7
- const require_createWsClient = require('./links/wsLink/createWsClient.js');
8
- const require_wsLink = require('./links/wsLink/wsLink.js');
9
- const require_httpSubscriptionLink = require('./links/httpSubscriptionLink.js');
10
- const require_retryLink = require('./links/retryLink.js');
11
- const require_localLink = require('./links/localLink.js');
package/dist/links.mjs DELETED
@@ -1,11 +0,0 @@
1
- import { isFormData, isNonJsonSerializable, isOctetType } from "./links/internals/contentTypes.mjs";
2
- import { httpBatchLink } from "./links/httpBatchLink.mjs";
3
- import { httpBatchStreamLink, unstable_httpBatchStreamLink } from "./links/httpBatchStreamLink.mjs";
4
- import { httpLink } from "./links/httpLink.mjs";
5
- import { loggerLink } from "./links/loggerLink.mjs";
6
- import { splitLink } from "./links/splitLink.mjs";
7
- import { createWSClient } from "./links/wsLink/createWsClient.mjs";
8
- import { wsLink } from "./links/wsLink/wsLink.mjs";
9
- import { httpSubscriptionLink, unstable_httpSubscriptionLink } from "./links/httpSubscriptionLink.mjs";
10
- import { retryLink } from "./links/retryLink.mjs";
11
- import { experimental_localLink } from "./links/localLink.mjs";
@@ -1,68 +0,0 @@
1
- const require_rolldown_runtime = require('../../../../../../../../_virtual/rolldown_runtime.js');
2
-
3
- //#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js
4
- var require_usingCtx = require_rolldown_runtime.__commonJS({ "../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js"(exports, module) {
5
- function _usingCtx() {
6
- var r = "function" == typeof SuppressedError ? SuppressedError : function(r$1, e$1) {
7
- var n$1 = Error();
8
- return n$1.name = "SuppressedError", n$1.error = r$1, n$1.suppressed = e$1, n$1;
9
- }, e = {}, n = [];
10
- function using(r$1, e$1) {
11
- if (null != e$1) {
12
- if (Object(e$1) !== e$1) throw new TypeError("using declarations can only be used with objects, functions, null, or undefined.");
13
- if (r$1) var o = e$1[Symbol.asyncDispose || Symbol["for"]("Symbol.asyncDispose")];
14
- if (void 0 === o && (o = e$1[Symbol.dispose || Symbol["for"]("Symbol.dispose")], r$1)) var t = o;
15
- if ("function" != typeof o) throw new TypeError("Object is not disposable.");
16
- t && (o = function o$1() {
17
- try {
18
- t.call(e$1);
19
- } catch (r$2) {
20
- return Promise.reject(r$2);
21
- }
22
- }), n.push({
23
- v: e$1,
24
- d: o,
25
- a: r$1
26
- });
27
- } else r$1 && n.push({
28
- d: e$1,
29
- a: r$1
30
- });
31
- return e$1;
32
- }
33
- return {
34
- e,
35
- u: using.bind(null, !1),
36
- a: using.bind(null, !0),
37
- d: function d() {
38
- var o, t = this.e, s = 0;
39
- function next() {
40
- for (; o = n.pop();) try {
41
- if (!o.a && 1 === s) return s = 0, n.push(o), Promise.resolve().then(next);
42
- if (o.d) {
43
- var r$1 = o.d.call(o.v);
44
- if (o.a) return s |= 2, Promise.resolve(r$1).then(next, err);
45
- } else s |= 1;
46
- } catch (r$2) {
47
- return err(r$2);
48
- }
49
- if (1 === s) return t !== e ? Promise.reject(t) : Promise.resolve();
50
- if (t !== e) throw t;
51
- }
52
- function err(n$1) {
53
- return t = t !== e ? new r(n$1, t) : n$1, next();
54
- }
55
- return next();
56
- }
57
- };
58
- }
59
- module.exports = _usingCtx, module.exports.__esModule = true, module.exports["default"] = module.exports;
60
- } });
61
-
62
- //#endregion
63
- Object.defineProperty(exports, 'default', {
64
- enumerable: true,
65
- get: function () {
66
- return require_usingCtx();
67
- }
68
- });
@@ -1,66 +0,0 @@
1
- import { __commonJS } from "../../../../../../../../_virtual/rolldown_runtime.mjs";
2
-
3
- //#region ../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js
4
- var require_usingCtx = __commonJS({ "../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js"(exports, module) {
5
- function _usingCtx() {
6
- var r = "function" == typeof SuppressedError ? SuppressedError : function(r$1, e$1) {
7
- var n$1 = Error();
8
- return n$1.name = "SuppressedError", n$1.error = r$1, n$1.suppressed = e$1, n$1;
9
- }, e = {}, n = [];
10
- function using(r$1, e$1) {
11
- if (null != e$1) {
12
- if (Object(e$1) !== e$1) throw new TypeError("using declarations can only be used with objects, functions, null, or undefined.");
13
- if (r$1) var o = e$1[Symbol.asyncDispose || Symbol["for"]("Symbol.asyncDispose")];
14
- if (void 0 === o && (o = e$1[Symbol.dispose || Symbol["for"]("Symbol.dispose")], r$1)) var t = o;
15
- if ("function" != typeof o) throw new TypeError("Object is not disposable.");
16
- t && (o = function o$1() {
17
- try {
18
- t.call(e$1);
19
- } catch (r$2) {
20
- return Promise.reject(r$2);
21
- }
22
- }), n.push({
23
- v: e$1,
24
- d: o,
25
- a: r$1
26
- });
27
- } else r$1 && n.push({
28
- d: e$1,
29
- a: r$1
30
- });
31
- return e$1;
32
- }
33
- return {
34
- e,
35
- u: using.bind(null, !1),
36
- a: using.bind(null, !0),
37
- d: function d() {
38
- var o, t = this.e, s = 0;
39
- function next() {
40
- for (; o = n.pop();) try {
41
- if (!o.a && 1 === s) return s = 0, n.push(o), Promise.resolve().then(next);
42
- if (o.d) {
43
- var r$1 = o.d.call(o.v);
44
- if (o.a) return s |= 2, Promise.resolve(r$1).then(next, err);
45
- } else s |= 1;
46
- } catch (r$2) {
47
- return err(r$2);
48
- }
49
- if (1 === s) return t !== e ? Promise.reject(t) : Promise.resolve();
50
- if (t !== e) throw t;
51
- }
52
- function err(n$1) {
53
- return t = t !== e ? new r(n$1, t) : n$1, next();
54
- }
55
- return next();
56
- }
57
- };
58
- }
59
- module.exports = _usingCtx, module.exports.__esModule = true, module.exports["default"] = module.exports;
60
- } });
61
-
62
- //#endregion
63
- export default require_usingCtx();
64
-
65
- export { require_usingCtx };
66
- //# sourceMappingURL=usingCtx.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usingCtx.mjs","names":["r","e","n","o"],"sources":["../../../../../../../../../../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js"],"sourcesContent":["function _usingCtx() {\n var r = \"function\" == typeof SuppressedError ? SuppressedError : function (r, e) {\n var n = Error();\n return n.name = \"SuppressedError\", n.error = r, n.suppressed = e, n;\n },\n e = {},\n n = [];\n function using(r, e) {\n if (null != e) {\n if (Object(e) !== e) throw new TypeError(\"using declarations can only be used with objects, functions, null, or undefined.\");\n if (r) var o = e[Symbol.asyncDispose || Symbol[\"for\"](\"Symbol.asyncDispose\")];\n if (void 0 === o && (o = e[Symbol.dispose || Symbol[\"for\"](\"Symbol.dispose\")], r)) var t = o;\n if (\"function\" != typeof o) throw new TypeError(\"Object is not disposable.\");\n t && (o = function o() {\n try {\n t.call(e);\n } catch (r) {\n return Promise.reject(r);\n }\n }), n.push({\n v: e,\n d: o,\n a: r\n });\n } else r && n.push({\n d: e,\n a: r\n });\n return e;\n }\n return {\n e: e,\n u: using.bind(null, !1),\n a: using.bind(null, !0),\n d: function d() {\n var o,\n t = this.e,\n s = 0;\n function next() {\n for (; o = n.pop();) try {\n if (!o.a && 1 === s) return s = 0, n.push(o), Promise.resolve().then(next);\n if (o.d) {\n var r = o.d.call(o.v);\n if (o.a) return s |= 2, Promise.resolve(r).then(next, err);\n } else s |= 1;\n } catch (r) {\n return err(r);\n }\n if (1 === s) return t !== e ? Promise.reject(t) : Promise.resolve();\n if (t !== e) throw t;\n }\n function err(n) {\n return t = t !== e ? new r(n, t) : n, next();\n }\n return next();\n }\n };\n}\nmodule.exports = _usingCtx, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;"],"x_google_ignoreList":[0],"mappings":";;;;CAAA,SAAS,YAAY;EACnB,IAAI,IAAI,qBAAqB,kBAAkB,kBAAkB,SAAUA,KAAGC,KAAG;GAC7E,IAAIC,MAAI,OAAO;AACf,UAAOA,IAAE,OAAO,mBAAmBA,IAAE,QAAQF,KAAGE,IAAE,aAAaD,KAAGC;EACnE,GACD,IAAI,CAAE,GACN,IAAI,CAAE;EACR,SAAS,MAAMF,KAAGC,KAAG;AACnB,OAAI,QAAQA,KAAG;AACb,QAAI,OAAOA,IAAE,KAAKA,IAAG,OAAM,IAAI,UAAU;AACzC,QAAID,KAAG,IAAI,IAAIC,IAAE,OAAO,gBAAgB,OAAO,OAAO,sBAAsB;AAC5E,aAAS,MAAM,MAAM,IAAIA,IAAE,OAAO,WAAW,OAAO,OAAO,iBAAiB,GAAGD,MAAI,IAAI,IAAI;AAC3F,QAAI,qBAAqB,EAAG,OAAM,IAAI,UAAU;AAChD,UAAM,IAAI,SAASG,MAAI;AACrB,SAAI;AACF,QAAE,KAAKF,IAAE;KACV,SAAQD,KAAG;AACV,aAAO,QAAQ,OAAOA,IAAE;KACzB;IACF,IAAG,EAAE,KAAK;KACT,GAAGC;KACH,GAAG;KACH,GAAGD;IACJ,EAAC;GACH,MAAM,QAAK,EAAE,KAAK;IACjB,GAAGC;IACH,GAAGD;GACJ,EAAC;AACF,UAAOC;EACR;AACD,SAAO;GACF;GACH,GAAG,MAAM,KAAK,OAAO,EAAE;GACvB,GAAG,MAAM,KAAK,OAAO,EAAE;GACvB,GAAG,SAAS,IAAI;IACd,IAAI,GACF,IAAI,KAAK,GACT,IAAI;IACN,SAAS,OAAO;AACd,YAAO,IAAI,EAAE,KAAK,EAAG,KAAI;AACvB,WAAK,EAAE,KAAK,MAAM,EAAG,QAAO,IAAI,GAAG,EAAE,KAAK,EAAE,EAAE,QAAQ,SAAS,CAAC,KAAK,KAAK;AAC1E,UAAI,EAAE,GAAG;OACP,IAAID,MAAI,EAAE,EAAE,KAAK,EAAE,EAAE;AACrB,WAAI,EAAE,EAAG,QAAO,KAAK,GAAG,QAAQ,QAAQA,IAAE,CAAC,KAAK,MAAM,IAAI;MAC3D,MAAM,MAAK;KACb,SAAQA,KAAG;AACV,aAAO,IAAIA,IAAE;KACd;AACD,SAAI,MAAM,EAAG,QAAO,MAAM,IAAI,QAAQ,OAAO,EAAE,GAAG,QAAQ,SAAS;AACnE,SAAI,MAAM,EAAG,OAAM;IACpB;IACD,SAAS,IAAIE,KAAG;AACd,YAAO,IAAI,MAAM,IAAI,IAAI,EAAEA,KAAG,KAAKA,KAAG,MAAM;IAC7C;AACD,WAAO,MAAM;GACd;EACF;CACF;AACD,QAAO,UAAU,WAAW,OAAO,QAAQ,aAAa,MAAM,OAAO,QAAQ,aAAa,OAAO"}
@@ -1,3 +0,0 @@
1
- import { TRPCConnectionState } from "./links/internals/subscriptions.js";
2
- import { CoercedTransformerParameters, TransformerOptions, getTransformer } from "./internals/transformer.js";
3
- export { CoercedTransformerParameters, TRPCConnectionState, TransformerOptions, getTransformer };
@@ -1,3 +0,0 @@
1
- const require_transformer = require('./internals/transformer.js');
2
-
3
- exports.getTransformer = require_transformer.getTransformer;