@trpc/server 10.0.0-alpha.2 → 10.0.0-alpha.22

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 (301) hide show
  1. package/adapters/express/dist/trpc-server-adapters-express.cjs.dev.js +7 -6
  2. package/adapters/express/dist/trpc-server-adapters-express.cjs.prod.js +7 -6
  3. package/adapters/express/dist/trpc-server-adapters-express.esm.js +7 -6
  4. package/adapters/express/index.d.ts +1 -0
  5. package/adapters/express/index.js +1 -0
  6. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.d.ts +1 -0
  7. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.dev.js +109 -0
  8. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.js +7 -0
  9. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.prod.js +109 -0
  10. package/adapters/fastify/dist/trpc-server-adapters-fastify.esm.js +104 -0
  11. package/adapters/fastify/index.d.ts +1 -0
  12. package/adapters/fastify/index.js +1 -0
  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 -3
  16. package/adapters/next/dist/trpc-server-adapters-next.cjs.prod.js +4 -3
  17. package/adapters/next/dist/trpc-server-adapters-next.esm.js +4 -3
  18. package/adapters/next/index.d.ts +1 -0
  19. package/adapters/next/index.js +1 -0
  20. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.dev.js +4 -3
  21. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.prod.js +4 -3
  22. package/adapters/node-http/dist/trpc-server-adapters-node-http.esm.js +4 -3
  23. package/adapters/node-http/index.d.ts +1 -0
  24. package/adapters/node-http/index.js +1 -0
  25. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.dev.js +5 -4
  26. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.prod.js +5 -4
  27. package/adapters/standalone/dist/trpc-server-adapters-standalone.esm.js +5 -4
  28. package/adapters/standalone/index.d.ts +1 -0
  29. package/adapters/standalone/index.js +1 -0
  30. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.dev.js +6 -5
  31. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.prod.js +6 -5
  32. package/adapters/ws/dist/trpc-server-adapters-ws.esm.js +6 -5
  33. package/adapters/ws/index.d.ts +1 -0
  34. package/adapters/ws/index.js +1 -0
  35. package/dist/TRPCError-7971540a.mjs +65 -0
  36. package/dist/TRPCError-ddec3395.js +69 -0
  37. package/dist/TRPCError.d.ts +11 -0
  38. package/dist/TRPCError.d.ts.map +1 -0
  39. package/dist/{declarations/src/adapters → adapters}/express.d.ts +5 -5
  40. package/dist/adapters/express.d.ts.map +1 -0
  41. package/dist/adapters/express.js +23 -0
  42. package/dist/adapters/express.mjs +19 -0
  43. package/dist/adapters/express.ts.js +1 -0
  44. package/dist/adapters/fastify/fastifyRequestHandler.d.ts +13 -0
  45. package/dist/adapters/fastify/fastifyRequestHandler.d.ts.map +1 -0
  46. package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts +12 -0
  47. package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts.map +1 -0
  48. package/dist/adapters/fastify/index.d.ts +3 -0
  49. package/dist/adapters/fastify/index.d.ts.map +1 -0
  50. package/dist/adapters/fastify/index.js +108 -0
  51. package/dist/adapters/fastify/index.mjs +103 -0
  52. package/dist/adapters/fastify/index.ts.js +1 -0
  53. package/dist/adapters/fetch/fetchRequestHandler.d.ts +8 -0
  54. package/dist/adapters/fetch/fetchRequestHandler.d.ts.map +1 -0
  55. package/dist/adapters/fetch/index.d.ts +3 -0
  56. package/dist/adapters/fetch/index.d.ts.map +1 -0
  57. package/dist/adapters/fetch/index.js +69 -0
  58. package/dist/adapters/fetch/index.mjs +65 -0
  59. package/dist/adapters/fetch/index.ts.js +1 -0
  60. package/dist/adapters/fetch/types.d.ts +21 -0
  61. package/dist/adapters/fetch/types.d.ts.map +1 -0
  62. package/dist/{declarations/src/adapters → adapters}/next.d.ts +5 -5
  63. package/dist/adapters/next.d.ts.map +1 -0
  64. package/dist/adapters/next.js +55 -0
  65. package/dist/adapters/next.mjs +51 -0
  66. package/dist/adapters/next.ts.js +1 -0
  67. package/dist/{declarations/src/adapters → adapters}/node-http/index.d.ts +2 -2
  68. package/dist/adapters/node-http/index.d.ts.map +1 -0
  69. package/dist/adapters/node-http/index.js +13 -0
  70. package/dist/adapters/node-http/index.mjs +5 -0
  71. package/dist/adapters/node-http/index.ts.js +1 -0
  72. package/dist/{declarations/src/adapters → adapters}/node-http/internals/getPostBody.d.ts +12 -12
  73. package/dist/adapters/node-http/internals/getPostBody.d.ts.map +1 -0
  74. package/dist/{declarations/src/adapters → adapters}/node-http/nodeHTTPRequestHandler.d.ts +9 -9
  75. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +1 -0
  76. package/dist/{declarations/src/adapters → adapters}/node-http/types.d.ts +31 -32
  77. package/dist/adapters/node-http/types.d.ts.map +1 -0
  78. package/dist/{declarations/src/adapters → adapters}/standalone.d.ts +13 -13
  79. package/dist/adapters/standalone.d.ts.map +1 -0
  80. package/dist/adapters/standalone.js +49 -0
  81. package/dist/adapters/standalone.mjs +40 -0
  82. package/dist/adapters/standalone.ts.js +1 -0
  83. package/dist/{declarations/src/adapters → adapters}/ws.d.ts +16 -16
  84. package/dist/adapters/ws.d.ts.map +1 -0
  85. package/dist/adapters/ws.js +384 -0
  86. package/dist/adapters/ws.mjs +380 -0
  87. package/dist/adapters/ws.ts.js +1 -0
  88. package/dist/{declarations/src/assertNotBrowser.d.ts → assertNotBrowser.d.ts} +1 -1
  89. package/dist/assertNotBrowser.d.ts.map +1 -0
  90. package/dist/{codes-e0df67c4.cjs.prod.js → envelopes-1deb2fa7.mjs} +19 -5
  91. package/dist/{codes-33cef953.cjs.dev.js → envelopes-a953b930.js} +18 -0
  92. package/dist/{declarations/src/http → http}/ResponseMeta.d.ts +4 -4
  93. package/dist/http/ResponseMeta.d.ts.map +1 -0
  94. package/dist/{declarations/src/http → http}/index.d.ts +2 -2
  95. package/dist/http/index.d.ts.map +1 -0
  96. package/dist/{declarations/src/http → http}/internals/getHTTPStatusCode.d.ts +21 -20
  97. package/dist/http/internals/getHTTPStatusCode.d.ts.map +1 -0
  98. package/dist/{declarations/src/http → http}/internals/types.d.ts +40 -39
  99. package/dist/http/internals/types.d.ts.map +1 -0
  100. package/dist/{declarations/src/http → http}/resolveHTTPResponse.d.ts +12 -12
  101. package/dist/http/resolveHTTPResponse.d.ts.map +1 -0
  102. package/dist/index.d.ts +7 -0
  103. package/dist/index.d.ts.map +1 -0
  104. package/dist/{trpc-server.cjs.dev.js → index.js} +81 -107
  105. package/dist/{trpc-server.esm.js → index.mjs} +71 -91
  106. package/dist/index.ts.js +1 -0
  107. package/dist/{declarations/src/internals → internals}/BaseHandlerOptions.d.ts +12 -12
  108. package/dist/internals/BaseHandlerOptions.d.ts.map +1 -0
  109. package/dist/{declarations/src/internals → internals}/OnErrorFunction.d.ts +10 -10
  110. package/dist/internals/OnErrorFunction.d.ts.map +1 -0
  111. package/dist/{declarations/src/internals → internals}/callProcedure.d.ts +9 -9
  112. package/dist/internals/callProcedure.d.ts.map +1 -0
  113. package/dist/{declarations/src/internals → internals}/errors.d.ts +4 -3
  114. package/dist/internals/errors.d.ts.map +1 -0
  115. package/dist/{declarations/src/internals → internals}/invert.d.ts +8 -8
  116. package/dist/internals/invert.d.ts.map +1 -0
  117. package/dist/{declarations/src/internals → internals}/middlewares.d.ts +34 -33
  118. package/dist/internals/middlewares.d.ts.map +1 -0
  119. package/dist/internals/procedure.d.ts +87 -0
  120. package/dist/internals/procedure.d.ts.map +1 -0
  121. package/dist/internals/transformTRPCResponse.d.ts +9 -0
  122. package/dist/internals/transformTRPCResponse.d.ts.map +1 -0
  123. package/dist/nodeHTTPRequestHandler-1cdb6383.mjs +105 -0
  124. package/dist/nodeHTTPRequestHandler-848f07b5.js +107 -0
  125. package/dist/observable/index.d.ts +5 -0
  126. package/dist/observable/index.d.ts.map +1 -0
  127. package/dist/observable/index.js +204 -0
  128. package/dist/observable/index.mjs +195 -0
  129. package/dist/observable/index.ts.js +1 -0
  130. package/dist/observable/internals/identity.d.ts +2 -0
  131. package/dist/observable/internals/identity.d.ts.map +1 -0
  132. package/dist/observable/internals/observableToPromise.d.ts +10 -0
  133. package/dist/observable/internals/observableToPromise.d.ts.map +1 -0
  134. package/dist/observable/internals/pipe.d.ts +4 -0
  135. package/dist/observable/internals/pipe.d.ts.map +1 -0
  136. package/dist/observable/observable.d.ts +5 -0
  137. package/dist/observable/observable.d.ts.map +1 -0
  138. package/dist/observable/operators/index.d.ts +4 -0
  139. package/dist/observable/operators/index.d.ts.map +1 -0
  140. package/dist/observable/operators/map.d.ts +3 -0
  141. package/dist/observable/operators/map.d.ts.map +1 -0
  142. package/dist/observable/operators/share.d.ts +6 -0
  143. package/dist/observable/operators/share.d.ts.map +1 -0
  144. package/dist/observable/operators/tap.d.ts +3 -0
  145. package/dist/observable/operators/tap.d.ts.map +1 -0
  146. package/dist/observable/types.d.ts +29 -0
  147. package/dist/observable/types.d.ts.map +1 -0
  148. package/dist/observable-137ea1bd.mjs +105 -0
  149. package/dist/observable-3aa4d911.js +108 -0
  150. package/dist/{nodeHTTPRequestHandler-2e6cc2d7.esm.js → resolveHTTPResponse-54a79e6c.mjs} +19 -126
  151. package/dist/{nodeHTTPRequestHandler-b7ff366e.cjs.dev.js → resolveHTTPResponse-ec3dccaa.js} +24 -132
  152. package/dist/router.d.ts +173 -0
  153. package/dist/router.d.ts.map +1 -0
  154. package/dist/{declarations/src/rpc → rpc}/codes.d.ts +48 -46
  155. package/dist/rpc/codes.d.ts.map +1 -0
  156. package/dist/rpc/envelopes.d.ts +94 -0
  157. package/dist/rpc/envelopes.d.ts.map +1 -0
  158. package/dist/{declarations/src/rpc → rpc}/index.d.ts +2 -2
  159. package/dist/rpc/index.d.ts.map +1 -0
  160. package/dist/rpc/index.js +14 -0
  161. package/dist/rpc/index.mjs +1 -0
  162. package/dist/rpc/index.ts.js +1 -0
  163. package/dist/subscription.d.ts +9 -0
  164. package/dist/subscription.d.ts.map +1 -0
  165. package/dist/subscription.js +44 -0
  166. package/dist/subscription.mjs +40 -0
  167. package/dist/subscription.ts.js +1 -0
  168. package/dist/transformTRPCResponse-333bed6c.js +56 -0
  169. package/dist/transformTRPCResponse-e0cba527.mjs +53 -0
  170. package/dist/{declarations/src/transformer.d.ts → transformer.d.ts} +29 -29
  171. package/dist/transformer.d.ts.map +1 -0
  172. package/dist/{declarations/src/types.d.ts → types.d.ts} +40 -40
  173. package/dist/types.d.ts.map +1 -0
  174. package/observable/index.d.ts +1 -0
  175. package/observable/index.js +1 -0
  176. package/package.json +82 -26
  177. package/rpc/dist/trpc-server-rpc.cjs.dev.js +1 -1
  178. package/rpc/dist/trpc-server-rpc.cjs.prod.js +1 -1
  179. package/rpc/dist/trpc-server-rpc.esm.js +1 -1
  180. package/rpc/index.d.ts +1 -0
  181. package/rpc/index.js +1 -0
  182. package/src/TRPCError.ts +5 -13
  183. package/src/adapters/express.ts +3 -3
  184. package/src/adapters/fastify/fastifyRequestHandler.ts +77 -0
  185. package/src/adapters/fastify/fastifyTRPCPlugin.ts +56 -0
  186. package/src/adapters/fastify/index.ts +2 -0
  187. package/src/adapters/fetch/fetchRequestHandler.ts +61 -0
  188. package/src/adapters/fetch/index.ts +2 -0
  189. package/src/adapters/fetch/types.ts +28 -0
  190. package/src/adapters/next.ts +9 -7
  191. package/src/adapters/node-http/internals/getPostBody.test.ts +2 -1
  192. package/src/adapters/node-http/nodeHTTPRequestHandler.ts +5 -6
  193. package/src/adapters/node-http/types.ts +4 -5
  194. package/src/adapters/standalone.ts +11 -3
  195. package/src/adapters/ws.ts +122 -81
  196. package/src/assertNotBrowser.ts +1 -0
  197. package/src/http/internals/getHTTPStatusCode.ts +2 -1
  198. package/src/http/internals/types.ts +6 -7
  199. package/src/http/resolveHTTPResponse.ts +23 -27
  200. package/src/index.ts +1 -6
  201. package/src/internals/BaseHandlerOptions.ts +1 -1
  202. package/src/internals/OnErrorFunction.ts +1 -1
  203. package/src/internals/callProcedure.ts +6 -3
  204. package/src/internals/errors.ts +20 -4
  205. package/src/internals/middlewares.ts +3 -2
  206. package/src/internals/procedure.ts +213 -93
  207. package/src/internals/transformTRPCResponse.ts +20 -15
  208. package/src/observable/index.ts +4 -0
  209. package/src/observable/internals/identity.ts +3 -0
  210. package/src/observable/internals/observableToPromise.ts +49 -0
  211. package/src/observable/internals/pipe.ts +22 -0
  212. package/src/observable/observable.test.ts +101 -0
  213. package/src/observable/observable.ts +75 -0
  214. package/src/observable/operators/index.ts +3 -0
  215. package/src/observable/operators/map.test.ts +92 -0
  216. package/src/observable/operators/map.ts +25 -0
  217. package/src/observable/operators/share.test.ts +60 -0
  218. package/src/observable/operators/share.ts +67 -0
  219. package/src/observable/operators/tap.ts +26 -0
  220. package/src/observable/types.ts +69 -0
  221. package/src/router.ts +171 -82
  222. package/src/rpc/codes.ts +1 -0
  223. package/src/rpc/envelopes.ts +87 -68
  224. package/src/subscription.ts +6 -124
  225. package/src/types.ts +7 -9
  226. package/adapters/express/package.json +0 -4
  227. package/adapters/next/package.json +0 -4
  228. package/adapters/node-http/package.json +0 -4
  229. package/adapters/standalone/package.json +0 -4
  230. package/adapters/ws/package.json +0 -4
  231. package/dist/codes-fe07bf82.esm.js +0 -56
  232. package/dist/declarations/src/TRPCError.d.ts +0 -19
  233. package/dist/declarations/src/TRPCError.d.ts.map +0 -1
  234. package/dist/declarations/src/adapters/express.d.ts.map +0 -1
  235. package/dist/declarations/src/adapters/next.d.ts.map +0 -1
  236. package/dist/declarations/src/adapters/node-http/index.d.ts.map +0 -1
  237. package/dist/declarations/src/adapters/node-http/internals/getPostBody.d.ts.map +0 -1
  238. package/dist/declarations/src/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +0 -1
  239. package/dist/declarations/src/adapters/node-http/types.d.ts.map +0 -1
  240. package/dist/declarations/src/adapters/standalone.d.ts.map +0 -1
  241. package/dist/declarations/src/adapters/ws.d.ts.map +0 -1
  242. package/dist/declarations/src/assertNotBrowser.d.ts.map +0 -1
  243. package/dist/declarations/src/deprecated/LegacyRouter.d.ts +0 -3
  244. package/dist/declarations/src/deprecated/LegacyRouter.d.ts.map +0 -1
  245. package/dist/declarations/src/deprecated/createHttpServer.d.ts +0 -19
  246. package/dist/declarations/src/deprecated/createHttpServer.d.ts.map +0 -1
  247. package/dist/declarations/src/deprecated/requestHandler.d.ts +0 -15
  248. package/dist/declarations/src/deprecated/requestHandler.d.ts.map +0 -1
  249. package/dist/declarations/src/http/ResponseMeta.d.ts.map +0 -1
  250. package/dist/declarations/src/http/index.d.ts.map +0 -1
  251. package/dist/declarations/src/http/internals/getHTTPStatusCode.d.ts.map +0 -1
  252. package/dist/declarations/src/http/internals/types.d.ts.map +0 -1
  253. package/dist/declarations/src/http/resolveHTTPResponse.d.ts.map +0 -1
  254. package/dist/declarations/src/index.d.ts +0 -10
  255. package/dist/declarations/src/index.d.ts.map +0 -1
  256. package/dist/declarations/src/internals/BaseHandlerOptions.d.ts.map +0 -1
  257. package/dist/declarations/src/internals/OnErrorFunction.d.ts.map +0 -1
  258. package/dist/declarations/src/internals/callProcedure.d.ts.map +0 -1
  259. package/dist/declarations/src/internals/errors.d.ts.map +0 -1
  260. package/dist/declarations/src/internals/invert.d.ts.map +0 -1
  261. package/dist/declarations/src/internals/middlewares.d.ts.map +0 -1
  262. package/dist/declarations/src/internals/procedure.d.ts +0 -74
  263. package/dist/declarations/src/internals/procedure.d.ts.map +0 -1
  264. package/dist/declarations/src/internals/transformTRPCResponse.d.ts +0 -7
  265. package/dist/declarations/src/internals/transformTRPCResponse.d.ts.map +0 -1
  266. package/dist/declarations/src/internals/wrapCallSafe.d.ts +0 -16
  267. package/dist/declarations/src/internals/wrapCallSafe.d.ts.map +0 -1
  268. package/dist/declarations/src/router.d.ts +0 -176
  269. package/dist/declarations/src/router.d.ts.map +0 -1
  270. package/dist/declarations/src/rpc/codes.d.ts.map +0 -1
  271. package/dist/declarations/src/rpc/envelopes.d.ts +0 -72
  272. package/dist/declarations/src/rpc/envelopes.d.ts.map +0 -1
  273. package/dist/declarations/src/rpc/index.d.ts.map +0 -1
  274. package/dist/declarations/src/subscription.d.ts +0 -58
  275. package/dist/declarations/src/subscription.d.ts.map +0 -1
  276. package/dist/declarations/src/transformer.d.ts.map +0 -1
  277. package/dist/declarations/src/types.d.ts.map +0 -1
  278. package/dist/declarations/src/ws/index.d.ts +0 -7
  279. package/dist/declarations/src/ws/index.d.ts.map +0 -1
  280. package/dist/nodeHTTPRequestHandler-7325b53f.cjs.prod.js +0 -399
  281. package/dist/subscription-b8831081.cjs.dev.js +0 -136
  282. package/dist/subscription-c2e0bfbc.cjs.prod.js +0 -136
  283. package/dist/subscription-fbda2888.esm.js +0 -133
  284. package/dist/transformTRPCResponse-8248515e.cjs.dev.js +0 -114
  285. package/dist/transformTRPCResponse-dcbf66c5.cjs.prod.js +0 -114
  286. package/dist/transformTRPCResponse-f73dc4a2.esm.js +0 -109
  287. package/dist/trpc-server.cjs.d.ts +0 -1
  288. package/dist/trpc-server.cjs.js +0 -7
  289. package/dist/trpc-server.cjs.prod.js +0 -528
  290. package/rpc/package.json +0 -4
  291. package/src/deprecated/LegacyRouter.ts +0 -3
  292. package/src/deprecated/createHttpServer.ts +0 -29
  293. package/src/deprecated/requestHandler.ts +0 -26
  294. package/src/internals/wrapCallSafe.ts +0 -19
  295. package/src/ws/index.ts +0 -8
  296. package/ws/dist/trpc-server-ws.cjs.d.ts +0 -1
  297. package/ws/dist/trpc-server-ws.cjs.dev.js +0 -15
  298. package/ws/dist/trpc-server-ws.cjs.js +0 -7
  299. package/ws/dist/trpc-server-ws.cjs.prod.js +0 -15
  300. package/ws/dist/trpc-server-ws.esm.js +0 -11
  301. package/ws/package.json +0 -4
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var transformTRPCResponse = require('../../../dist/transformTRPCResponse-dcbf66c5.cjs.prod.js');
6
- var subscription = require('../../../dist/subscription-c2e0bfbc.cjs.prod.js');
5
+ var transformTRPCResponse = require('../../../dist/transformTRPCResponse-1e125b28.cjs.prod.js');
6
+ var subscription = require('../../../dist/subscription-f03bec71.cjs.prod.js');
7
7
  require('events');
