@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
@@ -1,10 +1,10 @@
1
- import { URLSearchParams } from 'url';
2
- import { T as TRPCError, c as callProcedure, g as getErrorFromUnknown, t as transformTRPCResponse } from './transformTRPCResponse-f73dc4a2.esm.js';
3
- import { i as invert, T as TRPC_ERROR_CODES_BY_KEY } from './codes-fe07bf82.esm.js';
1
+ import { T as TRPCError, a as getErrorFromUnknown, g as getCauseFromUnknown } from './TRPCError-7971540a.mjs';
2
+ import { c as callProcedure, t as transformTRPCResponse } from './transformTRPCResponse-e0cba527.mjs';
3
+ import { i as invert, T as TRPC_ERROR_CODES_BY_KEY } from './envelopes-1deb2fa7.mjs';
4
4
 
5
5
  /* istanbul ignore file */
6
6
  function assertNotBrowser() {
7
- if (typeof window !== 'undefined' && process.env.NODE_ENV !== 'test' && process.env.JEST_WORKER_ID === undefined) {
7
+ if (typeof window !== 'undefined' && !('Deno' in window) && process.env.NODE_ENV !== 'test' && process.env.JEST_WORKER_ID === undefined) {
8
8
  throw new Error('Imported server-only code in the browser');
9
9
  }
10
10
  }
@@ -18,6 +18,7 @@ const JSONRPC2_TO_HTTP_CODE = {
18
18
  UNAUTHORIZED: 401,
19
19
  FORBIDDEN: 403,
20
20
  TIMEOUT: 408,
21
+ CONFLICT: 409,
21
22
  CLIENT_CLOSED_REQUEST: 499,
22
23
  PRECONDITION_FAILED: 412,
23
24
  PAYLOAD_TOO_LARGE: 413,
@@ -80,10 +81,10 @@ function getRawProcedureInputOrThrow(req) {
80
81
  }
81
82
 
82
83
  return typeof req.body === 'string' ? JSON.parse(req.body) : req.body;
83
- } catch (cause) {
84
+ } catch (err) {
84
85
  throw new TRPCError({
85
86
  code: 'PARSE_ERROR',
86
- cause
87
+ cause: getCauseFromUnknown(err)
87
88
  });
88
89
  }
89
90
  }
@@ -237,8 +238,7 @@ async function resolveHTTPResponse(opts) {
237
238
  } = obj;
238
239
 
