@trpc/server 10.0.0-alpha.20 → 10.0.0-alpha.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.
Files changed (198) hide show
  1. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.d.ts +1 -0
  2. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.dev.js +90 -0
  3. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.js +7 -0
  4. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.prod.js +90 -0
  5. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.esm.js +86 -0
  6. package/adapters/express/dist/trpc-server-adapters-express.cjs.dev.js +4 -4
  7. package/adapters/express/dist/trpc-server-adapters-express.cjs.prod.js +4 -4
  8. package/adapters/express/dist/trpc-server-adapters-express.esm.js +4 -4
  9. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.dev.js +5 -5
  10. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.prod.js +5 -5
  11. package/adapters/fastify/dist/trpc-server-adapters-fastify.esm.js +5 -5
  12. package/adapters/fastify/index.js +1 -1
  13. package/adapters/fetch/index.d.ts +1 -0
  14. package/adapters/fetch/index.js +1 -0
  15. package/adapters/next/dist/trpc-server-adapters-next.cjs.dev.js +4 -4
  16. package/adapters/next/dist/trpc-server-adapters-next.cjs.prod.js +4 -4
  17. package/adapters/next/dist/trpc-server-adapters-next.esm.js +4 -4
  18. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.dev.js +4 -4
  19. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.prod.js +4 -4
  20. package/adapters/node-http/dist/trpc-server-adapters-node-http.esm.js +4 -4
  21. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.dev.js +4 -4
  22. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.prod.js +4 -4
  23. package/adapters/standalone/dist/trpc-server-adapters-standalone.esm.js +4 -4
  24. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.dev.js +2 -2
  25. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.prod.js +2 -2
  26. package/adapters/ws/dist/trpc-server-adapters-ws.esm.js +2 -2
  27. package/dist/TRPCError-7971540a.mjs +65 -0
  28. package/dist/{transformTRPCResponse-43a869de.js → TRPCError-ddec3395.js} +18 -59
  29. package/dist/TRPCError.d.ts +3 -3
  30. package/dist/TRPCError.d.ts.map +1 -1
  31. package/dist/adapters/express.js +5 -5
  32. package/dist/adapters/express.mjs +5 -5
  33. package/dist/adapters/fastify/fastifyRequestHandler.d.ts.map +1 -1
  34. package/dist/adapters/fastify/index.js +7 -8
  35. package/dist/adapters/fastify/index.mjs +6 -7
  36. package/dist/adapters/fetch/fetchRequestHandler.d.ts +8 -0
  37. package/dist/adapters/fetch/fetchRequestHandler.d.ts.map +1 -0
  38. package/dist/adapters/fetch/index.d.ts +3 -0
  39. package/dist/adapters/fetch/index.d.ts.map +1 -0
  40. package/dist/adapters/fetch/index.js +69 -0
  41. package/dist/adapters/fetch/index.mjs +65 -0
  42. package/dist/adapters/fetch/index.ts.js +1 -0
  43. package/dist/adapters/fetch/types.d.ts +21 -0
  44. package/dist/adapters/fetch/types.d.ts.map +1 -0
  45. package/dist/adapters/next.d.ts.map +1 -1
  46. package/dist/adapters/next.js +9 -10
  47. package/dist/adapters/next.mjs +8 -9
  48. package/dist/adapters/node-http/index.js +5 -5
  49. package/dist/adapters/node-http/index.mjs +5 -5
  50. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +1 -1
  51. package/dist/adapters/node-http/types.d.ts +9 -7
  52. package/dist/adapters/node-http/types.d.ts.map +1 -1
  53. package/dist/adapters/standalone.d.ts.map +1 -1
  54. package/dist/adapters/standalone.js +11 -8
  55. package/dist/adapters/standalone.mjs +11 -7
  56. package/dist/adapters/ws.d.ts +4 -4
  57. package/dist/adapters/ws.d.ts.map +1 -1
  58. package/dist/adapters/ws.js +117 -80
  59. package/dist/adapters/ws.mjs +112 -75
  60. package/dist/assertNotBrowser.d.ts.map +1 -1
  61. package/dist/{codes-7a3d4f65.mjs → envelopes-1deb2fa7.mjs} +19 -1
  62. package/dist/{codes-7f46544e.js → envelopes-a953b930.js} +18 -0
  63. package/dist/http/index.d.ts +1 -1
  64. package/dist/http/internals/getHTTPStatusCode.d.ts +1 -0
  65. package/dist/http/internals/getHTTPStatusCode.d.ts.map +1 -1
  66. package/dist/http/internals/types.d.ts +5 -4
  67. package/dist/http/internals/types.d.ts.map +1 -1
  68. package/dist/http/resolveHTTPResponse.d.ts +1 -1
  69. package/dist/http/resolveHTTPResponse.d.ts.map +1 -1
  70. package/dist/http/{ResponseMeta.d.ts → responseMeta.d.ts} +1 -1
  71. package/dist/http/responseMeta.d.ts.map +1 -0
  72. package/dist/index.d.ts +0 -1
  73. package/dist/index.d.ts.map +1 -1
  74. package/dist/index.js +45 -54
  75. package/dist/index.mjs +40 -47
  76. package/dist/internals/{BaseHandlerOptions.d.ts → baseHandlerOptions.d.ts} +2 -2
  77. package/dist/internals/{BaseHandlerOptions.d.ts.map → baseHandlerOptions.d.ts.map} +1 -1
  78. package/dist/internals/callProcedure.d.ts +2 -2
  79. package/dist/internals/callProcedure.d.ts.map +1 -1
  80. package/dist/internals/errors.d.ts +1 -0
  81. package/dist/internals/errors.d.ts.map +1 -1
  82. package/dist/internals/middlewares.d.ts +5 -2
  83. package/dist/internals/middlewares.d.ts.map +1 -1
  84. package/dist/internals/{OnErrorFunction.d.ts → onErrorFunction.d.ts} +1 -1
  85. package/dist/internals/{OnErrorFunction.d.ts.map → onErrorFunction.d.ts.map} +1 -1
  86. package/dist/internals/procedure.d.ts +20 -14
  87. package/dist/internals/procedure.d.ts.map +1 -1
  88. package/dist/internals/transformTRPCResponse.d.ts +4 -2
  89. package/dist/internals/transformTRPCResponse.d.ts.map +1 -1
  90. package/dist/{nodeHTTPRequestHandler-5fccb3bb.mjs → nodeHTTPRequestHandler-1cdb6383.mjs} +2 -3
  91. package/dist/{nodeHTTPRequestHandler-7d71ac09.js → nodeHTTPRequestHandler-848f07b5.js} +4 -5
  92. package/dist/observable/index.d.ts +5 -0
  93. package/dist/observable/index.d.ts.map +1 -0
  94. package/dist/observable/index.js +204 -0
  95. package/dist/observable/index.mjs +195 -0
  96. package/dist/observable/index.ts.js +1 -0
  97. package/dist/observable/internals/identity.d.ts +2 -0
  98. package/dist/observable/internals/identity.d.ts.map +1 -0
  99. package/dist/observable/internals/observableToPromise.d.ts +10 -0
  100. package/dist/observable/internals/observableToPromise.d.ts.map +1 -0
  101. package/dist/observable/internals/pipe.d.ts +4 -0
  102. package/dist/observable/internals/pipe.d.ts.map +1 -0
  103. package/dist/observable/observable.d.ts +5 -0
  104. package/dist/observable/observable.d.ts.map +1 -0
  105. package/dist/observable/operators/index.d.ts +4 -0
  106. package/dist/observable/operators/index.d.ts.map +1 -0
  107. package/dist/observable/operators/map.d.ts +3 -0
  108. package/dist/observable/operators/map.d.ts.map +1 -0
  109. package/dist/observable/operators/share.d.ts +6 -0
  110. package/dist/observable/operators/share.d.ts.map +1 -0
  111. package/dist/observable/operators/tap.d.ts +3 -0
  112. package/dist/observable/operators/tap.d.ts.map +1 -0
  113. package/dist/observable/types.d.ts +29 -0
  114. package/dist/observable/types.d.ts.map +1 -0
  115. package/dist/observable-137ea1bd.mjs +105 -0
  116. package/dist/observable-3aa4d911.js +108 -0
  117. package/dist/{resolveHTTPResponse-3292a84a.mjs → resolveHTTPResponse-54a79e6c.mjs} +18 -23
  118. package/dist/{resolveHTTPResponse-c3777a47.js → resolveHTTPResponse-ec3dccaa.js} +24 -29
  119. package/dist/router.d.ts +31 -27
  120. package/dist/router.d.ts.map +1 -1
  121. package/dist/rpc/codes.d.ts +2 -0
  122. package/dist/rpc/codes.d.ts.map +1 -1
  123. package/dist/rpc/envelopes.d.ts +61 -39
  124. package/dist/rpc/envelopes.d.ts.map +1 -1
  125. package/dist/rpc/index.js +7 -3
  126. package/dist/rpc/index.mjs +1 -1
  127. package/dist/subscription.d.ts +3 -52
  128. package/dist/subscription.d.ts.map +1 -1
  129. package/dist/subscription.js +44 -0
  130. package/dist/subscription.mjs +40 -0
  131. package/dist/subscription.ts.js +1 -0
  132. package/dist/transformTRPCResponse-333bed6c.js +56 -0
  133. package/dist/transformTRPCResponse-e0cba527.mjs +53 -0
  134. package/dist/types.d.ts +8 -0
  135. package/dist/types.d.ts.map +1 -1
  136. package/observable/index.d.ts +1 -0
  137. package/observable/index.js +1 -0
  138. package/package.json +30 -8
  139. package/rpc/dist/trpc-server-rpc.cjs.dev.js +1 -1
  140. package/rpc/dist/trpc-server-rpc.cjs.prod.js +1 -1
  141. package/rpc/dist/trpc-server-rpc.esm.js +1 -1
  142. package/src/TRPCError.ts +2 -2
  143. package/src/adapters/fastify/fastifyRequestHandler.ts +0 -1
  144. package/src/adapters/fastify/fastifyTRPCPlugin.ts +1 -1
  145. package/src/adapters/fetch/fetchRequestHandler.ts +61 -0
  146. package/src/adapters/fetch/index.ts +2 -0
  147. package/src/adapters/fetch/types.ts +28 -0
  148. package/src/adapters/next.ts +3 -5
  149. package/src/adapters/node-http/nodeHTTPRequestHandler.ts +0 -1
  150. package/src/adapters/node-http/types.ts +9 -7
  151. package/src/adapters/standalone.ts +10 -3
  152. package/src/adapters/ws.ts +115 -77
  153. package/src/assertNotBrowser.ts +1 -0
  154. package/src/http/index.ts +1 -1
  155. package/src/http/internals/getHTTPStatusCode.ts +1 -0
  156. package/src/http/internals/types.ts +5 -6
  157. package/src/http/resolveHTTPResponse.ts +20 -24
  158. package/src/http/{ResponseMeta.ts → responseMeta.ts} +0 -0
  159. package/src/index.ts +0 -1
  160. package/src/internals/{BaseHandlerOptions.ts → baseHandlerOptions.ts} +1 -1
  161. package/src/internals/callProcedure.ts +6 -3
  162. package/src/internals/errors.ts +20 -4
  163. package/src/internals/middlewares.ts +6 -2
  164. package/src/internals/{OnErrorFunction.ts → onErrorFunction.ts} +0 -0
  165. package/src/internals/procedure.ts +102 -42
  166. package/src/internals/transformTRPCResponse.ts +20 -15
  167. package/src/observable/index.ts +4 -0
  168. package/src/observable/internals/identity.ts +3 -0
  169. package/src/observable/internals/observableToPromise.ts +49 -0
  170. package/src/observable/internals/pipe.ts +22 -0
  171. package/src/observable/observable.test.ts +101 -0
  172. package/src/observable/observable.ts +75 -0
  173. package/src/observable/operators/index.ts +3 -0
  174. package/src/observable/operators/map.test.ts +92 -0
  175. package/src/observable/operators/map.ts +25 -0
  176. package/src/observable/operators/share.test.ts +60 -0
  177. package/src/observable/operators/share.ts +67 -0
  178. package/src/observable/operators/tap.ts +26 -0
  179. package/src/observable/types.ts +69 -0
  180. package/src/router.ts +96 -37
  181. package/src/rpc/codes.ts +1 -0
  182. package/src/rpc/envelopes.ts +87 -68
  183. package/src/subscription.ts +5 -123
  184. package/src/types.ts +7 -0
  185. package/dist/http/ResponseMeta.d.ts.map +0 -1
  186. package/dist/internals/wrapCallSafe.d.ts +0 -16
  187. package/dist/internals/wrapCallSafe.d.ts.map +0 -1
  188. package/dist/subscription-0d8a48ec.mjs +0 -133
  189. package/dist/subscription-41611bc2.js +0 -136
  190. package/dist/transformTRPCResponse-ff424ff4.mjs +0 -105
  191. package/src/internals/wrapCallSafe.ts +0 -19
  192. package/ws/dist/trpc-server-ws.cjs.d.ts +0 -1
  193. package/ws/dist/trpc-server-ws.cjs.dev.js +0 -15
  194. package/ws/dist/trpc-server-ws.cjs.js +0 -7
  195. package/ws/dist/trpc-server-ws.cjs.prod.js +0 -15
  196. package/ws/dist/trpc-server-ws.esm.js +0 -11
  197. package/ws/index.d.ts +0 -1
  198. package/ws/index.js +0 -1