8
8
 
9
9
  /* istanbul ignore next */
@@ -96,7 +96,7 @@ function applyWSSHandler(opts) {
96
96
  const {
97
97
  transformer
98
98
  } = router._def;
99
- wss.on('connection', (client, req) => {
99
+ wss.on('connection', async (client, req) => {
100
100
  const clientSubscriptions = new Map();
101
101
 
102
102
  function respond(untransformedJSON) {
@@ -263,7 +263,8 @@ function applyWSSHandler(opts) {
263
263
  try {
264
264
  const msgJSON = JSON.parse(message.toString());
265
265
  const msgs = Array.isArray(msgJSON) ? msgJSON : [msgJSON];
266
- msgs.map(raw => parseMessage(raw, transformer)).map(handleRequest);
266
+ const promises = msgs.map(raw => parseMessage(raw, transformer)).map(handleRequest);
267
+ await Promise.all(promises);
267
268
  } catch (cause) {
268
269
  const error = new transformTRPCResponse.TRPCError({
269
270
  code: 'PARSE_ERROR',
@@ -322,7 +323,7 @@ function applyWSSHandler(opts) {
322
323
  }
323
324
  }
324
325
 
325
- createContextAsync();
326
+ await createContextAsync();
326
327
  });
327
328
  return {
328
329
  broadcastReconnectNotification: () => {
@@ -1,5 +1,5 @@
1
- import { T as TRPCError, t as transformTRPCResponse, c as callProcedure, g as getErrorFromUnknown } from '../../../dist/transformTRPCResponse-f73dc4a2.esm.js';
2
- import { S as Subscription } from '../../../dist/subscription-fbda2888.esm.js';
1
+ import { T as TRPCError, t as transformTRPCResponse, c as callProcedure, g as getErrorFromUnknown } from '../../../dist/transformTRPCResponse-45c225c3.esm.js';
2
+ import { S as Subscription } from '../../../dist/subscription-2ea469a3.esm.js';
3
3
  import 'events';
4
4
 
5
5
  /* istanbul ignore next */
@@ -92,7 +92,7 @@ function applyWSSHandler(opts) {
92
92
  const {
93
93
  transformer
94
94
  } = router._def;
95
- wss.on('connection', (client, req) => {
95
+ wss.on('connection', async (client, req) => {
96
96
  const clientSubscriptions = new Map();
97
97
 
98
98
  function respond(untransformedJSON) {
@@ -259,7 +259,8 @@ function applyWSSHandler(opts) {
259
259
  try {
260
260
  const msgJSON = JSON.parse(message.toString());
261
261
  const msgs = Array.isArray(msgJSON) ? msgJSON : [msgJSON];
262
- msgs.map(raw => parseMessage(raw, transformer)).map(handleRequest);
262
+ const promises = msgs.map(raw => parseMessage(raw, transformer)).map(handleRequest);
263
+ await Promise.all(promises);
263
264
  } catch (cause) {
264
265
  const error = new TRPCError({
265
266
  code: 'PARSE_ERROR',
@@ -318,7 +319,7 @@ function applyWSSHandler(opts) {
318
319
  }
319
320
  }
320
321
 
321
- createContextAsync();
322
+ await createContextAsync();
322
323
  });
323
324
  return {
324
325
  broadcastReconnectNotification: () => {
@@ -0,0 +1 @@
1
+ export * from '../../dist/adapters/ws';
@@ -0,0 +1 @@
1
+ module.exports = require('../../dist/adapters/ws');
@@ -0,0 +1,65 @@
1
+ function getMessageFromUnkownError(err, fallback) {
2
+ if (typeof err === 'string') {
3
+ return err;
4
+ }
5
+
6
+ if (err instanceof Error && typeof err.message === 'string') {
7
+ return err.message;
8
+ }
9
+
10
+ return fallback;
11
+ }
12
+ function getErrorFromUnknown(cause) {
13
+ // this should ideally be an `instanceof TRPCError` but for some reason that isn't working
14
+ // ref https://github.com/trpc/trpc/issues/331
15
+ if (cause instanceof Error && cause.name === 'TRPCError') {
16
+ return cause;
17
+ }
18
+
19
+ let errorCause = undefined;
20
+ let stack = undefined;
21
+
22
+ if (cause instanceof Error) {
23
+ errorCause = cause; // take stack trace from cause
24
+
25
+ stack = cause.stack;
26
+ }
27
+
28
+ const err = new TRPCError({
29
+ code: 'INTERNAL_SERVER_ERROR',
30
+ cause: errorCause
31
+ });
32
+ err.stack = stack;
33
+ return err;
34
+ }
35
+ function getCauseFromUnknown(cause) {
36
+ if (cause instanceof Error) {
37
+ return cause;
38
+ }
39
+
40
+ return undefined;
41
+ }
42
+
43
+ class TRPCError extends Error {
44
+ constructor(opts) {
45
+ var _opts$message;
46
+
47
+ const cause = opts.cause;
48
+ const code = opts.code;
49
+ const message = (_opts$message = opts.message) !== null && _opts$message !== void 0 ? _opts$message : getMessageFromUnkownError(cause, code); // eslint-disable-next-line @typescript-eslint/ban-ts-comment
50
+ // @ts-ignore https://github.com/tc39/proposal-error-cause
51
+
52
+ super(message, {
53
+ cause
54
+ });
55
+ this.cause = void 0;
56
+ this.code = void 0;
57
+ this.code = code;
58
+ this.cause = cause;
59
+ this.name = 'TRPCError';
60
+ Object.setPrototypeOf(this, new.target.prototype);
61
+ }
62
+
63
+ }
64
+
65
+ export { TRPCError as T, getErrorFromUnknown as a, getCauseFromUnknown as g };
@@ -0,0 +1,69 @@
1
+ 'use strict';
2
+
3
+ function getMessageFromUnkownError(err, fallback) {
4
+ if (typeof err === 'string') {
5
+ return err;
6
+ }
7
+
8
+ if (err instanceof Error && typeof err.message === 'string') {
9
+ return err.message;
10
+ }
11
+
12
+ return fallback;
13
+ }
14
+ function getErrorFromUnknown(cause) {
15
+ // this should ideally be an `instanceof TRPCError` but for some reason that isn't working
16
+ // ref https://github.com/trpc/trpc/issues/331
17
+ if (cause instanceof Error && cause.name === 'TRPCError') {
18
+ return cause;
19
+ }
20
+
21
+ let errorCause = undefined;
22
+ let stack = undefined;
23
+
24
+ if (cause instanceof Error) {
25
+ errorCause = cause; // take stack trace from cause
26
+
27
+ stack = cause.stack;
28
+ }
29
+
30
+ const err = new TRPCError({
31
+ code: 'INTERNAL_SERVER_ERROR',
32
+ cause: errorCause
33
+ });
34
+ err.stack = stack;
35
+ return err;
36
+ }
37
+ function getCauseFromUnknown(cause) {
38
+ if (cause instanceof Error) {
39
+ return cause;
40
+ }
41
+
42
+ return undefined;
43
+ }
44
+
45
+ class TRPCError extends Error {
46
+ constructor(opts) {
47
+ var _opts$message;
48
+
49
+ const cause = opts.cause;
50
+ const code = opts.code;
51
+ const message = (_opts$message = opts.message) !== null && _opts$message !== void 0 ? _opts$message : getMessageFromUnkownError(cause, code); // eslint-disable-next-line @typescript-eslint/ban-ts-comment
52
+ // @ts-ignore https://github.com/tc39/proposal-error-cause
53
+
54
+ super(message, {
55
+ cause
56
+ });
57
+ this.cause = void 0;
58
+ this.code = void 0;
59
+ this.code = code;
60
+ this.cause = cause;
61
+ this.name = 'TRPCError';
62
+ Object.setPrototypeOf(this, new.target.prototype);
63
+ }
64
+
65
+ }
66
+
67
+ exports.TRPCError = TRPCError;
68
+ exports.getCauseFromUnknown = getCauseFromUnknown;
69
+ exports.getErrorFromUnknown = getErrorFromUnknown;
@@ -0,0 +1,11 @@
1
+ import { TRPC_ERROR_CODE_KEY } from './rpc/codes';
2
+ export declare class TRPCError extends Error {
3
+ readonly cause?: Error | undefined;
4
+ readonly code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "UNAUTHORIZED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "CONFLICT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "CLIENT_CLOSED_REQUEST";
5
+ constructor(opts: {
6
+ message?: string;
7
+ code: TRPC_ERROR_CODE_KEY;
8
+ cause?: Error;
9
+ });
10
+ }
11
+ //# sourceMappingURL=TRPCError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TRPCError.d.ts","sourceRoot":"","sources":["../src/TRPCError.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,qBAAa,SAAU,SAAQ,KAAK;IAClC,SAAgB,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IAC1C,SAAgB,IAAI,iOAAC;gBAET,IAAI,EAAE;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,mBAAmB,CAAC;QAC1B,KAAK,CAAC,EAAE,KAAK,CAAC;KACf;CAeF"}
@@ -1,6 +1,6 @@
1
- import type * as express from 'express';
2
- import { AnyRouter } from '../router';
3
- import { NodeHTTPCreateContextFnOptions, NodeHTTPHandlerOptions } from './node-http';
4
- export declare type CreateExpressContextOptions = NodeHTTPCreateContextFnOptions<express.Request, express.Response>;
5
- export declare function createExpressMiddleware<TRouter extends AnyRouter>(opts: NodeHTTPHandlerOptions<TRouter, express.Request, express.Response>): express.Handler;
1
+ import type * as express from 'express';
2
+ import { AnyRouter } from '../router';
3
+ import { NodeHTTPCreateContextFnOptions, NodeHTTPHandlerOptions } from './node-http';
4
+ export declare type CreateExpressContextOptions = NodeHTTPCreateContextFnOptions<express.Request, express.Response>;
5
+ export declare function createExpressMiddleware<TRouter extends AnyRouter>(opts: NodeHTTPHandlerOptions<TRouter, express.Request, express.Response>): express.Handler;
6
6
  //# sourceMappingURL=express.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"express.d.ts","sourceRoot":"","sources":["../../src/adapters/express.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,OAAO,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EACL,8BAA8B,EAC9B,sBAAsB,EACvB,MAAM,aAAa,CAAC;AAErB,oBAAY,2BAA2B,GAAG,8BAA8B,CACtE,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,QAAQ,CACjB,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,OAAO,SAAS,SAAS,EAC/D,IAAI,EAAE,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GACvE,OAAO,CAAC,OAAO,CAWjB"}
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var nodeHTTPRequestHandler = require('../nodeHTTPRequestHandler-848f07b5.js');
6
+ require('../resolveHTTPResponse-ec3dccaa.js');
7
+ require('../TRPCError-ddec3395.js');
8
+ require('../transformTRPCResponse-333bed6c.js');
9
+ require('../envelopes-a953b930.js');
10
+
11
+ /* eslint-disable @typescript-eslint/no-explicit-any */
12
+ function createExpressMiddleware(opts) {
13
+ return async (req, res) => {
14
+ const endpoint = req.path.slice(1);
15
+ await nodeHTTPRequestHandler.nodeHTTPRequestHandler({ ...opts,
16
+ req,
17
+ res,
18
+ path: endpoint
19
+ });
20
+ };
21
+ }
22
+
23
+ exports.createExpressMiddleware = createExpressMiddleware;
@@ -0,0 +1,19 @@
1
+ import { n as nodeHTTPRequestHandler } from '../nodeHTTPRequestHandler-1cdb6383.mjs';
2
+ import '../resolveHTTPResponse-54a79e6c.mjs';
3
+ import '../TRPCError-7971540a.mjs';
4
+ import '../transformTRPCResponse-e0cba527.mjs';
5
+ import '../envelopes-1deb2fa7.mjs';
6
+
7
+ /* eslint-disable @typescript-eslint/no-explicit-any */
8
+ function createExpressMiddleware(opts) {
9
+ return async (req, res) => {
10
+ const endpoint = req.path.slice(1);
11
+ await nodeHTTPRequestHandler({ ...opts,
12
+ req,
13
+ res,
14
+ path: endpoint
15
+ });
16
+ };
17
+ }
18
+
19
+ export { createExpressMiddleware };
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,13 @@
1
+ import { FastifyReply, FastifyRequest } from 'fastify';
2
+ import { HTTPBaseHandlerOptions } from '../../http/internals/types';
3
+ import { AnyRouter } from '../../router';
4
+ import { NodeHTTPCreateContextOption } from '../node-http';
5
+ export declare type FastifyHandlerOptions<TRouter extends AnyRouter, TRequest extends FastifyRequest, TResponse extends FastifyReply> = HTTPBaseHandlerOptions<TRouter, TRequest> & NodeHTTPCreateContextOption<TRouter, TRequest, TResponse>;
6
+ declare type FastifyRequestHandlerOptions<TRouter extends AnyRouter, TRequest extends FastifyRequest, TResponse extends FastifyReply> = {
7
+ req: TRequest;
8
+ res: TResponse;
9
+ path: string;
10
+ } & FastifyHandlerOptions<TRouter, TRequest, TResponse>;
11
+ export declare function fastifyRequestHandler<TRouter extends AnyRouter, TRequest extends FastifyRequest, TResponse extends FastifyReply>(opts: FastifyRequestHandlerOptions<TRouter, TRequest, TResponse>): Promise<void>;
12
+ export {};
13
+ //# sourceMappingURL=fastifyRequestHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fastifyRequestHandler.d.ts","sourceRoot":"","sources":["../../../src/adapters/fastify/fastifyRequestHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEvD,OAAO,EACL,sBAAsB,EAEvB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAsB,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAI3D,oBAAY,qBAAqB,CAC/B,OAAO,SAAS,SAAS,EACzB,QAAQ,SAAS,cAAc,EAC/B,SAAS,SAAS,YAAY,IAC5B,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,GAC3C,2BAA2B,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAE5D,aAAK,4BAA4B,CAC/B,OAAO,SAAS,SAAS,EACzB,QAAQ,SAAS,cAAc,EAC/B,SAAS,SAAS,YAAY,IAC5B;IACF,GAAG,EAAE,QAAQ,CAAC;IACd,GAAG,EAAE,SAAS,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,qBAAqB,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAExD,wBAAsB,qBAAqB,CACzC,OAAO,SAAS,SAAS,EACzB,QAAQ,SAAS,cAAc,EAC/B,SAAS,SAAS,YAAY,EAC9B,IAAI,EAAE,4BAA4B,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,iBA2CjE"}
@@ -0,0 +1,12 @@
1
+ import { FastifyInstance, FastifyReply, FastifyRequest } from 'fastify';
2
+ import { FastifyHandlerOptions } from '.';
3
+ import { AnyRouter } from '../..';
4
+ import { NodeHTTPCreateContextFnOptions } from '../node-http';
5
+ export interface FastifyTRPCPluginOptions<TRouter extends AnyRouter> {
6
+ prefix?: string;
7
+ useWSS?: boolean;
8
+ trpcOptions: FastifyHandlerOptions<TRouter, FastifyRequest, FastifyReply>;
9
+ }
10
+ export declare type CreateFastifyContextOptions = NodeHTTPCreateContextFnOptions<FastifyRequest, FastifyReply>;
11
+ export declare function fastifyTRPCPlugin<TRouter extends AnyRouter>(fastify: FastifyInstance, opts: FastifyTRPCPluginOptions<TRouter>, done: (err?: Error) => void): void;
12
+ //# sourceMappingURL=fastifyTRPCPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fastifyTRPCPlugin.d.ts","sourceRoot":"","sources":["../../../src/adapters/fastify/fastifyTRPCPlugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,GAAG,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC;AAI9D,MAAM,WAAW,wBAAwB,CAAC,OAAO,SAAS,SAAS;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,qBAAqB,CAAC,OAAO,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;CAC3E;AAED,oBAAY,2BAA2B,GAAG,8BAA8B,CACtE,cAAc,EACd,YAAY,CACb,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,OAAO,SAAS,SAAS,EACzD,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,wBAAwB,CAAC,OAAO,CAAC,EACvC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,QAiC5B"}
@@ -0,0 +1,3 @@
1
+ export * from './fastifyRequestHandler';
2
+ export * from './fastifyTRPCPlugin';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/fastify/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,108 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var resolveHTTPResponse = require('../../resolveHTTPResponse-ec3dccaa.js');
6
+ var adapters_ws = require('../ws.js');
7
+ require('../../TRPCError-ddec3395.js');
8
+ require('../../transformTRPCResponse-333bed6c.js');
9
+ require('../../envelopes-a953b930.js');
10
+ require('../../observable-3aa4d911.js');
11
+
12
+ resolveHTTPResponse.assertNotBrowser();
13
+ async function fastifyRequestHandler(opts) {
14
+ var _opts$req$body;
15
+
16
+ const createContext = async function _createContext() {
17
+ var _opts$createContext;
18
+
19
+ return (_opts$createContext = opts.createContext) === null || _opts$createContext === void 0 ? void 0 : _opts$createContext.call(opts, opts);
20
+ };
21
+
22
+ const query = opts.req.query ? new URLSearchParams(opts.req.query) : new URLSearchParams(opts.req.url.split('?')[1]);
23
+ const req = {
24
+ query,
25
+ method: opts.req.method,
26
+ headers: opts.req.headers,
27
+ body: (_opts$req$body = opts.req.body) !== null && _opts$req$body !== void 0 ? _opts$req$body : 'null'
28
+ };
29
+ const result = await resolveHTTPResponse.resolveHTTPResponse({
30
+ req,
31
+ createContext,
32
+ path: opts.path,
33
+ router: opts.router,
34
+ batching: opts.batching,
35
+ responseMeta: opts.responseMeta,
36
+
37
+ onError(o) {
38
+ var _opts$onError;
39
+
40
+ opts === null || opts === void 0 ? void 0 : (_opts$onError = opts.onError) === null || _opts$onError === void 0 ? void 0 : _opts$onError.call(opts, { ...o,
41
+ req: opts.req
42
+ });
43
+ }
44
+
45
+ });
46
+ const {
47
+ res
48
+ } = opts;
49
+
50
+ if ('status' in result && (!res.statusCode || res.statusCode === 200)) {
51
+ res.statusCode = result.status;
52
+ }
53
+
54
+ for (const [key, value] of Object.entries((_result$headers = result.headers) !== null && _result$headers !== void 0 ? _result$headers : {})) {
55
+ var _result$headers;
56
+
57
+ if (typeof value === 'undefined') {
58
+ continue;
59
+ }
60
+
61
+ void res.header(key, value);
62
+ }
63
+
64
+ await res.send(result.body);
65
+ }
66
+
67
+ /// <reference types="fastify-websocket" />
68
+ function fastifyTRPCPlugin(fastify, opts, done) {
69
+ var _opts$prefix;
70
+
71
+ fastify.addContentTypeParser('application/json', {
72
+ parseAs: 'string'
73
+ }, function (_, body, _done) {
74
+ _done(null, body);
75
+ });
76
+ let prefix = (_opts$prefix = opts.prefix) !== null && _opts$prefix !== void 0 ? _opts$prefix : ''; // https://github.com/fastify/fastify-plugin/blob/fe079bef6557a83794bf437e14b9b9edb8a74104/plugin.js#L11
77
+ // @ts-expect-error property 'default' does not exists on type ...
78
+
79
+ if (typeof fastifyTRPCPlugin.default !== 'function') {
80
+ prefix = ''; // handled by fastify internally
81
+ }
82
+
83
+ fastify.all(`${prefix}/:path`, async (req, res) => {
84
+ const path = req.params.path;
85
+ await fastifyRequestHandler({ ...opts.trpcOptions,
86
+ req,
87
+ res,
88
+ path
89
+ });
90
+ });
91
+
92
+ if (opts.useWSS) {
93
+ var _prefix;
94
+
95
+ adapters_ws.applyWSSHandler({ ...opts.trpcOptions,
96
+ wss: fastify.websocketServer
97
+ }); // eslint-disable-next-line @typescript-eslint/no-empty-function
98
+
99
+ fastify.get((_prefix = prefix) !== null && _prefix !== void 0 ? _prefix : '/', {
100
+ websocket: true
101
+ }, () => {});
102
+ }
103
+
104
+ done();
105
+ }
106
+
107
+ exports.fastifyRequestHandler = fastifyRequestHandler;
108
+ exports.fastifyTRPCPlugin = fastifyTRPCPlugin;
@@ -0,0 +1,103 @@
1
+ import { a as assertNotBrowser, r as resolveHTTPResponse } from '../../resolveHTTPResponse-54a79e6c.mjs';
2
+ import { applyWSSHandler } from '../ws.mjs';
3
+ import '../../TRPCError-7971540a.mjs';
4
+ import '../../transformTRPCResponse-e0cba527.mjs';
5
+ import '../../envelopes-1deb2fa7.mjs';
6
+ import '../../observable-137ea1bd.mjs';
7
+
8
+ assertNotBrowser();
9
+ async function fastifyRequestHandler(opts) {
10
+ var _opts$req$body;
11
+
12
+ const createContext = async function _createContext() {
13
+ var _opts$createContext;
14
+
15
+ return (_opts$createContext = opts.createContext) === null || _opts$createContext === void 0 ? void 0 : _opts$createContext.call(opts, opts);
16
+ };
17
+
18
+ const query = opts.req.query ? new URLSearchParams(opts.req.query) : new URLSearchParams(opts.req.url.split('?')[1]);
19
+ const req = {
20
+ query,
21
+ method: opts.req.method,
22
+ headers: opts.req.headers,
23
+ body: (_opts$req$body = opts.req.body) !== null && _opts$req$body !== void 0 ? _opts$req$body : 'null'
24
+ };
25
+ const result = await resolveHTTPResponse({
26
+ req,
27
+ createContext,
28
+ path: opts.path,
29
+ router: opts.router,
30
+ batching: opts.batching,
31
+ responseMeta: opts.responseMeta,
32
+
33
+ onError(o) {
34
+ var _opts$onError;
35
+
36
+ opts === null || opts === void 0 ? void 0 : (_opts$onError = opts.onError) === null || _opts$onError === void 0 ? void 0 : _opts$onError.call(opts, { ...o,
37
+ req: opts.req
38
+ });
39
+ }
40
+
41
+ });
42
+ const {
43
+ res
44
+ } = opts;
45
+
46
+ if ('status' in result && (!res.statusCode || res.statusCode === 200)) {
47
+ res.statusCode = result.status;
48
+ }
49
+
50
+ for (const [key, value] of Object.entries((_result$headers = result.headers) !== null && _result$headers !== void 0 ? _result$headers : {})) {
51
+ var _result$headers;
52
+
53
+ if (typeof value === 'undefined') {
54
+ continue;
55
+ }
56
+
57
+ void res.header(key, value);
58
+ }
59
+
60
+ await res.send(result.body);
61
+ }
62
+
63
+ /// <reference types="fastify-websocket" />
64
+ function fastifyTRPCPlugin(fastify, opts, done) {
65
+ var _opts$prefix;
66
+
67
+ fastify.addContentTypeParser('application/json', {
68
+ parseAs: 'string'
69
+ }, function (_, body, _done) {
70
+ _done(null, body);
71
+ });
72
+ let prefix = (_opts$prefix = opts.prefix) !== null && _opts$prefix !== void 0 ? _opts$prefix : ''; // https://github.com/fastify/fastify-plugin/blob/fe079bef6557a83794bf437e14b9b9edb8a74104/plugin.js#L11
73
+ // @ts-expect-error property 'default' does not exists on type ...
74
+
75
+ if (typeof fastifyTRPCPlugin.default !== 'function') {
76
+ prefix = ''; // handled by fastify internally
77
+ }
78
+
79
+ fastify.all(`${prefix}/:path`, async (req, res) => {
80
+ const path = req.params.path;
81
+ await fastifyRequestHandler({ ...opts.trpcOptions,
82
+ req,
83
+ res,
84
+ path
85
+ });
86
+ });
87
+
88
+ if (opts.useWSS) {
89
+ var _prefix;
90
+
91
+ applyWSSHandler({ ...opts.trpcOptions,
92
+ wss: fastify.websocketServer
93
+ }); // eslint-disable-next-line @typescript-eslint/no-empty-function
94
+
95
+ fastify.get((_prefix = prefix) !== null && _prefix !== void 0 ? _prefix : '/', {
96
+ websocket: true
97
+ }, () => {});
98
+ }
99
+
100
+ done();
101
+ }
102
+
103
+ export { fastifyRequestHandler, fastifyTRPCPlugin };
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,8 @@
1
+ import { AnyRouter } from '../../router';
2
+ import { FetchHandlerOptions } from './types';
3
+ export declare type FetchHandlerRequestOptions<TRouter extends AnyRouter> = {
4
+ req: Request;
5
+ endpoint: string;
6
+ } & FetchHandlerOptions<TRouter>;
7
+ export declare function fetchRequestHandler<TRouter extends AnyRouter>(opts: FetchHandlerRequestOptions<TRouter>): Promise<Response>;
8
+ //# sourceMappingURL=fetchRequestHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchRequestHandler.d.ts","sourceRoot":"","sources":["../../../src/adapters/fetch/fetchRequestHandler.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAI9C,oBAAY,0BAA0B,CAAC,OAAO,SAAS,SAAS,IAAI;IAClE,GAAG,EAAE,OAAO,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAEjC,wBAAsB,mBAAmB,CAAC,OAAO,SAAS,SAAS,EACjE,IAAI,EAAE,0BAA0B,CAAC,OAAO,CAAC,GACxC,OAAO,CAAC,QAAQ,CAAC,CA6CnB"}
@@ -0,0 +1,3 @@
1
+ export * from './fetchRequestHandler';
2
+ export * from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/fetch/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC"}
@@ -0,0 +1,69 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var resolveHTTPResponse = require('../../resolveHTTPResponse-ec3dccaa.js');
6
+ require('../../TRPCError-ddec3395.js');
7
+ require('../../transformTRPCResponse-333bed6c.js');
8
+ require('../../envelopes-a953b930.js');
9
+
10
+ resolveHTTPResponse.assertNotBrowser();
11
+ async function fetchRequestHandler(opts) {
12
+ const createContext = async () => {
13
+ var _opts$createContext;
14
+
15
+ return (_opts$createContext = opts.createContext) === null || _opts$createContext === void 0 ? void 0 : _opts$createContext.call(opts, {
16
+ req: opts.req
17
+ });
18
+ };
19
+
20
+ const url = new URL(opts.req.url);
21
+ const path = url.pathname.slice(opts.endpoint.length + 1);
22
+ const req = {
23
+ query: url.searchParams,
24
+ method: opts.req.method,
25
+ headers: Object.fromEntries(opts.req.headers),
26
+ body: await opts.req.text()
27
+ };
28
+ const result = await resolveHTTPResponse.resolveHTTPResponse({
29
+ req,
30
+ createContext,
31
+ path,
32
+ router: opts.router,
33
+ batching: opts.batching,
34
+ responseMeta: opts.responseMeta,
35
+
36
+ onError(o) {
37
+ var _opts$onError;
38
+
39
+ opts === null || opts === void 0 ? void 0 : (_opts$onError = opts.onError) === null || _opts$onError === void 0 ? void 0 : _opts$onError.call(opts, { ...o,
40
+ req: opts.req
41
+ });
42
+ }
43
+
44
+ });
45
+ const res = new Response(result.body, {
46
+ status: result.status
47
+ });
48
+
49
+ for (const [key, value] of Object.entries((_result$headers = result.headers) !== null && _result$headers !== void 0 ? _result$headers : {})) {
50
+ var _result$headers;
51
+
52
+ if (typeof value === 'undefined') {
53
+ continue;
54
+ }
55
+
56
+ if (typeof value === 'string') {
57
+ res.headers.set(key, value);
58
+ continue;
59
+ }
60
+
61
+ for (const v of value) {
62
+ res.headers.append(key, v);
63
+ }
64
+ }
65
+
66
+ return res;
67
+ }
68
+
69
+ exports.fetchRequestHandler = fetchRequestHandler;