239
240
  if (obj.error) {
240
- const json = {
241
- id: null,
241
+ return {
242
242
  error: router.getErrorShape({
243
243
  error: obj.error,
244
244
  type,
@@ -247,16 +247,12 @@ async function resolveHTTPResponse(opts) {
247
247
  ctx
248
248
  })
249
249
  };
250
- return json;
251
250
  } else {
252
- const json = {
253
- id: null,
251
+ return {
254
252
  result: {
255
- type: 'data',
256
253
  data: obj.data
257
254
  }
258
255
  };
259
- return json;
260
256
  }
261
257
  });
262
258
  const result = isBatchCall ? resultEnvelopes : resultEnvelopes[0];
@@ -268,16 +264,6 @@ async function resolveHTTPResponse(opts) {
268
264
  // - post body is too large
269
265
  // - input deserialization fails
270
266
  const error = getErrorFromUnknown(cause);
271
- const json = {
272
- id: null,
273
- error: router.getErrorShape({
274
- error,
275
- type,
276
- path: undefined,
277
- input: undefined,
278
- ctx
279
- })
280
- };
281
267
  onError === null || onError === void 0 ? void 0 : onError({
282
268
  error,
283
269
  path: undefined,
@@ -286,109 +272,16 @@ async function resolveHTTPResponse(opts) {
286
272
  type: type,
287
273
  req
288
274
  });
289
- return endResponse(json, [error]);
290
- }
291
- }
292
-
293
- async function getPostBody({
294
- req,
295
- maxBodySize
296
- }) {
297
- return new Promise(resolve => {
298
- if ('body' in req) {
299
- resolve({
300
- ok: true,
301
- data: req.body
302
- });
303
- return;
304
- }
305
-
306
- let body = '';
307
- let hasBody = false;
308
- req.on('data', function (data) {
309
- body += data;
310
- hasBody = true;
311
-
312
- if (typeof maxBodySize === 'number' && body.length > maxBodySize) {
313
- resolve({
314
- ok: false,
315
- error: new TRPCError({
316
- code: 'PAYLOAD_TOO_LARGE'
317
- })
318
- });
319
- req.socket.destroy();
320
- }
321
- });
322
- req.on('end', () => {
323
- resolve({
324
- ok: true,
325
- data: hasBody ? body : undefined
326
- });
327
- });
328
- });
329
- }
330
-
331
- /* eslint-disable @typescript-eslint/no-non-null-assertion */
332
- assertNotBrowser();
333
- async function nodeHTTPRequestHandler(opts) {
334
- var _opts$teardown;
335
-
336
- const createContext = async function _createContext() {
337
- var _opts$createContext;
338
-
339
- return await ((_opts$createContext = opts.createContext) === null || _opts$createContext === void 0 ? void 0 : _opts$createContext.call(opts, opts));
340
- };
341
-
342
- const {
343
- path,
344
- router
345
- } = opts;
346
- const bodyResult = await getPostBody(opts);
347
- const query = opts.req.query ? new URLSearchParams(opts.req.query) : new URLSearchParams(opts.req.url.split('?')[1]);
348
- const req = {
349
- method: opts.req.method,
350
- headers: opts.req.headers,
351
- query,
352
- body: bodyResult.ok ? bodyResult.data : undefined
353
- };
354
- const result = await resolveHTTPResponse({
355
- batching: opts.batching,
356
- responseMeta: opts.responseMeta,
357
- path,
358
- createContext,
359
- router,
360
- req,
361
- error: bodyResult.ok ? null : bodyResult.error,
362
-
363
- onError(o) {
364
- var _opts$onError;
365
-
366
- opts === null || opts === void 0 ? void 0 : (_opts$onError = opts.onError) === null || _opts$onError === void 0 ? void 0 : _opts$onError.call(opts, { ...o,
367
- req: opts.req
368
- });
369
- }
370
-
371
- });
372
- const {
373
- res
374
- } = opts;
375
-
376
- if ('status' in result && (!res.statusCode || res.statusCode === 200)) {
377
- res.statusCode = result.status;
378
- }
379
-
380
- for (const [key, value] of Object.entries((_result$headers = result.headers) !== null && _result$headers !== void 0 ? _result$headers : {})) {
381
- var _result$headers;
382
-
383
- if (typeof value === 'undefined') {
384
- continue;
385
- }
386
-
387
- res.setHeader(key, value);
275
+ return endResponse({
276
+ error: router.getErrorShape({
277
+ error,
278
+ type,
279
+ path: undefined,
280
+ input: undefined,
281
+ ctx
282
+ })
283
+ }, [error]);
388
284
  }
389
-
390
- res.end(result.body);
391
- await ((_opts$teardown = opts.teardown) === null || _opts$teardown === void 0 ? void 0 : _opts$teardown.call(opts));
392
285
  }
393
286
 
394
- export { assertNotBrowser as a, getHTTPStatusCodeFromError as g, nodeHTTPRequestHandler as n, resolveHTTPResponse as r };
287
+ export { assertNotBrowser as a, getHTTPStatusCodeFromError as g, resolveHTTPResponse as r };
@@ -1,17 +1,17 @@
1
1
  'use strict';
2
2
 
3
- var url = require('url');
4
- var transformTRPCResponse = require('./transformTRPCResponse-8248515e.cjs.dev.js');
5
- var codes = require('./codes-33cef953.cjs.dev.js');
3
+ var TRPCError = require('./TRPCError-ddec3395.js');
4
+ var transformTRPCResponse = require('./transformTRPCResponse-333bed6c.js');
5
+ var envelopes = require('./envelopes-a953b930.js');
6
6
 
7
7
  /* istanbul ignore file */
8
8
  function assertNotBrowser() {
9
- if (typeof window !== 'undefined' && process.env.NODE_ENV !== 'test' && process.env.JEST_WORKER_ID === undefined) {
9
+ if (typeof window !== 'undefined' && !('Deno' in window) && process.env.NODE_ENV !== 'test' && process.env.JEST_WORKER_ID === undefined) {
10
10
  throw new Error('Imported server-only code in the browser');
11
11
  }
12
12
  }
13
13
 
14
- const TRPC_ERROR_CODES_BY_NUMBER = /*#__PURE__*/codes.invert(codes.TRPC_ERROR_CODES_BY_KEY);
14
+ const TRPC_ERROR_CODES_BY_NUMBER = /*#__PURE__*/envelopes.invert(envelopes.TRPC_ERROR_CODES_BY_KEY);
15
15
  const JSONRPC2_TO_HTTP_CODE = {
16
16
  PARSE_ERROR: 400,
17
17
  BAD_REQUEST: 400,
@@ -20,6 +20,7 @@ const JSONRPC2_TO_HTTP_CODE = {
20
20
  UNAUTHORIZED: 401,
21
21
  FORBIDDEN: 403,
22
22
  TIMEOUT: 408,
23
+ CONFLICT: 409,
23
24
  CLIENT_CLOSED_REQUEST: 499,
24
25
  PRECONDITION_FAILED: 412,
25
26
  PAYLOAD_TOO_LARGE: 413,
@@ -82,10 +83,10 @@ function getRawProcedureInputOrThrow(req) {
82
83
  }
83
84
 
84
85
  return typeof req.body === 'string' ? JSON.parse(req.body) : req.body;
85
- } catch (cause) {
86
- throw new transformTRPCResponse.TRPCError({
86
+ } catch (err) {
87
+ throw new TRPCError.TRPCError({
87
88
  code: 'PARSE_ERROR',
88
- cause
89
+ cause: TRPCError.getCauseFromUnknown(err)
89
90
  });
90
91
  }
91
92
  }
@@ -157,7 +158,7 @@ async function resolveHTTPResponse(opts) {
157
158
  }
158
159
 
159
160
  if (type === 'unknown' || type === 'subscription') {
160
- throw new transformTRPCResponse.TRPCError({
161
+ throw new TRPCError.TRPCError({
161
162
  message: `Unexpected request method ${req.method}`,
162
163
  code: 'METHOD_NOT_SUPPORTED'
163
164
  });
@@ -179,7 +180,7 @@ async function resolveHTTPResponse(opts) {
179
180
  }
180
181
 
181
182
  if (rawInput == null || typeof rawInput !== 'object' || Array.isArray(rawInput)) {
182
- throw new transformTRPCResponse.TRPCError({
183
+ throw new TRPCError.TRPCError({
183
184
  code: 'BAD_REQUEST',
184
185
  message: '"input" needs to be an object when doing a batch call'
185
186
  });
@@ -215,7 +216,7 @@ async function resolveHTTPResponse(opts) {
215
216
  data: output
216
217
  };
217
218
  } catch (cause) {
218
- const error = transformTRPCResponse.getErrorFromUnknown(cause);
219
+ const error = TRPCError.getErrorFromUnknown(cause);
219
220
  onError === null || onError === void 0 ? void 0 : onError({
220
221
  error,
221
222
  path,
@@ -239,8 +240,7 @@ async function resolveHTTPResponse(opts) {
239
240
  } = obj;
240
241
 
241
242
  if (obj.error) {
242
- const json = {
243
- id: null,
243
+ return {
244
244
  error: router.getErrorShape({
245
245
  error: obj.error,
246
246
  type,
@@ -249,16 +249,12 @@ async function resolveHTTPResponse(opts) {
249
249
  ctx
250
250
  })
251
251
  };
252
- return json;
253
252
  } else {
254
- const json = {
255
- id: null,
253
+ return {
256
254
  result: {
257
- type: 'data',
258
255
  data: obj.data
259
256
  }
260
257
  };
261
- return json;
262
258
  }
263
259
  });
264
260
  const result = isBatchCall ? resultEnvelopes : resultEnvelopes[0];
@@ -269,17 +265,7 @@ async function resolveHTTPResponse(opts) {
269
265
  // - `createContext()` throws
270
266
  // - post body is too large
271
267
  // - input deserialization fails
272
- const error = transformTRPCResponse.getErrorFromUnknown(cause);
273
- const json = {
274
- id: null,
275
- error: router.getErrorShape({
276
- error,
277
- type,
278
- path: undefined,
279
- input: undefined,
280
- ctx
281
- })
282
- };
268
+ const error = TRPCError.getErrorFromUnknown(cause);
283
269
  onError === null || onError === void 0 ? void 0 : onError({
284
270
  error,
285
271
  path: undefined,
@@ -288,112 +274,18 @@ async function resolveHTTPResponse(opts) {
288
274
  type: type,
289
275
  req
290
276
  });
291
- return endResponse(json, [error]);
292
- }
293
- }
294
-
295
- async function getPostBody({
296
- req,
297
- maxBodySize
298
- }) {
299
- return new Promise(resolve => {
300
- if ('body' in req) {
301
- resolve({
302
- ok: true,
303
- data: req.body
304
- });
305
- return;
306
- }
307
-
308
- let body = '';
309
- let hasBody = false;
310
- req.on('data', function (data) {
311
- body += data;
312
- hasBody = true;
313
-
314
- if (typeof maxBodySize === 'number' && body.length > maxBodySize) {
315
- resolve({
316
- ok: false,
317
- error: new transformTRPCResponse.TRPCError({
318
- code: 'PAYLOAD_TOO_LARGE'
319
- })
320
- });
321
- req.socket.destroy();
322
- }
323
- });
324
- req.on('end', () => {
325
- resolve({
326
- ok: true,
327
- data: hasBody ? body : undefined
328
- });
329
- });
330
- });
331
- }
332
-
333
- /* eslint-disable @typescript-eslint/no-non-null-assertion */
334
- assertNotBrowser();
335
- async function nodeHTTPRequestHandler(opts) {
336
- var _opts$teardown;
337
-
338
- const createContext = async function _createContext() {
339
- var _opts$createContext;
340
-
341
- return await ((_opts$createContext = opts.createContext) === null || _opts$createContext === void 0 ? void 0 : _opts$createContext.call(opts, opts));
342
- };
343
-
344
- const {
345
- path,
346
- router
347
- } = opts;
348
- const bodyResult = await getPostBody(opts);
349
- const query = opts.req.query ? new url.URLSearchParams(opts.req.query) : new url.URLSearchParams(opts.req.url.split('?')[1]);
350
- const req = {
351
- method: opts.req.method,
352
- headers: opts.req.headers,
353
- query,
354
- body: bodyResult.ok ? bodyResult.data : undefined
355
- };
356
- const result = await resolveHTTPResponse({
357
- batching: opts.batching,
358
- responseMeta: opts.responseMeta,
359
- path,
360
- createContext,
361
- router,
362
- req,
363
- error: bodyResult.ok ? null : bodyResult.error,
364
-
365
- onError(o) {
366
- var _opts$onError;
367
-
368
- opts === null || opts === void 0 ? void 0 : (_opts$onError = opts.onError) === null || _opts$onError === void 0 ? void 0 : _opts$onError.call(opts, { ...o,
369
- req: opts.req
370
- });
371
- }
372
-
373
- });
374
- const {
375
- res
376
- } = opts;
377
-
378
- if ('status' in result && (!res.statusCode || res.statusCode === 200)) {
379
- res.statusCode = result.status;
380
- }
381
-
382
- for (const [key, value] of Object.entries((_result$headers = result.headers) !== null && _result$headers !== void 0 ? _result$headers : {})) {
383
- var _result$headers;
384
-
385
- if (typeof value === 'undefined') {
386
- continue;
387
- }
388
-
389
- res.setHeader(key, value);
277
+ return endResponse({
278
+ error: router.getErrorShape({
279
+ error,
280
+ type,
281
+ path: undefined,
282
+ input: undefined,
283
+ ctx
284
+ })
285
+ }, [error]);
390
286
  }
391
-
392
- res.end(result.body);
393
- await ((_opts$teardown = opts.teardown) === null || _opts$teardown === void 0 ? void 0 : _opts$teardown.call(opts));
394
287
  }
395
288
 
396
289
  exports.assertNotBrowser = assertNotBrowser;
397
290
  exports.getHTTPStatusCodeFromError = getHTTPStatusCodeFromError;
398
- exports.nodeHTTPRequestHandler = nodeHTTPRequestHandler;
399
291
  exports.resolveHTTPResponse = resolveHTTPResponse;
@@ -0,0 +1,173 @@
1
+ import { TRPCError } from './TRPCError';
2
+ import { MiddlewareFunction } from './internals/middlewares';
3
+ import { CreateProcedureWithInput, CreateProcedureWithInputOutputParser, CreateProcedureWithoutInput, Procedure, inferProcedureFromOptions } from './internals/procedure';
4
+ import { Observable, inferObservableValue } from './observable';
5
+ import { TRPCErrorShape, TRPC_ERROR_CODE_KEY, TRPC_ERROR_CODE_NUMBER } from './rpc';
6
+ import { CombinedDataTransformer, DataTransformerOptions } from './transformer';
7
+ import { Prefixer, ThenArg, flatten } from './types';
8
+ /**
9
+ * @public
10
+ */
11
+ export declare type ProcedureType = 'query' | 'mutation' | 'subscription';
12
+ /**
13
+ * @internal
14
+ */
15
+ export declare type ProcedureRecord<TInputContext = any, TContext = any, TMeta = any, TInput = any, TParsedInput = any, TOutput = any, TParsedOutput = any> = Record<string, Procedure<TInputContext, TContext, TMeta, TInput, TParsedInput, TOutput, TParsedOutput>>;
16
+ /**
17
+ * @public
18
+ */
19
+ export declare type inferProcedureInput<TProcedure extends Procedure<any, any, any, any, any, any, any>> = TProcedure extends Procedure<any, any, any, infer Input, any, any, any> ? undefined extends Input ? Input | null | void : Input : undefined;
20
+ /**
21
+ * @public
22
+ */
23
+ export declare type inferAsyncReturnType<TFunction extends (...args: any) => any> = ThenArg<ReturnType<TFunction>>;
24
+ /**
25
+ * @public
26
+ */
27
+ export declare type inferProcedureOutput<TProcedure extends Procedure<any, any, any, any, any, any, any>> = inferAsyncReturnType<TProcedure['call']>;
28
+ /**
29
+ * @public
30
+ * @beta
31
+ */
32
+ export declare type inferSubscriptionOutput<TRouter extends AnyRouter, TPath extends keyof TRouter['_def']['subscriptions']> = inferObservableValue<inferAsyncReturnType<TRouter['_def']['subscriptions'][TPath]['call']>>;
33
+ /**
34
+ * @internal
35
+ */
36
+ export declare type inferHandlerInput<TProcedure extends Procedure<any, any, any, any, any, any, any>> = TProcedure extends Procedure<any, any, any, infer TInput, any, any, any> ? undefined extends TInput ? unknown extends TInput ? [(null | undefined)?] : [(TInput | null | undefined)?] : [TInput] : [(undefined | null)?];
37
+ declare type inferHandlerFn<TProcedures extends ProcedureRecord> = <TProcedure extends TProcedures[TPath], TPath extends keyof TProcedures & string>(path: TPath, ...args: inferHandlerInput<TProcedure>) => Promise<inferProcedureOutput<TProcedures[TPath]>>;
38
+ /**
39
+ * @internal
40
+ */
41
+ export declare type inferRouterContext<TRouter extends AnyRouter> = Parameters<TRouter['createCaller']>[0];
42
+ /**
43
+ * @internal
44
+ */
45
+ export declare type inferRouterMeta<TRouter extends AnyRouter> = TRouter extends Router<any, any, infer TMeta, any, any, any, any> ? TMeta : {};
46
+ /**
47
+ * @public
48
+ */
49
+ export declare type AnyRouter<TContext = any> = Router<any, TContext, any, any, any, any, any>;
50
+ /**
51
+ * @internal
52
+ */
53
+ export declare type inferRouterError<TRouter extends AnyRouter> = ReturnType<TRouter['getErrorShape']>;
54
+ /**
55
+ * @internal
56
+ */
57
+ export declare type ErrorFormatter<TContext, TShape extends TRPCErrorShape<number>> = ({ error, }: {
58
+ error: TRPCError;
59
+ type: ProcedureType | 'unknown';
60
+ path: string | undefined;
61
+ input: unknown;
62
+ ctx: undefined | TContext;
63
+ shape: DefaultErrorShape;
64
+ }) => TShape;
65
+ declare type DefaultErrorData = {
66
+ code: TRPC_ERROR_CODE_KEY;
67
+ httpStatus: number;
68
+ path?: string;
69
+ stack?: string;
70
+ };
71
+ /**
72
+ * @internal
73
+ */
74
+ export interface DefaultErrorShape extends TRPCErrorShape<TRPC_ERROR_CODE_NUMBER, DefaultErrorData> {
75
+ message: string;
76
+ code: TRPC_ERROR_CODE_NUMBER;
77
+ }
78
+ declare type SwapProcedureContext<TProcedure extends Procedure<any, any, any, any, any, any, any>, TNewContext> = TProcedure extends Procedure<infer TInputContext, infer _TOldContext, infer TMeta, infer TInput, infer TParsedInput, infer TOutput, infer TParsedOutput> ? Procedure<TInputContext, TNewContext, TMeta, TInput, TParsedInput, TOutput, TParsedOutput> : never;
79
+ declare type SwapContext<TObj extends ProcedureRecord<any, any, any, any, any, any>, TNewContext> = {
80
+ [P in keyof TObj]: SwapProcedureContext<TObj[P], TNewContext>;
81
+ };
82
+ /**
83
+ * @internal The type signature of this class may change without warning.
84
+ */
85
+ export declare class Router<TInputContext, TContext, TMeta extends Record<string, any>, TQueries extends ProcedureRecord<TInputContext, TContext, any, any, any, any, any>, TMutations extends ProcedureRecord<TInputContext, TContext, any, any, any, any, any>, TSubscriptions extends ProcedureRecord<TInputContext, TContext, unknown, unknown, Observable<unknown, unknown>, unknown, unknown>, TErrorShape extends TRPCErrorShape<number>> {
86
+ readonly _def: {
87
+ queries: TQueries;
88
+ mutations: TMutations;
89
+ subscriptions: TSubscriptions;
90
+ middlewares: MiddlewareFunction<TInputContext, TContext, TMeta>[];
91
+ errorFormatter: ErrorFormatter<TContext, TErrorShape>;
92
+ transformer: CombinedDataTransformer;
93
+ };
94
+ constructor(def?: {
95
+ queries?: TQueries;
96
+ mutations?: TMutations;
97
+ subscriptions?: TSubscriptions;
98
+ middlewares?: MiddlewareFunction<TInputContext, TContext, TMeta>[];
99
+ errorFormatter?: ErrorFormatter<TContext, TErrorShape>;
100
+ transformer?: CombinedDataTransformer;
101
+ });
102
+ private static prefixProcedures;
103
+ query<TPath extends string, TInput, TParsedInput, TOutput, TParsedOutput>(path: TPath, procedure: CreateProcedureWithInputOutputParser<TContext, TMeta, TInput, TParsedInput, TOutput, TParsedOutput>): Router<TInputContext, TContext, TMeta, TQueries & Record<TPath, inferProcedureFromOptions<TInputContext, typeof procedure>>, TMutations, TSubscriptions, TErrorShape>;
104
+ query<TPath extends string, TInput, TOutput>(path: TPath, procedure: CreateProcedureWithInput<TContext, TMeta, TInput, TOutput>): Router<TInputContext, TContext, TMeta, TQueries & Record<TPath, inferProcedureFromOptions<TInputContext, typeof procedure>>, TMutations, TSubscriptions, TErrorShape>;
105
+ query<TPath extends string, TOutput, TParsedOutput>(path: TPath, procedure: CreateProcedureWithoutInput<TContext, TMeta, TOutput, TParsedOutput>): Router<TInputContext, TContext, TMeta, TQueries & Record<TPath, inferProcedureFromOptions<TInputContext, typeof procedure>>, TMutations, TSubscriptions, TErrorShape>;
106
+ mutation<TPath extends string, TInput, TParsedInput, TOutput, TParsedOutput>(path: TPath, procedure: CreateProcedureWithInputOutputParser<TContext, TMeta, TInput, TParsedInput, TOutput, TParsedOutput>): Router<TInputContext, TContext, TMeta, TQueries, TMutations & Record<TPath, inferProcedureFromOptions<TInputContext, typeof procedure>>, TSubscriptions, TErrorShape>;
107
+ mutation<TPath extends string, TInput, TOutput>(path: TPath, procedure: CreateProcedureWithInput<TContext, TMeta, TInput, TOutput>): Router<TInputContext, TContext, TMeta, TQueries, TMutations & Record<TPath, inferProcedureFromOptions<TInputContext, typeof procedure>>, TSubscriptions, TErrorShape>;
108
+ mutation<TPath extends string, TOutput, TParsedOutput>(path: TPath, procedure: CreateProcedureWithoutInput<TContext, TMeta, TOutput, TParsedOutput>): Router<TInputContext, TContext, TMeta, TQueries, TMutations & Record<TPath, inferProcedureFromOptions<TInputContext, typeof procedure>>, TSubscriptions, TErrorShape>;
109
+ /**
110
+ * @beta Might change without a major version bump
111
+ */
112
+ subscription<TPath extends string, TInput, TParsedInput, TOutput extends Observable<unknown, unknown>>(path: TPath, procedure: Omit<CreateProcedureWithInputOutputParser<TContext, TMeta, TInput, TParsedInput, TOutput, unknown>, 'output'>): Router<TInputContext, TContext, TMeta, TQueries, TMutations, TSubscriptions & Record<TPath, inferProcedureFromOptions<TInputContext, typeof procedure>>, TErrorShape>;
113
+ /**
114
+ * @beta Might change without a major version bump
115
+ */
116
+ subscription<TPath extends string, TInput, TOutput extends Observable<unknown, unknown>>(path: TPath, procedure: Omit<CreateProcedureWithInput<TContext, TMeta, TInput, TOutput>, 'output'>): Router<TInputContext, TContext, TMeta, TQueries, TMutations, TSubscriptions & Record<TPath, inferProcedureFromOptions<TInputContext, typeof procedure>>, TErrorShape>;
117
+ /**
118
+ * @beta Might change without a major version bump
119
+ */
120
+ subscription<TPath extends string, TOutput extends Observable<unknown, unknown>>(path: TPath, procedure: Omit<CreateProcedureWithoutInput<TContext, TMeta, TOutput, unknown>, 'output'>): Router<TInputContext, TContext, TMeta, TQueries, TMutations, TSubscriptions & Record<TPath, inferProcedureFromOptions<TInputContext, typeof procedure>>, TErrorShape>;
121
+ /**
122
+ * Merge router with other router
123
+ * @param router
124
+ */
125
+ merge<TChildRouter extends Router<TContext, any, TMeta, any, any, any, any>>(router: TChildRouter): Router<TInputContext, inferRouterContext<TChildRouter>, TMeta, TQueries & TChildRouter['_def']['queries'], TMutations & TChildRouter['_def']['mutations'], TSubscriptions & TChildRouter['_def']['subscriptions'], TErrorShape>;
126
+ /**
127
+ * Merge router with other router
128
+ * @param prefix Prefix that this router should live under
129
+ * @param router
130
+ */
131
+ merge<TPath extends string, TChildRouter extends Router<TContext, any, TMeta, any, any, any, any>>(prefix: TPath, router: TChildRouter): Router<TInputContext, inferRouterContext<TChildRouter>, TMeta, TQueries & Prefixer<TChildRouter['_def']['queries'], `${TPath}`>, TMutations & Prefixer<TChildRouter['_def']['mutations'], `${TPath}`>, TSubscriptions & Prefixer<TChildRouter['_def']['subscriptions'], `${TPath}`>, TErrorShape>;
132
+ /**
133
+ * Invoke procedure. Only for internal use within library.
134
+ */
135
+ private call;
136
+ createCaller(ctx: TInputContext): {
137
+ query: inferHandlerFn<TQueries>;
138
+ mutation: inferHandlerFn<TMutations>;
139
+ subscription: inferHandlerFn<TSubscriptions>;
140
+ };
141
+ /**
142
+ * Function to be called before any procedure is invoked
143
+ * @link https://trpc.io/docs/middlewares
144
+ */
145
+ middleware<TNewContext>(middleware: MiddlewareFunction<TContext, TNewContext, TMeta>): Router<TInputContext, TNewContext, TMeta, SwapContext<TQueries, TNewContext>, SwapContext<TMutations, TNewContext>, SwapContext<TSubscriptions, TNewContext>, TErrorShape>;
146
+ /**
147
+ * Format errors
148
+ * @link https://trpc.io/docs/error-formatting
149
+ */
150
+ formatError<TErrorFormatter extends ErrorFormatter<TContext, TRPCErrorShape<number>>>(errorFormatter: TErrorFormatter): Router<TInputContext, TContext, TMeta, TQueries, TMutations, TSubscriptions, ReturnType<TErrorFormatter>>;
151
+ getErrorShape(opts: {
152
+ error: TRPCError;
153
+ type: ProcedureType | 'unknown';
154
+ path: string | undefined;
155
+ input: unknown;
156
+ ctx: undefined | TContext;
157
+ }): TErrorShape;
158
+ /**
159
+ * Add data transformer to serialize/deserialize input args + output
160
+ * @link https://trpc.io/docs/data-transformers
161
+ */
162
+ transformer(_transformer: DataTransformerOptions): Router<TInputContext, TContext, TMeta, TQueries, TMutations, TSubscriptions, TErrorShape>;
163
+ /**
164
+ * Flattens the generics of TQueries/TMutations/TSubscriptions.
165
+ * ⚠️ Experimental - might disappear. ⚠️
166
+ *
167
+ * @alpha
168
+ */
169
+ flat(): Router<TInputContext, TContext, TMeta, flatten<{}, TQueries>, flatten<{}, TMutations>, flatten<{}, TSubscriptions>, TErrorShape>;
170
+ }
171
+ export declare function router<TContext, TMeta extends Record<string, any> = {}>(): Router<TContext, TContext, TMeta, {}, {}, {}, DefaultErrorShape>;
172
+ export {};
173
+ //# sourceMappingURL=router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}