@trpc/client 11.1.2 → 11.1.3-alpha-tmp-tsdown.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/TRPCClientError.d.mts +33 -0
- package/dist/TRPCClientError.d.mts.map +1 -0
- package/dist/TRPCClientError.d.ts +29 -25
- package/dist/TRPCClientError.d.ts.map +1 -1
- package/dist/TRPCClientError.js +48 -72
- package/dist/TRPCClientError.mjs +48 -71
- package/dist/TRPCClientError.mjs.map +1 -0
- package/dist/_virtual/rolldown_runtime.js +39 -0
- package/dist/_virtual/rolldown_runtime.mjs +27 -0
- package/dist/createTRPCClient.d.mts +73 -0
- package/dist/createTRPCClient.d.mts.map +1 -0
- package/dist/createTRPCClient.d.ts +38 -34
- package/dist/createTRPCClient.d.ts.map +1 -1
- package/dist/createTRPCClient.js +34 -34
- package/dist/createTRPCClient.mjs +33 -31
- package/dist/createTRPCClient.mjs.map +1 -0
- package/dist/createTRPCUntypedClient.d.mts +9 -0
- package/dist/createTRPCUntypedClient.d.mts.map +1 -0
- package/dist/createTRPCUntypedClient.d.ts +8 -6
- package/dist/createTRPCUntypedClient.d.ts.map +1 -1
- package/dist/createTRPCUntypedClient.js +5 -6
- package/dist/createTRPCUntypedClient.mjs +6 -3
- package/dist/createTRPCUntypedClient.mjs.map +1 -0
- package/dist/getFetch.d.mts +10 -0
- package/dist/getFetch.d.mts.map +1 -0
- package/dist/getFetch.d.ts +9 -2
- package/dist/getFetch.d.ts.map +1 -1
- package/dist/getFetch.js +8 -13
- package/dist/getFetch.mjs +8 -11
- package/dist/getFetch.mjs.map +1 -0
- package/dist/index.d.mts +21 -0
- package/dist/index.d.ts +21 -16
- package/dist/index.js +41 -42
- package/dist/index.mjs +18 -15
- package/dist/internals/TRPCUntypedClient.d.mts +46 -0
- package/dist/internals/TRPCUntypedClient.d.mts.map +1 -0
- package/dist/internals/TRPCUntypedClient.d.ts +40 -33
- package/dist/internals/TRPCUntypedClient.d.ts.map +1 -1
- package/dist/internals/TRPCUntypedClient.js +94 -113
- package/dist/internals/TRPCUntypedClient.mjs +93 -110
- package/dist/internals/TRPCUntypedClient.mjs.map +1 -0
- package/dist/internals/dataLoader.js +101 -116
- package/dist/internals/dataLoader.mjs +101 -114
- package/dist/internals/dataLoader.mjs.map +1 -0
- package/dist/internals/inputWithTrackedEventId.js +9 -12
- package/dist/internals/inputWithTrackedEventId.mjs +9 -10
- package/dist/internals/inputWithTrackedEventId.mjs.map +1 -0
- package/dist/internals/signals.js +39 -40
- package/dist/internals/signals.mjs +39 -39
- package/dist/internals/signals.mjs.map +1 -0
- package/dist/internals/transformer.d.mts +47 -0
- package/dist/internals/transformer.d.mts.map +1 -0
- package/dist/internals/transformer.d.ts +28 -23
- package/dist/internals/transformer.d.ts.map +1 -1
- package/dist/internals/transformer.js +25 -26
- package/dist/internals/transformer.mjs +25 -24
- package/dist/internals/transformer.mjs.map +1 -0
- package/dist/internals/types.d.mts +85 -0
- package/dist/internals/types.d.mts.map +1 -0
- package/dist/internals/types.d.ts +45 -42
- package/dist/internals/types.d.ts.map +1 -1
- package/dist/links/HTTPBatchLinkOptions.d.mts +25 -0
- package/dist/links/HTTPBatchLinkOptions.d.mts.map +1 -0
- package/dist/links/HTTPBatchLinkOptions.d.ts +23 -18
- package/dist/links/HTTPBatchLinkOptions.d.ts.map +1 -1
- package/dist/links/httpBatchLink.d.mts +18 -0
- package/dist/links/httpBatchLink.d.mts.map +1 -0
- package/dist/links/httpBatchLink.d.ts +14 -4
- package/dist/links/httpBatchLink.d.ts.map +1 -1
- package/dist/links/httpBatchLink.js +90 -106
- package/dist/links/httpBatchLink.mjs +89 -103
- package/dist/links/httpBatchLink.mjs.map +1 -0
- package/dist/links/httpBatchStreamLink.d.mts +22 -0
- package/dist/links/httpBatchStreamLink.d.mts.map +1 -0
- package/dist/links/httpBatchStreamLink.d.ts +15 -5
- package/dist/links/httpBatchStreamLink.d.ts.map +1 -1
- package/dist/links/httpBatchStreamLink.js +120 -144
- package/dist/links/httpBatchStreamLink.mjs +119 -141
- package/dist/links/httpBatchStreamLink.mjs.map +1 -0
- package/dist/links/httpLink.d.mts +24 -0
- package/dist/links/httpLink.d.mts.map +1 -0
- package/dist/links/httpLink.d.ts +19 -12
- package/dist/links/httpLink.d.ts.map +1 -1
- package/dist/links/httpLink.js +74 -90
- package/dist/links/httpLink.mjs +73 -87
- package/dist/links/httpLink.mjs.map +1 -0
- package/dist/links/httpSubscriptionLink.d.mts +30 -0
- package/dist/links/httpSubscriptionLink.d.mts.map +1 -0
- package/dist/links/httpSubscriptionLink.d.ts +21 -17
- package/dist/links/httpSubscriptionLink.d.ts.map +1 -1
- package/dist/links/httpSubscriptionLink.js +134 -179
- package/dist/links/httpSubscriptionLink.mjs +133 -176
- package/dist/links/httpSubscriptionLink.mjs.map +1 -0
- package/dist/links/internals/contentTypes.d.mts +10 -0
- package/dist/links/internals/contentTypes.d.mts.map +1 -0
- package/dist/links/internals/contentTypes.d.ts +9 -3
- package/dist/links/internals/contentTypes.d.ts.map +1 -1
- package/dist/links/internals/contentTypes.js +6 -6
- package/dist/links/internals/contentTypes.mjs +6 -4
- package/dist/links/internals/contentTypes.mjs.map +1 -0
- package/dist/links/internals/createChain.js +23 -23
- package/dist/links/internals/createChain.mjs +22 -20
- package/dist/links/internals/createChain.mjs.map +1 -0
- package/dist/links/internals/httpUtils.d.mts +26 -0
- package/dist/links/internals/httpUtils.d.mts.map +1 -0
- package/dist/links/internals/httpUtils.d.ts +22 -64
- package/dist/links/internals/httpUtils.d.ts.map +1 -1
- package/dist/links/internals/httpUtils.js +93 -116
- package/dist/links/internals/httpUtils.mjs +94 -113
- package/dist/links/internals/httpUtils.mjs.map +1 -0
- package/dist/links/internals/subscriptions.d.mts +20 -0
- package/dist/links/internals/subscriptions.d.mts.map +1 -0
- package/dist/links/internals/subscriptions.d.ts +11 -8
- package/dist/links/internals/subscriptions.d.ts.map +1 -1
- package/dist/links/internals/urlWithConnectionParams.d.mts +27 -0
- package/dist/links/internals/urlWithConnectionParams.d.mts.map +1 -0
- package/dist/links/internals/urlWithConnectionParams.d.ts +22 -18
- package/dist/links/internals/urlWithConnectionParams.d.ts.map +1 -1
- package/dist/links/internals/urlWithConnectionParams.js +8 -6
- package/dist/links/internals/urlWithConnectionParams.mjs +8 -4
- package/dist/links/internals/urlWithConnectionParams.mjs.map +1 -0
- package/dist/links/localLink.d.mts +22 -0
- package/dist/links/localLink.d.mts.map +1 -0
- package/dist/links/localLink.d.ts +22 -0
- package/dist/links/localLink.d.ts.map +1 -0
- package/dist/links/localLink.js +192 -0
- package/dist/links/localLink.mjs +193 -0
- package/dist/links/localLink.mjs.map +1 -0
- package/dist/links/loggerLink.d.mts +56 -0
- package/dist/links/loggerLink.d.mts.map +1 -0
- package/dist/links/loggerLink.d.ts +40 -36
- package/dist/links/loggerLink.d.ts.map +1 -1
- package/dist/links/loggerLink.js +113 -166
- package/dist/links/loggerLink.mjs +112 -163
- package/dist/links/loggerLink.mjs.map +1 -0
- package/dist/links/retryLink.d.mts +35 -0
- package/dist/links/retryLink.d.mts.map +1 -0
- package/dist/links/retryLink.d.ts +27 -25
- package/dist/links/retryLink.d.ts.map +1 -1
- package/dist/links/retryLink.js +60 -68
- package/dist/links/retryLink.mjs +59 -65
- package/dist/links/retryLink.mjs.map +1 -0
- package/dist/links/splitLink.d.mts +21 -0
- package/dist/links/splitLink.d.mts.map +1 -0
- package/dist/links/splitLink.d.ts +19 -12
- package/dist/links/splitLink.d.ts.map +1 -1
- package/dist/links/splitLink.js +20 -21
- package/dist/links/splitLink.mjs +19 -18
- package/dist/links/splitLink.mjs.map +1 -0
- package/dist/links/types.d.mts +71 -0
- package/dist/links/types.d.mts.map +1 -0
- package/dist/links/types.d.ts +37 -29
- package/dist/links/types.d.ts.map +1 -1
- package/dist/links/wsLink/createWsClient.d.mts +10 -0
- package/dist/links/wsLink/createWsClient.d.mts.map +1 -0
- package/dist/links/wsLink/createWsClient.d.ts +9 -5
- package/dist/links/wsLink/createWsClient.d.ts.map +1 -1
- package/dist/links/wsLink/createWsClient.js +5 -5
- package/dist/links/wsLink/createWsClient.mjs +5 -2
- package/dist/links/wsLink/createWsClient.mjs.map +1 -0
- package/dist/links/wsLink/wsClient/options.d.mts +69 -0
- package/dist/links/wsLink/wsClient/options.d.mts.map +1 -0
- package/dist/links/wsLink/wsClient/options.d.ts +54 -64
- package/dist/links/wsLink/wsClient/options.d.ts.map +1 -1
- package/dist/links/wsLink/wsClient/options.js +14 -12
- package/dist/links/wsLink/wsClient/options.mjs +14 -10
- package/dist/links/wsLink/wsClient/options.mjs.map +1 -0
- package/dist/links/wsLink/wsClient/requestManager.js +133 -135
- package/dist/links/wsLink/wsClient/requestManager.mjs +133 -132
- package/dist/links/wsLink/wsClient/requestManager.mjs.map +1 -0
- package/dist/links/wsLink/wsClient/utils.js +64 -81
- package/dist/links/wsLink/wsClient/utils.mjs +64 -78
- package/dist/links/wsLink/wsClient/utils.mjs.map +1 -0
- package/dist/links/wsLink/wsClient/wsClient.d.mts +104 -0
- package/dist/links/wsLink/wsClient/wsClient.d.mts.map +1 -0
- package/dist/links/wsLink/wsClient/wsClient.d.ts +99 -79
- package/dist/links/wsLink/wsClient/wsClient.d.ts.map +1 -1
- package/dist/links/wsLink/wsClient/wsClient.js +273 -322
- package/dist/links/wsLink/wsClient/wsClient.mjs +272 -319
- package/dist/links/wsLink/wsClient/wsClient.mjs.map +1 -0
- package/dist/links/wsLink/wsClient/wsConnection.js +155 -178
- package/dist/links/wsLink/wsClient/wsConnection.mjs +154 -175
- package/dist/links/wsLink/wsClient/wsConnection.mjs.map +1 -0
- package/dist/links/wsLink/wsLink.d.mts +15 -0
- package/dist/links/wsLink/wsLink.d.mts.map +1 -0
- package/dist/links/wsLink/wsLink.d.ts +13 -9
- package/dist/links/wsLink/wsLink.d.ts.map +1 -1
- package/dist/links/wsLink/wsLink.js +30 -31
- package/dist/links/wsLink/wsLink.mjs +29 -28
- package/dist/links/wsLink/wsLink.mjs.map +1 -0
- package/dist/links.js +11 -0
- package/dist/links.mjs +11 -0
- package/dist/node_modules/.pnpm/@oxc-project_runtime@0.71.0/node_modules/@oxc-project/runtime/src/helpers/usingCtx.js +68 -0
- package/dist/node_modules/.pnpm/@oxc-project_runtime@0.71.0/node_modules/@oxc-project/runtime/src/helpers/usingCtx.mjs +66 -0
- package/dist/node_modules/.pnpm/@oxc-project_runtime@0.71.0/node_modules/@oxc-project/runtime/src/helpers/usingCtx.mjs.map +1 -0
- package/dist/unstable-internals.d.mts +3 -0
- package/dist/unstable-internals.d.ts +3 -3
- package/dist/unstable-internals.js +2 -6
- package/dist/unstable-internals.mjs +3 -1
- package/links/httpBatchLink/package.json +1 -0
- package/links/httpLink/package.json +1 -0
- package/links/loggerLink/package.json +1 -0
- package/links/splitLink/package.json +1 -0
- package/links/wsLink/wsLink/package.json +1 -0
- package/package.json +64 -29
- package/src/TRPCClientError.ts +4 -9
- package/src/internals/dataLoader.ts +2 -6
- package/src/internals/signals.ts +16 -0
- package/src/links/httpSubscriptionLink.ts +3 -18
- package/src/links/localLink.ts +277 -0
- package/src/links/wsLink/wsClient/requestManager.ts +9 -0
- package/src/links/wsLink/wsClient/wsClient.ts +1 -1
- package/src/links.ts +1 -0
- package/unstable-internals/package.json +1 -0
- package/dist/index.d.ts.map +0 -1
- package/dist/internals/dataLoader.d.ts +0 -13
- package/dist/internals/dataLoader.d.ts.map +0 -1
- package/dist/internals/inputWithTrackedEventId.d.ts +0 -2
- package/dist/internals/inputWithTrackedEventId.d.ts.map +0 -1
- package/dist/internals/signals.d.ts +0 -15
- package/dist/internals/signals.d.ts.map +0 -1
- package/dist/links/internals/createChain.d.ts +0 -8
- package/dist/links/internals/createChain.d.ts.map +0 -1
- package/dist/links/internals/dedupeLink.d.ts +0 -7
- package/dist/links/internals/dedupeLink.d.ts.map +0 -1
- package/dist/links/wsLink/wsClient/requestManager.d.ts +0 -102
- package/dist/links/wsLink/wsClient/requestManager.d.ts.map +0 -1
- package/dist/links/wsLink/wsClient/utils.d.ts +0 -38
- package/dist/links/wsLink/wsClient/utils.d.ts.map +0 -1
- package/dist/links/wsLink/wsClient/wsConnection.d.ts +0 -79
- package/dist/links/wsLink/wsClient/wsConnection.d.ts.map +0 -1
- package/dist/links.d.ts +0 -11
- package/dist/links.d.ts.map +0 -1
- package/dist/unstable-internals.d.ts.map +0 -1
|
@@ -1,325 +1,276 @@
|
|
|
1
|
-
|
|
1
|
+
const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.js');
|
|
2
|
+
const require__Users_julius_dev_trpc_packages_client_src_TRPCClientError = require('../../../TRPCClientError.js');
|
|
3
|
+
const require__Users_julius_dev_trpc_packages_client_src_links_wsLink_wsClient_options = require('./options.js');
|
|
4
|
+
const require__Users_julius_dev_trpc_packages_client_src_links_wsLink_wsClient_utils = require('./utils.js');
|
|
5
|
+
const require__Users_julius_dev_trpc_packages_client_src_links_wsLink_wsClient_requestManager = require('./requestManager.js');
|
|
6
|
+
const require__Users_julius_dev_trpc_packages_client_src_links_wsLink_wsClient_wsConnection = require('./wsConnection.js');
|
|
7
|
+
const __trpc_server_observable = require_rolldown_runtime.__toESM(require("@trpc/server/observable"));
|
|
8
|
+
const __trpc_server_unstable_core_do_not_import = require_rolldown_runtime.__toESM(require("@trpc/server/unstable-core-do-not-import"));
|
|
2
9
|
|
|
3
|
-
|
|
4
|
-
var unstableCoreDoNotImport = require('@trpc/server/unstable-core-do-not-import');
|
|
5
|
-
var TRPCClientError = require('../../../TRPCClientError.js');
|
|
6
|
-
var options = require('./options.js');
|
|
7
|
-
var requestManager = require('./requestManager.js');
|
|
8
|
-
var utils = require('./utils.js');
|
|
9
|
-
var wsConnection = require('./wsConnection.js');
|
|
10
|
-
|
|
11
|
-
function _define_property(obj, key, value) {
|
|
12
|
-
if (key in obj) {
|
|
13
|
-
Object.defineProperty(obj, key, {
|
|
14
|
-
value: value,
|
|
15
|
-
enumerable: true,
|
|
16
|
-
configurable: true,
|
|
17
|
-
writable: true
|
|
18
|
-
});
|
|
19
|
-
} else {
|
|
20
|
-
obj[key] = value;
|
|
21
|
-
}
|
|
22
|
-
return obj;
|
|
23
|
-
}
|
|
10
|
+
//#region src/links/wsLink/wsClient/wsClient.ts
|
|
24
11
|
/**
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
};
|
|
288
|
-
// Set up inactivity timeout for lazy connections.
|
|
289
|
-
this.inactivityTimeout = new utils.ResettableTimeout(()=>{
|
|
290
|
-
if (this.requestManager.hasOutgoingRequests() || this.requestManager.hasPendingRequests()) {
|
|
291
|
-
this.inactivityTimeout.reset();
|
|
292
|
-
return;
|
|
293
|
-
}
|
|
294
|
-
this.close().catch(()=>null);
|
|
295
|
-
}, lazyOptions.closeMs);
|
|
296
|
-
// Initialize the WebSocket connection.
|
|
297
|
-
this.activeConnection = new wsConnection.WsConnection({
|
|
298
|
-
WebSocketPonyfill: opts.WebSocket,
|
|
299
|
-
urlOptions: opts,
|
|
300
|
-
keepAlive: {
|
|
301
|
-
...options.keepAliveDefaults,
|
|
302
|
-
...opts.keepAlive
|
|
303
|
-
}
|
|
304
|
-
});
|
|
305
|
-
this.activeConnection.wsObservable.subscribe({
|
|
306
|
-
next: (ws)=>{
|
|
307
|
-
if (!ws) return;
|
|
308
|
-
this.setupWebSocketListeners(ws);
|
|
309
|
-
}
|
|
310
|
-
});
|
|
311
|
-
this.reconnectRetryDelay = opts.retryDelayMs ?? options.exponentialBackoff;
|
|
312
|
-
this.lazyMode = lazyOptions.enabled;
|
|
313
|
-
this.connectionState = observable.behaviorSubject({
|
|
314
|
-
type: 'state',
|
|
315
|
-
state: lazyOptions.enabled ? 'idle' : 'connecting',
|
|
316
|
-
error: null
|
|
317
|
-
});
|
|
318
|
-
// Automatically open the connection if lazy mode is disabled.
|
|
319
|
-
if (!this.lazyMode) {
|
|
320
|
-
this.open().catch(()=>null);
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
}
|
|
12
|
+
* A WebSocket client for managing TRPC operations, supporting lazy initialization,
|
|
13
|
+
* reconnection, keep-alive, and request management.
|
|
14
|
+
*/
|
|
15
|
+
var WsClient = class {
|
|
16
|
+
/**
|
|
17
|
+
* Observable tracking the current connection state, including errors.
|
|
18
|
+
*/
|
|
19
|
+
connectionState;
|
|
20
|
+
allowReconnect = false;
|
|
21
|
+
requestManager = new require__Users_julius_dev_trpc_packages_client_src_links_wsLink_wsClient_requestManager.RequestManager();
|
|
22
|
+
activeConnection;
|
|
23
|
+
reconnectRetryDelay;
|
|
24
|
+
inactivityTimeout;
|
|
25
|
+
callbacks;
|
|
26
|
+
lazyMode;
|
|
27
|
+
constructor(opts) {
|
|
28
|
+
this.callbacks = {
|
|
29
|
+
onOpen: opts.onOpen,
|
|
30
|
+
onClose: opts.onClose,
|
|
31
|
+
onError: opts.onError
|
|
32
|
+
};
|
|
33
|
+
const lazyOptions = {
|
|
34
|
+
...require__Users_julius_dev_trpc_packages_client_src_links_wsLink_wsClient_options.lazyDefaults,
|
|
35
|
+
...opts.lazy
|
|
36
|
+
};
|
|
37
|
+
this.inactivityTimeout = new require__Users_julius_dev_trpc_packages_client_src_links_wsLink_wsClient_utils.ResettableTimeout(() => {
|
|
38
|
+
if (this.requestManager.hasOutgoingRequests() || this.requestManager.hasPendingRequests()) {
|
|
39
|
+
this.inactivityTimeout.reset();
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
this.close().catch(() => null);
|
|
43
|
+
}, lazyOptions.closeMs);
|
|
44
|
+
this.activeConnection = new require__Users_julius_dev_trpc_packages_client_src_links_wsLink_wsClient_wsConnection.WsConnection({
|
|
45
|
+
WebSocketPonyfill: opts.WebSocket,
|
|
46
|
+
urlOptions: opts,
|
|
47
|
+
keepAlive: {
|
|
48
|
+
...require__Users_julius_dev_trpc_packages_client_src_links_wsLink_wsClient_options.keepAliveDefaults,
|
|
49
|
+
...opts.keepAlive
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
this.activeConnection.wsObservable.subscribe({ next: (ws) => {
|
|
53
|
+
if (!ws) return;
|
|
54
|
+
this.setupWebSocketListeners(ws);
|
|
55
|
+
} });
|
|
56
|
+
this.reconnectRetryDelay = opts.retryDelayMs ?? require__Users_julius_dev_trpc_packages_client_src_links_wsLink_wsClient_options.exponentialBackoff;
|
|
57
|
+
this.lazyMode = lazyOptions.enabled;
|
|
58
|
+
this.connectionState = (0, __trpc_server_observable.behaviorSubject)({
|
|
59
|
+
type: "state",
|
|
60
|
+
state: lazyOptions.enabled ? "idle" : "connecting",
|
|
61
|
+
error: null
|
|
62
|
+
});
|
|
63
|
+
if (!this.lazyMode) this.open().catch(() => null);
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Opens the WebSocket connection. Handles reconnection attempts and updates
|
|
67
|
+
* the connection state accordingly.
|
|
68
|
+
*/
|
|
69
|
+
async open() {
|
|
70
|
+
this.allowReconnect = true;
|
|
71
|
+
if (this.connectionState.get().state !== "connecting") this.connectionState.next({
|
|
72
|
+
type: "state",
|
|
73
|
+
state: "connecting",
|
|
74
|
+
error: null
|
|
75
|
+
});
|
|
76
|
+
try {
|
|
77
|
+
await this.activeConnection.open();
|
|
78
|
+
} catch (error) {
|
|
79
|
+
this.reconnect(new require__Users_julius_dev_trpc_packages_client_src_links_wsLink_wsClient_utils.TRPCWebSocketClosedError({
|
|
80
|
+
message: "Initialization error",
|
|
81
|
+
cause: error
|
|
82
|
+
}));
|
|
83
|
+
return this.reconnecting;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Closes the WebSocket connection and stops managing requests.
|
|
88
|
+
* Ensures all outgoing and pending requests are properly finalized.
|
|
89
|
+
*/
|
|
90
|
+
async close() {
|
|
91
|
+
this.allowReconnect = false;
|
|
92
|
+
this.inactivityTimeout.stop();
|
|
93
|
+
const requestsToAwait = [];
|
|
94
|
+
for (const request of this.requestManager.getRequests()) if (request.message.method === "subscription") request.callbacks.complete();
|
|
95
|
+
else if (request.state === "outgoing") request.callbacks.error(require__Users_julius_dev_trpc_packages_client_src_TRPCClientError.TRPCClientError.from(new require__Users_julius_dev_trpc_packages_client_src_links_wsLink_wsClient_utils.TRPCWebSocketClosedError({ message: "Closed before connection was established" })));
|
|
96
|
+
else requestsToAwait.push(request.end);
|
|
97
|
+
await Promise.all(requestsToAwait).catch(() => null);
|
|
98
|
+
await this.activeConnection.close().catch(() => null);
|
|
99
|
+
this.connectionState.next({
|
|
100
|
+
type: "state",
|
|
101
|
+
state: "idle",
|
|
102
|
+
error: null
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Method to request the server.
|
|
107
|
+
* Handles data transformation, batching of requests, and subscription lifecycle.
|
|
108
|
+
*
|
|
109
|
+
* @param op - The operation details including id, type, path, input and signal
|
|
110
|
+
* @param transformer - Data transformer for serializing requests and deserializing responses
|
|
111
|
+
* @param lastEventId - Optional ID of the last received event for subscriptions
|
|
112
|
+
*
|
|
113
|
+
* @returns An observable that emits operation results and handles cleanup
|
|
114
|
+
*/
|
|
115
|
+
request({ op: { id, type, path, input, signal }, transformer, lastEventId }) {
|
|
116
|
+
return (0, __trpc_server_observable.observable)((observer) => {
|
|
117
|
+
const abort = this.batchSend({
|
|
118
|
+
id,
|
|
119
|
+
method: type,
|
|
120
|
+
params: {
|
|
121
|
+
input: transformer.input.serialize(input),
|
|
122
|
+
path,
|
|
123
|
+
lastEventId
|
|
124
|
+
}
|
|
125
|
+
}, {
|
|
126
|
+
...observer,
|
|
127
|
+
next(event) {
|
|
128
|
+
const transformed = (0, __trpc_server_unstable_core_do_not_import.transformResult)(event, transformer.output);
|
|
129
|
+
if (!transformed.ok) {
|
|
130
|
+
observer.error(require__Users_julius_dev_trpc_packages_client_src_TRPCClientError.TRPCClientError.from(transformed.error));
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
observer.next({ result: transformed.result });
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
return () => {
|
|
137
|
+
abort();
|
|
138
|
+
if (type === "subscription" && this.activeConnection.isOpen()) this.send({
|
|
139
|
+
id,
|
|
140
|
+
method: "subscription.stop"
|
|
141
|
+
});
|
|
142
|
+
signal?.removeEventListener("abort", abort);
|
|
143
|
+
};
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
get connection() {
|
|
147
|
+
return require__Users_julius_dev_trpc_packages_client_src_links_wsLink_wsClient_wsConnection.backwardCompatibility(this.activeConnection);
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Manages the reconnection process for the WebSocket using retry logic.
|
|
151
|
+
* Ensures that only one reconnection attempt is active at a time by tracking the current
|
|
152
|
+
* reconnection state in the `reconnecting` promise.
|
|
153
|
+
*/
|
|
154
|
+
reconnecting = null;
|
|
155
|
+
reconnect(closedError) {
|
|
156
|
+
this.connectionState.next({
|
|
157
|
+
type: "state",
|
|
158
|
+
state: "connecting",
|
|
159
|
+
error: require__Users_julius_dev_trpc_packages_client_src_TRPCClientError.TRPCClientError.from(closedError)
|
|
160
|
+
});
|
|
161
|
+
if (this.reconnecting) return;
|
|
162
|
+
const tryReconnect = async (attemptIndex) => {
|
|
163
|
+
try {
|
|
164
|
+
await (0, __trpc_server_unstable_core_do_not_import.sleep)(this.reconnectRetryDelay(attemptIndex));
|
|
165
|
+
if (this.allowReconnect) {
|
|
166
|
+
await this.activeConnection.close();
|
|
167
|
+
await this.activeConnection.open();
|
|
168
|
+
if (this.requestManager.hasPendingRequests()) this.send(this.requestManager.getPendingRequests().map(({ message }) => message));
|
|
169
|
+
}
|
|
170
|
+
this.reconnecting = null;
|
|
171
|
+
} catch {
|
|
172
|
+
await tryReconnect(attemptIndex + 1);
|
|
173
|
+
}
|
|
174
|
+
};
|
|
175
|
+
this.reconnecting = tryReconnect(0);
|
|
176
|
+
}
|
|
177
|
+
setupWebSocketListeners(ws) {
|
|
178
|
+
const handleCloseOrError = (cause) => {
|
|
179
|
+
const reqs = this.requestManager.getPendingRequests();
|
|
180
|
+
for (const { message, callbacks } of reqs) {
|
|
181
|
+
if (message.method === "subscription") continue;
|
|
182
|
+
callbacks.error(require__Users_julius_dev_trpc_packages_client_src_TRPCClientError.TRPCClientError.from(cause ?? new require__Users_julius_dev_trpc_packages_client_src_links_wsLink_wsClient_utils.TRPCWebSocketClosedError({
|
|
183
|
+
message: "WebSocket closed",
|
|
184
|
+
cause
|
|
185
|
+
})));
|
|
186
|
+
this.requestManager.delete(message.id);
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
ws.addEventListener("open", () => {
|
|
190
|
+
(0, __trpc_server_unstable_core_do_not_import.run)(async () => {
|
|
191
|
+
if (this.lazyMode) this.inactivityTimeout.start();
|
|
192
|
+
this.callbacks.onOpen?.();
|
|
193
|
+
this.connectionState.next({
|
|
194
|
+
type: "state",
|
|
195
|
+
state: "pending",
|
|
196
|
+
error: null
|
|
197
|
+
});
|
|
198
|
+
}).catch((error) => {
|
|
199
|
+
ws.close(3e3);
|
|
200
|
+
handleCloseOrError(error);
|
|
201
|
+
});
|
|
202
|
+
});
|
|
203
|
+
ws.addEventListener("message", ({ data }) => {
|
|
204
|
+
this.inactivityTimeout.reset();
|
|
205
|
+
if (typeof data !== "string" || ["PING", "PONG"].includes(data)) return;
|
|
206
|
+
const incomingMessage = JSON.parse(data);
|
|
207
|
+
if ("method" in incomingMessage) {
|
|
208
|
+
this.handleIncomingRequest(incomingMessage);
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
this.handleResponseMessage(incomingMessage);
|
|
212
|
+
});
|
|
213
|
+
ws.addEventListener("close", (event) => {
|
|
214
|
+
handleCloseOrError(event);
|
|
215
|
+
this.callbacks.onClose?.(event);
|
|
216
|
+
if (!this.lazyMode || this.requestManager.hasPendingSubscriptions()) this.reconnect(new require__Users_julius_dev_trpc_packages_client_src_links_wsLink_wsClient_utils.TRPCWebSocketClosedError({
|
|
217
|
+
message: "WebSocket closed",
|
|
218
|
+
cause: event
|
|
219
|
+
}));
|
|
220
|
+
});
|
|
221
|
+
ws.addEventListener("error", (event) => {
|
|
222
|
+
handleCloseOrError(event);
|
|
223
|
+
this.callbacks.onError?.(event);
|
|
224
|
+
this.reconnect(new require__Users_julius_dev_trpc_packages_client_src_links_wsLink_wsClient_utils.TRPCWebSocketClosedError({
|
|
225
|
+
message: "WebSocket closed",
|
|
226
|
+
cause: event
|
|
227
|
+
}));
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
handleResponseMessage(message) {
|
|
231
|
+
const request = this.requestManager.getPendingRequest(message.id);
|
|
232
|
+
if (!request) return;
|
|
233
|
+
request.callbacks.next(message);
|
|
234
|
+
let completed = true;
|
|
235
|
+
if ("result" in message && request.message.method === "subscription") {
|
|
236
|
+
if (message.result.type === "data") request.message.params.lastEventId = message.result.id;
|
|
237
|
+
if (message.result.type !== "stopped") completed = false;
|
|
238
|
+
}
|
|
239
|
+
if (completed) {
|
|
240
|
+
request.callbacks.complete();
|
|
241
|
+
this.requestManager.delete(message.id);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
handleIncomingRequest(message) {
|
|
245
|
+
if (message.method === "reconnect") this.reconnect(new require__Users_julius_dev_trpc_packages_client_src_links_wsLink_wsClient_utils.TRPCWebSocketClosedError({ message: "Server requested reconnect" }));
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Sends a message or batch of messages directly to the server.
|
|
249
|
+
*/
|
|
250
|
+
send(messageOrMessages) {
|
|
251
|
+
if (!this.activeConnection.isOpen()) throw new Error("Active connection is not open");
|
|
252
|
+
const messages = messageOrMessages instanceof Array ? messageOrMessages : [messageOrMessages];
|
|
253
|
+
this.activeConnection.ws.send(JSON.stringify(messages.length === 1 ? messages[0] : messages));
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Groups requests for batch sending.
|
|
257
|
+
*
|
|
258
|
+
* @returns A function to abort the batched request.
|
|
259
|
+
*/
|
|
260
|
+
batchSend(message, callbacks) {
|
|
261
|
+
this.inactivityTimeout.reset();
|
|
262
|
+
(0, __trpc_server_unstable_core_do_not_import.run)(async () => {
|
|
263
|
+
if (!this.activeConnection.isOpen()) await this.open();
|
|
264
|
+
await (0, __trpc_server_unstable_core_do_not_import.sleep)(0);
|
|
265
|
+
if (!this.requestManager.hasOutgoingRequests()) return;
|
|
266
|
+
this.send(this.requestManager.flush().map(({ message: message$1 }) => message$1));
|
|
267
|
+
}).catch((err) => {
|
|
268
|
+
this.requestManager.delete(message.id);
|
|
269
|
+
callbacks.error(require__Users_julius_dev_trpc_packages_client_src_TRPCClientError.TRPCClientError.from(err));
|
|
270
|
+
});
|
|
271
|
+
return this.requestManager.register(message, callbacks);
|
|
272
|
+
}
|
|
273
|
+
};
|
|
324
274
|
|
|
325
|
-
|
|
275
|
+
//#endregion
|
|
276
|
+
exports.WsClient = WsClient;
|