@@ -1,6 +1,6 @@
1
- import { T as TRPCError, t as transformTRPCResponse, c as callProcedure, g as getErrorFromUnknown } from '../transformTRPCResponse-ff424ff4.mjs';
2
- import { S as Subscription } from '../subscription-0d8a48ec.mjs';
3
- import 'events';
1
+ import { T as TRPCError, g as getCauseFromUnknown, a as getErrorFromUnknown } from '../TRPCError-7971540a.mjs';
2
+ import { t as transformTRPCResponse, c as callProcedure } from '../transformTRPCResponse-e0cba527.mjs';
3
+ import { i as isObservable } from '../observable-137ea1bd.mjs';
4
4
 
5
5
  /* istanbul ignore next */
6
6
  function assertIsObject(obj) {
@@ -55,8 +55,8 @@ function parseMessage(obj, transformer) {
55
55
  if (method === 'subscription.stop') {
56
56
  return {
57
57
  id,
58
- method,
59
- params: undefined
58
+ jsonrpc,
59
+ method
60
60
  };
61
61
  }
62
62
 
@@ -69,8 +69,8 @@ function parseMessage(obj, transformer) {
69
69
  assertIsString(path);
70
70
  const input = transformer.input.deserialize(rawInput);
71
71
  return {
72
- jsonrpc,
73
72
  id,
73
+ jsonrpc,
74
74
  method,
75
75
  params: {
76
76
  input,
@@ -99,6 +99,20 @@ function applyWSSHandler(opts) {
99
99
  client.send(JSON.stringify(transformTRPCResponse(router, untransformedJSON)));
100
100
  }
101
101
 
102
+ function stopSubscription(subscription, {
103
+ id,
104
+ jsonrpc
105
+ }) {
106
+ subscription.unsubscribe();
107
+ respond({
108
+ id,
109
+ jsonrpc,
110
+ result: {
111
+ type: 'stopped'
112
+ }
113
+ });
114
+ }
115
+
102
116
  const ctxPromise = createContext === null || createContext === void 0 ? void 0 : createContext({
103
117
  req,
104
118
  res: client
@@ -107,7 +121,8 @@ function applyWSSHandler(opts) {
107
121
 
108
122
  async function handleRequest(msg) {
109
123
  const {
110
- id
124
+ id,
125
+ jsonrpc
111
126
  } = msg;
112
127
  /* istanbul ignore next */
113
128
 
@@ -122,7 +137,10 @@ function applyWSSHandler(opts) {
122
137
  const sub = clientSubscriptions.get(id);
123
138
 
124
139
  if (sub) {
125
- sub.destroy();
140
+ stopSubscription(sub, {
141
+ id,
142
+ jsonrpc
143
+ });
126
144
  }
127
145
 
128
146
  clientSubscriptions.delete(id);
@@ -146,9 +164,18 @@ function applyWSSHandler(opts) {
146
164
  ctx
147
165
  });
148
166
 
149
- if (!(result instanceof Subscription)) {
167
+ if (type === 'subscription') {
168
+ if (!isObservable(result)) {
169
+ throw new TRPCError({
170
+ message: `Subscription ${path} did not return an observable`,
171
+ code: 'INTERNAL_SERVER_ERROR'
172
+ });
173
+ }
174
+ } else {
175
+ // send the value as data if the method is not a subscription
150
176
  respond({
151
177
  id,
178
+ jsonrpc,
152
179
  result: {
153
180
  type: 'data',
154
181
  data: result
@@ -157,12 +184,61 @@ function applyWSSHandler(opts) {
157
184
  return;
158
185
  }
159
186
 
160
- const sub = result;
187
+ const observable = result;
188
+ const sub = observable.subscribe({
189
+ next(data) {
190
+ respond({
191
+ id,
192
+ jsonrpc,
193
+ result: {
194
+ type: 'data',
195
+ data
196
+ }
197
+ });
198
+ },
199
+
200
+ error(err) {
201
+ var _opts$onError;
202
+
203
+ const error = getErrorFromUnknown(err);
204
+ (_opts$onError = opts.onError) === null || _opts$onError === void 0 ? void 0 : _opts$onError.call(opts, {
205
+ error,
206
+ path,
207
+ type,
208
+ ctx,
209
+ req,
210
+ input
211
+ });
212
+ respond({
213
+ id,
214
+ jsonrpc,
215
+ error: router.getErrorShape({
216
+ error,
217
+ type,
218
+ path,
219
+ input,
220
+ ctx
221
+ })
222
+ });
223
+ },
224
+
225
+ complete() {
226
+ respond({
227
+ id,
228
+ jsonrpc,
229
+ result: {
230
+ type: 'stopped'
231
+ }
232
+ });
233
+ }
234
+
235
+ });
161
236
  /* istanbul ignore next */
162
237
 
163
238
  if (client.readyState !== client.OPEN) {
164
239
  // if the client got disconnected whilst initializing the subscription
165
- sub.destroy();
240
+ // no need to send stopped message if the client is disconnected
241
+ sub.unsubscribe();
166
242
  return;
167
243
  }
168
244
  /* istanbul ignore next */
@@ -170,7 +246,10 @@ function applyWSSHandler(opts) {
170
246
 
171
247
  if (clientSubscriptions.has(id)) {
172
248
  // duplicate request ids for client
173
- sub.destroy();
249
+ stopSubscription(sub, {
250
+ id,
251
+ jsonrpc
252
+ });
174
253
  throw new TRPCError({
175
254
  message: `Duplicate id ${id}`,
176
255
  code: 'BAD_REQUEST'
@@ -178,54 +257,13 @@ function applyWSSHandler(opts) {
178
257
  }
179
258
 
180
259
  clientSubscriptions.set(id, sub);
181
- sub.on('data', data => {
182
- respond({
183
- id,
184
- result: {
185
- type: 'data',
186
- data
187
- }
188
- });
189
- });
190
- sub.on('error', _error => {
191
- var _opts$onError;
192
-
193
- const error = getErrorFromUnknown(_error);
194
- const json = {
195
- id,
196
- error: router.getErrorShape({
197
- error,
198
- type,
199
- path,
200
- input,
201
- ctx
202
- })
203
- };
204
- (_opts$onError = opts.onError) === null || _opts$onError === void 0 ? void 0 : _opts$onError.call(opts, {
205
- error,
206
- path,
207
- type,
208
- ctx,
209
- req,
210
- input
211
- });
212
- respond(json);
213
- });
214
- sub.on('destroy', () => {
215
- respond({
216
- id,
217
- result: {
218
- type: 'stopped'
219
- }
220
- });
221
- });
222
260
  respond({
223
261
  id,
262
+ jsonrpc,
224
263
  result: {
225
264
  type: 'started'
226
265
  }
227
266
  });
228
- await sub.start();
229
267
  } catch (cause)
230
268
  /* istanbul ignore next */
231
269
  {
@@ -233,13 +271,6 @@ function applyWSSHandler(opts) {
233
271
 
234
272
  // procedure threw an error
235
273
  const error = getErrorFromUnknown(cause);
236
- const json = router.getErrorShape({
237
- error,
238
- type,
239
- path,
240
- input,
241
- ctx
242
- });
243
274
  (_opts$onError2 = opts.onError) === null || _opts$onError2 === void 0 ? void 0 : _opts$onError2.call(opts, {
244
275
  error,
245
276
  path,
@@ -250,7 +281,14 @@ function applyWSSHandler(opts) {
250
281
  });
251
282
  respond({
252
283
  id,
253
- error: json
284
+ jsonrpc,
285
+ error: router.getErrorShape({
286
+ error,
287
+ type,
288
+ path,
289
+ input,
290
+ ctx
291
+ })
254
292
  });
255
293
  }
256
294
  }
@@ -264,7 +302,7 @@ function applyWSSHandler(opts) {
264
302
  } catch (cause) {
265
303
  const error = new TRPCError({
266
304
  code: 'PARSE_ERROR',
267
- cause
305
+ cause: getCauseFromUnknown(cause)
268
306
  });
269
307
  respond({
270
308
  id: null,
@@ -280,7 +318,7 @@ function applyWSSHandler(opts) {
280
318
  });
281
319
  client.once('close', () => {
282
320
  for (const sub of clientSubscriptions.values()) {
283
- sub.destroy();
321
+ sub.unsubscribe();
284
322
  }
285
323
 
286
324
  clientSubscriptions.clear();
@@ -293,16 +331,6 @@ function applyWSSHandler(opts) {
293
331
  var _opts$onError3, _global$setImmediate;
294
332
 
295
333
  const error = getErrorFromUnknown(cause);
296
- const json = {
297
- id: null,
298
- error: router.getErrorShape({
299
- error,
300
- type: 'unknown',
301
- path: undefined,
302
- input: undefined,
303
- ctx
304
- })
305
- };
306
334
  (_opts$onError3 = opts.onError) === null || _opts$onError3 === void 0 ? void 0 : _opts$onError3.call(opts, {
307
335
  error,
308
336
  path: undefined,
@@ -311,7 +339,16 @@ function applyWSSHandler(opts) {
311
339
  req,
312
340
  input: undefined
313
341
  });
314
- respond(json); // close in next tick
342
+ respond({
343
+ id: null,
344
+ error: router.getErrorShape({
345
+ error,
346
+ type: 'unknown',
347
+ path: undefined,
348
+ input: undefined,
349
+ ctx
350
+ })
351
+ }); // close in next tick
315
352
 
316
353
  ((_global$setImmediate = global.setImmediate) !== null && _global$setImmediate !== void 0 ? _global$setImmediate : global.setTimeout)(() => {
317
354
  client.close();
@@ -1 +1 @@
1
- {"version":3,"file":"assertNotBrowser.d.ts","sourceRoot":"","sources":["../src/assertNotBrowser.ts"],"names":[],"mappings":"AAEA,wBAAgB,gBAAgB,SAQ/B"}
1
+ {"version":3,"file":"assertNotBrowser.d.ts","sourceRoot":"","sources":["../src/assertNotBrowser.ts"],"names":[],"mappings":"AAEA,wBAAgB,gBAAgB,SAS/B"}
@@ -44,6 +44,8 @@ const TRPC_ERROR_CODES_BY_KEY = {
44
44
  // 405
45
45
  TIMEOUT: -32008,
46
46
  // 408
47
+ CONFLICT: -32009,
48
+ // 409
47
49
  PRECONDITION_FAILED: -32012,
48
50
  // 412
49
51
  PAYLOAD_TOO_LARGE: -32013,
@@ -53,4 +55,20 @@ const TRPC_ERROR_CODES_BY_KEY = {
53
55
  };
54
56
  const TRPC_ERROR_CODES_BY_NUMBER = /*#__PURE__*/invert(TRPC_ERROR_CODES_BY_KEY);
55
57
 
56
- export { TRPC_ERROR_CODES_BY_KEY as T, TRPC_ERROR_CODES_BY_NUMBER as a, invert as i };
58
+ /* eslint-disable @typescript-eslint/no-namespace */
59
+
60
+ /**
61
+ * Error response
62
+ */
63
+
64
+ /**
65
+ * JSON-RPC 2.0 Specification
66
+ */
67
+ let JSONRPC2;
68
+ /**
69
+ * TRPC HTTP Envelopes
70
+ */
71
+
72
+ (function (_JSONRPC) {})(JSONRPC2 || (JSONRPC2 = {}));
73
+
74
+ export { JSONRPC2 as J, TRPC_ERROR_CODES_BY_KEY as T, TRPC_ERROR_CODES_BY_NUMBER as a, invert as i };
@@ -46,6 +46,8 @@ const TRPC_ERROR_CODES_BY_KEY = {
46
46
  // 405
47
47
  TIMEOUT: -32008,
48
48
  // 408
49
+ CONFLICT: -32009,
50
+ // 409
49
51
  PRECONDITION_FAILED: -32012,
50
52
  // 412
51
53
  PAYLOAD_TOO_LARGE: -32013,
@@ -55,6 +57,22 @@ const TRPC_ERROR_CODES_BY_KEY = {
55
57
  };
56
58
  const TRPC_ERROR_CODES_BY_NUMBER = /*#__PURE__*/invert(TRPC_ERROR_CODES_BY_KEY);
57
59
 
60
+ /* eslint-disable @typescript-eslint/no-namespace */
61
+
62
+ /**
63
+ * Error response
64
+ */
65
+
66
+ /**
67
+ * JSON-RPC 2.0 Specification
68
+ */
69
+ exports.JSONRPC2 = void 0;
70
+ /**
71
+ * TRPC HTTP Envelopes
72
+ */
73
+
74
+ (function (_JSONRPC) {})(exports.JSONRPC2 || (exports.JSONRPC2 = {}));
75
+
58
76
  exports.TRPC_ERROR_CODES_BY_KEY = TRPC_ERROR_CODES_BY_KEY;
59
77
  exports.TRPC_ERROR_CODES_BY_NUMBER = TRPC_ERROR_CODES_BY_NUMBER;
60
78
  exports.invert = invert;
@@ -1,3 +1,3 @@
1
1
  export * from './resolveHTTPResponse';
2
- export * from './ResponseMeta';
2
+ export * from './responseMeta';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -9,6 +9,7 @@ export declare const TRPC_ERROR_CODES_BY_NUMBER: {
9
9
  [-32004]: "NOT_FOUND";
10
10
  [-32005]: "METHOD_NOT_SUPPORTED";
11
11
  [-32008]: "TIMEOUT";
12
+ [-32009]: "CONFLICT";
12
13
  [-32012]: "PRECONDITION_FAILED";
13
14
  [-32013]: "PAYLOAD_TOO_LARGE";
14
15
  [-32099]: "CLIENT_CLOSED_REQUEST";
@@ -1 +1 @@
1
- {"version":3,"file":"getHTTPStatusCode.d.ts","sourceRoot":"","sources":["../../../src/http/internals/getHTTPStatusCode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAElE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;CAAkC,CAAC;AAC1E,aAAK,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAE7B,oBAAY,sBAAsB,GAAG,OAAO,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAsB7E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,EAAE,OAuBpE;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,SAAS,UAI1D"}
1
+ {"version":3,"file":"getHTTPStatusCode.d.ts","sourceRoot":"","sources":["../../../src/http/internals/getHTTPStatusCode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAElE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;CAAkC,CAAC;AAC1E,aAAK,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAE7B,oBAAY,sBAAsB,GAAG,OAAO,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAuB7E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,EAAE,OAuBpE;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,SAAS,UAI1D"}
@@ -1,8 +1,9 @@
1
- /// <reference types="node" />
2
- import { AnyRouter, Dict, ProcedureType, ResponseMeta, TRPCError, inferRouterContext, inferRouterError } from '@trpc/server';
3
- import { URLSearchParams } from 'url';
4
- import { BaseHandlerOptions } from '../../internals/BaseHandlerOptions';
1
+ import { TRPCError } from '../../TRPCError';
2
+ import { BaseHandlerOptions } from '../../internals/baseHandlerOptions';
3
+ import { AnyRouter, ProcedureType, inferRouterContext, inferRouterError } from '../../router';
5
4
  import { TRPCResponse } from '../../rpc';
5
+ import { Dict } from '../../types';
6
+ import { ResponseMeta } from '../responseMeta';
6
7
  export declare type HTTPHeaders = Dict<string | string[]>;
7
8
  export interface HTTPResponse {
8
9
  status: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/http/internals/types.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,SAAS,EACT,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,oBAAY,WAAW,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;AAElD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,aAAK,cAAc,CAAC,OAAO,SAAS,SAAS,IAAI,CAAC,IAAI,EAAE;IACtD,IAAI,EAAE,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;IACzD,GAAG,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAClC;;QAEI;IACJ,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,EAAE,aAAa,GAAG,SAAS,CAAC;IAChC,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB,KAAK,YAAY,CAAC;AAEnB;;GAEG;AACH,MAAM,WAAW,sBAAsB,CAAC,OAAO,SAAS,SAAS,EAAE,QAAQ,CACzE,SAAQ,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC7C;;;;OAIG;IACH,YAAY,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;CACxC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/http/internals/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EACL,SAAS,EACT,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,oBAAY,WAAW,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;AAElD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,aAAK,cAAc,CAAC,OAAO,SAAS,SAAS,IAAI,CAAC,IAAI,EAAE;IACtD,IAAI,EAAE,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;IACzD,GAAG,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAClC;;QAEI;IACJ,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,EAAE,aAAa,GAAG,SAAS,CAAC;IAChC,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB,KAAK,YAAY,CAAC;AAEnB;;GAEG;AACH,MAAM,WAAW,sBAAsB,CAAC,OAAO,SAAS,SAAS,EAAE,QAAQ,CACzE,SAAQ,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC7C;;;;OAIG;IACH,YAAY,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;CACxC"}
@@ -1,6 +1,6 @@
1
- import { Maybe } from '@trpc/server';
2
1
  import { TRPCError } from '../TRPCError';
3
2
  import { AnyRouter, inferRouterContext } from '../router';
3
+ import { Maybe } from '../types';
4
4
  import { HTTPBaseHandlerOptions, HTTPRequest, HTTPResponse } from './internals/types';
5
5
  interface ResolveHTTPRequestOptions<TRouter extends AnyRouter, TRequest extends HTTPRequest> extends HTTPBaseHandlerOptions<TRouter, TRequest> {
6
6
  createContext: () => Promise<inferRouterContext<TRouter>>;
@@ -1 +1 @@
1
- {"version":3,"file":"resolveHTTPResponse.d.ts","sourceRoot":"","sources":["../../src/http/resolveHTTPResponse.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC,OAAO,EACL,SAAS,EAET,kBAAkB,EAEnB,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,sBAAsB,EAEtB,WAAW,EACX,YAAY,EACb,MAAM,mBAAmB,CAAC;AA4B3B,UAAU,yBAAyB,CACjC,OAAO,SAAS,SAAS,EACzB,QAAQ,SAAS,WAAW,CAC5B,SAAQ,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC;IACjD,aAAa,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,GAAG,EAAE,QAAQ,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;CAC1B;AAED,wBAAsB,mBAAmB,CACvC,OAAO,SAAS,SAAS,EACzB,QAAQ,SAAS,WAAW,EAC5B,IAAI,EAAE,yBAAyB,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAmM3E"}
1
+ {"version":3,"file":"resolveHTTPResponse.d.ts","sourceRoot":"","sources":["../../src/http/resolveHTTPResponse.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC,OAAO,EACL,SAAS,EAET,kBAAkB,EAEnB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,OAAO,EACL,sBAAsB,EAEtB,WAAW,EACX,YAAY,EACb,MAAM,mBAAmB,CAAC;AA4B3B,UAAU,yBAAyB,CACjC,OAAO,SAAS,SAAS,EACzB,QAAQ,SAAS,WAAW,CAC5B,SAAQ,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC;IACjD,aAAa,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,GAAG,EAAE,QAAQ,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;CAC1B;AAED,wBAAsB,mBAAmB,CACvC,OAAO,SAAS,SAAS,EACzB,QAAQ,SAAS,WAAW,EAC5B,IAAI,EAAE,yBAAyB,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CA+L3E"}
@@ -2,4 +2,4 @@ export interface ResponseMeta {
2
2
  status?: number;
3
3
  headers?: Record<string, string>;
4
4
  }
5
- //# sourceMappingURL=ResponseMeta.d.ts.map
5
+ //# sourceMappingURL=responseMeta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responseMeta.d.ts","sourceRoot":"","sources":["../../src/http/responseMeta.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  export * from './assertNotBrowser';
2
2
  export * from './http';
3
- export * from './subscription';
4
3
  export * from './transformer';
5
4
  export * from './TRPCError';
6
5
  export * from './types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -2,34 +2,14 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var resolveHTTPResponse = require('./resolveHTTPResponse-c3777a47.js');
6
- var subscription = require('./subscription-41611bc2.js');
7
- var transformTRPCResponse = require('./transformTRPCResponse-43a869de.js');
8
- var codes = require('./codes-7f46544e.js');
9
- require('events');
5
+ var resolveHTTPResponse = require('./resolveHTTPResponse-ec3dccaa.js');
6
+ var envelopes = require('./envelopes-a953b930.js');
7
+ var TRPCError = require('./TRPCError-ddec3395.js');
8
+ require('./transformTRPCResponse-333bed6c.js');
10
9
 
11
10
  resolveHTTPResponse.assertNotBrowser();
12
11
 
13
- const middlewareMarker = /*#__PURE__*/Symbol('middlewareMarker');
14
-
15
- /**
16
- * Wrap a function in a safe wrapper that never throws
17
- * Returns a discriminated union
18
- */
19
- async function wrapCallSafe(fn) {
20
- try {
21
- const data = await fn();
22
- return {
23
- ok: true,
24
- data
25
- };
26
- } catch (cause) {
27
- return {
28
- ok: false,
29
- error: cause
30
- };
31
- }
32
- }
12
+ const middlewareMarker = 'middlewareMarker';
33
13
 
34
14
  /* eslint-disable @typescript-eslint/no-explicit-any */
35
15
  resolveHTTPResponse.assertNotBrowser();
@@ -77,21 +57,23 @@ class Procedure {
77
57
  this.parseInputFn = void 0;
78
58
  this.outputParser = void 0;
79
59
  this.parseOutputFn = void 0;
60
+ this.meta = void 0;
80
61
  this.middlewares = opts.middlewares;
81
62
  this.resolver = opts.resolver;
82
63
  this.inputParser = opts.inputParser;
83
64
  this.parseInputFn = getParseFn(this.inputParser);
84
65
  this.outputParser = opts.outputParser;
85
66
  this.parseOutputFn = getParseFn(this.outputParser);
67
+ this.meta = opts.meta;
86
68
  }
87
69
 
88
70
  async parseInput(rawInput) {
89
71
  try {
90
72
  return await this.parseInputFn(rawInput);
91
73
  } catch (cause) {
92
- throw new transformTRPCResponse.TRPCError({
74
+ throw new TRPCError.TRPCError({
93
75
  code: 'BAD_REQUEST',
94
- cause
76
+ cause: TRPCError.getCauseFromUnknown(cause)
95
77
  });
96
78
  }
97
79
  }
@@ -100,9 +82,9 @@ class Procedure {
100
82
  try {
101
83
  return await this.parseOutputFn(rawOutput);
102
84
  } catch (cause) {
103
- throw new transformTRPCResponse.TRPCError({
85
+ throw new TRPCError.TRPCError({
104
86
  code: 'INTERNAL_SERVER_ERROR',
105
- cause,
87
+ cause: TRPCError.getCauseFromUnknown(cause),
106
88
  message: 'Output validation failed'
107
89
  });
108
90
  }
@@ -130,33 +112,42 @@ class Procedure {
130
112
  data,
131
113
  ctx
132
114
  };
133
- }]); // create `next()` calls in resolvers
115
+ }]); // run the middlewares recursively with the resolver as the last one
134
116
 
135
- const nextFns = middlewaresWithResolver.map((fn, index) => {
136
- return async nextOpts => {
137
- const res = await wrapCallSafe(() => fn({
138
- ctx: nextOpts ? nextOpts.ctx : opts.ctx,
117
+ const callRecursive = async (callOpts = {
118
+ index: 0,
119
+ ctx: opts.ctx
120
+ }) => {
121
+ try {
122
+ const result = await middlewaresWithResolver[callOpts.index]({
123
+ ctx: callOpts.ctx,
139
124
  type: opts.type,
140
125
  path: opts.path,
141
126
  rawInput: opts.rawInput,
142
- next: nextFns[index + 1]
143
- }));
144
-
145
- if (res.ok) {
146
- return res.data;
147
- }
148
-
127
+ meta: this.meta,
128
+ next: async nextOpts => {
129
+ return await callRecursive({
130
+ index: callOpts.index + 1,
131
+ ctx: nextOpts ? nextOpts.ctx : callOpts.ctx
132
+ });
133
+ }
134
+ });
135
+ return result;
136
+ } catch (cause) {
149
137
  return {
138
+ ctx: callOpts.ctx,
150
139
  ok: false,
151
- error: transformTRPCResponse.getErrorFromUnknown(res.error)
140
+ error: TRPCError.getErrorFromUnknown(cause),
141
+ marker: middlewareMarker
152
142
  };
153
- };
154
- }); // there's always at least one "next" since we wrap this.resolver in a middleware
143
+ }
144
+ }; // there's always at least one "next" since we wrap this.resolver in a middleware
145
+
155
146
 
156
- const result = await nextFns[0]();
147
+ const result = await callRecursive();
157
148
 
158
149
  if (!result) {
159
- throw new transformTRPCResponse.TRPCError({
150
+ throw new TRPCError.TRPCError({
160
151
  code: 'INTERNAL_SERVER_ERROR',
161
152
  message: 'No result from middlewares - did you forget to `return next()`?'
162
153
  });
@@ -181,7 +172,8 @@ class Procedure {
181
172
  middlewares: [...middlewares, ...this.middlewares],
182
173
  resolver: this.resolver,
183
174
  inputParser: this.inputParser,
184
- outputParser: this.outputParser
175
+ outputParser: this.outputParser,
176
+ meta: this.meta
185
177
  });
186
178
  return instance;
187
179
  }
@@ -190,7 +182,7 @@ class Procedure {
190
182
  function createProcedure(opts) {
191
183
  const inputParser = 'input' in opts ? opts.input : input => {
192
184
  if (input != null) {
193
- throw new transformTRPCResponse.TRPCError({
185
+ throw new TRPCError.TRPCError({
194
186
  code: 'BAD_REQUEST',
195
187
  message: 'No input expected'
196
188
  });
@@ -203,7 +195,8 @@ function createProcedure(opts) {
203
195
  inputParser: inputParser,
204
196
  resolver: opts.resolve,
205
197
  middlewares: [],
206
- outputParser: outputParser
198
+ outputParser: outputParser,
199
+ meta: opts.meta
207
200
  });
208
201
  }
209
202
 
@@ -379,7 +372,7 @@ class Router {
379
372
  const procedure = defs[path];
380
373
 
381
374
  if (!procedure) {
382
- throw new transformTRPCResponse.TRPCError({
375
+ throw new TRPCError.TRPCError({
383
376
  code: 'NOT_FOUND',
384
377
  message: `No "${type}"-procedure on path "${path}"`
385
378
  });
@@ -453,7 +446,7 @@ class Router {
453
446
  } = opts.error;
454
447
  const shape = {
455
448
  message: error.message,
456
- code: codes.TRPC_ERROR_CODES_BY_KEY[code],
449
+ code: envelopes.TRPC_ERROR_CODES_BY_KEY[code],
457
450
  data: {
458
451
  code,
459
452
  httpStatus: resolveHTTPResponse.getHTTPStatusCodeFromError(error)
@@ -508,8 +501,6 @@ function router() {
508
501
 
509
502
  exports.assertNotBrowser = resolveHTTPResponse.assertNotBrowser;
510
503
  exports.resolveHTTPResponse = resolveHTTPResponse.resolveHTTPResponse;
511
- exports.Subscription = subscription.Subscription;
512
- exports.subscriptionPullFactory = subscription.subscriptionPullFactory;
513
- exports.TRPCError = transformTRPCResponse.TRPCError;
504
+ exports.TRPCError = TRPCError.TRPCError;
514
505
  exports.Router = Router;
515
506
  exports.router = router;