@trpc/server 10.0.0-alpha.4 → 10.0.0-alpha.42

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 (345) hide show
  1. package/README.md +79 -1
  2. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.d.ts +1 -0
  3. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.dev.js +190 -0
  4. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.js +7 -0
  5. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.prod.js +190 -0
  6. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.esm.js +186 -0
  7. package/adapters/aws-lambda/index.d.ts +1 -0
  8. package/adapters/aws-lambda/index.js +1 -0
  9. package/adapters/express/dist/trpc-server-adapters-express.cjs.dev.js +7 -6
  10. package/adapters/express/dist/trpc-server-adapters-express.cjs.prod.js +7 -6
  11. package/adapters/express/dist/trpc-server-adapters-express.esm.js +7 -6
  12. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.d.ts +1 -0
  13. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.dev.js +109 -0
  14. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.js +7 -0
  15. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.prod.js +109 -0
  16. package/adapters/fastify/dist/trpc-server-adapters-fastify.esm.js +104 -0
  17. package/adapters/fastify/index.d.ts +1 -0
  18. package/adapters/fastify/index.js +1 -0
  19. package/adapters/fetch/index.d.ts +1 -0
  20. package/adapters/fetch/index.js +1 -0
  21. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.d.ts +1 -0
  22. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.dev.js +25 -0
  23. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.js +7 -0
  24. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.prod.js +25 -0
  25. package/adapters/lambda/dist/trpc-server-adapters-lambda.esm.js +21 -0
  26. package/adapters/next/dist/trpc-server-adapters-next.cjs.dev.js +4 -3
  27. package/adapters/next/dist/trpc-server-adapters-next.cjs.prod.js +4 -3
  28. package/adapters/next/dist/trpc-server-adapters-next.esm.js +4 -3
  29. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.dev.js +4 -3
  30. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.prod.js +4 -3
  31. package/adapters/node-http/dist/trpc-server-adapters-node-http.esm.js +4 -3
  32. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.dev.js +5 -4
  33. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.prod.js +5 -4
  34. package/adapters/standalone/dist/trpc-server-adapters-standalone.esm.js +5 -4
  35. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.dev.js +6 -5
  36. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.prod.js +6 -5
  37. package/adapters/ws/dist/trpc-server-adapters-ws.esm.js +6 -5
  38. package/dist/TRPCError-9050a68d.js +69 -0
  39. package/dist/TRPCError-97212592.mjs +65 -0
  40. package/dist/adapters/aws-lambda/index.d.ts +14 -0
  41. package/dist/adapters/aws-lambda/index.d.ts.map +1 -0
  42. package/dist/adapters/aws-lambda/index.js +190 -0
  43. package/dist/adapters/aws-lambda/index.mjs +186 -0
  44. package/dist/{ws → adapters/aws-lambda}/index.ts.js +0 -0
  45. package/dist/adapters/aws-lambda/utils.d.ts +35 -0
  46. package/dist/adapters/aws-lambda/utils.d.ts.map +1 -0
  47. package/dist/adapters/express.d.ts +1 -1
  48. package/dist/adapters/express.d.ts.map +1 -1
  49. package/dist/adapters/express.js +8 -7
  50. package/dist/adapters/express.mjs +8 -7
  51. package/dist/adapters/fastify/fastifyRequestHandler.d.ts +13 -0
  52. package/dist/adapters/fastify/fastifyRequestHandler.d.ts.map +1 -0
  53. package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts +12 -0
  54. package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts.map +1 -0
  55. package/dist/adapters/fastify/index.d.ts +3 -0
  56. package/dist/adapters/fastify/index.d.ts.map +1 -0
  57. package/dist/adapters/fastify/index.js +108 -0
  58. package/dist/adapters/fastify/index.mjs +103 -0
  59. package/dist/adapters/fastify/index.ts.js +1 -0
  60. package/dist/adapters/fetch/fetchRequestHandler.d.ts +8 -0
  61. package/dist/adapters/fetch/fetchRequestHandler.d.ts.map +1 -0
  62. package/dist/adapters/fetch/index.d.ts +3 -0
  63. package/dist/adapters/fetch/index.d.ts.map +1 -0
  64. package/dist/adapters/fetch/index.js +69 -0
  65. package/dist/adapters/fetch/index.mjs +65 -0
  66. package/dist/adapters/fetch/index.ts.js +1 -0
  67. package/dist/adapters/fetch/types.d.ts +21 -0
  68. package/dist/adapters/fetch/types.d.ts.map +1 -0
  69. package/dist/adapters/lambda/index.d.ts +12 -0
  70. package/dist/adapters/lambda/index.d.ts.map +1 -0
  71. package/dist/adapters/next.d.ts +2 -2
  72. package/dist/adapters/next.d.ts.map +1 -1
  73. package/dist/adapters/next.js +9 -9
  74. package/dist/adapters/next.mjs +8 -8
  75. package/dist/adapters/node-http/index.js +5 -4
  76. package/dist/adapters/node-http/index.mjs +5 -4
  77. package/dist/adapters/node-http/internals/getPostBody.d.ts +1 -1
  78. package/dist/adapters/node-http/internals/getPostBody.d.ts.map +1 -1
  79. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts +2 -2
  80. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +1 -1
  81. package/dist/adapters/node-http/types.d.ts +11 -9
  82. package/dist/adapters/node-http/types.d.ts.map +1 -1
  83. package/dist/adapters/standalone.d.ts +2 -2
  84. package/dist/adapters/standalone.d.ts.map +1 -1
  85. package/dist/adapters/standalone.js +11 -7
  86. package/dist/adapters/standalone.mjs +11 -6
  87. package/dist/adapters/ws.d.ts +8 -6
  88. package/dist/adapters/ws.d.ts.map +1 -1
  89. package/dist/adapters/ws.js +123 -90
  90. package/dist/adapters/ws.mjs +118 -85
  91. package/dist/assertNotBrowser.d.ts.map +1 -1
  92. package/dist/core/index.d.ts +6 -0
  93. package/dist/core/index.d.ts.map +1 -0
  94. package/dist/core/initTRPC.d.ts +87 -0
  95. package/dist/core/initTRPC.d.ts.map +1 -0
  96. package/dist/core/internals/__generated__/mergeRoutersGeneric.d.ts +282 -0
  97. package/dist/core/internals/__generated__/mergeRoutersGeneric.d.ts.map +1 -0
  98. package/dist/core/internals/config.d.ts +36 -0
  99. package/dist/core/internals/config.d.ts.map +1 -0
  100. package/dist/core/internals/getParseFn.d.ts +9 -0
  101. package/dist/core/internals/getParseFn.d.ts.map +1 -0
  102. package/dist/core/internals/mergeRouters.d.ts +3 -0
  103. package/dist/core/internals/mergeRouters.d.ts.map +1 -0
  104. package/dist/core/internals/mergeWithoutOverrides.d.ts +5 -0
  105. package/dist/core/internals/mergeWithoutOverrides.d.ts.map +1 -0
  106. package/dist/core/internals/omitPrototype.d.ts +6 -0
  107. package/dist/core/internals/omitPrototype.d.ts.map +1 -0
  108. package/dist/core/internals/prefixObjectKeys.d.ts +2 -0
  109. package/dist/core/internals/prefixObjectKeys.d.ts.map +1 -0
  110. package/dist/core/internals/procedureBuilder.d.ts +122 -0
  111. package/dist/core/internals/procedureBuilder.d.ts.map +1 -0
  112. package/dist/core/internals/utils.d.ts +44 -0
  113. package/dist/core/internals/utils.d.ts.map +1 -0
  114. package/dist/core/middleware.d.ts +87 -0
  115. package/dist/core/middleware.d.ts.map +1 -0
  116. package/dist/core/parser.d.ts +25 -0
  117. package/dist/core/parser.d.ts.map +1 -0
  118. package/dist/core/procedure.d.ts +88 -0
  119. package/dist/core/procedure.d.ts.map +1 -0
  120. package/dist/core/router.d.ts +128 -0
  121. package/dist/core/router.d.ts.map +1 -0
  122. package/dist/core/types.d.ts +19 -0
  123. package/dist/core/types.d.ts.map +1 -0
  124. package/dist/{internals → deprecated/internals}/callProcedure.d.ts +5 -2
  125. package/dist/deprecated/internals/callProcedure.d.ts.map +1 -0
  126. package/dist/{internals → deprecated/internals}/middlewares.d.ts +21 -3
  127. package/dist/deprecated/internals/middlewares.d.ts.map +1 -0
  128. package/dist/deprecated/internals/procedure.d.ts +96 -0
  129. package/dist/deprecated/internals/procedure.d.ts.map +1 -0
  130. package/dist/deprecated/interop.d.ts +34 -0
  131. package/dist/deprecated/interop.d.ts.map +1 -0
  132. package/dist/deprecated/router.d.ts +194 -0
  133. package/dist/deprecated/router.d.ts.map +1 -0
  134. package/dist/{codes-7a3d4f65.mjs → envelopes-af8c2959.mjs} +30 -1
  135. package/dist/{codes-7f46544e.js → envelopes-b6dd0367.js} +29 -1
  136. package/dist/error/TRPCError.d.ts +11 -0
  137. package/dist/error/TRPCError.d.ts.map +1 -0
  138. package/dist/error/formatter.d.ts +33 -0
  139. package/dist/error/formatter.d.ts.map +1 -0
  140. package/dist/{internals/errors.d.ts → error/utils.d.ts} +3 -2
  141. package/dist/error/utils.d.ts.map +1 -0
  142. package/dist/http/index.d.ts +1 -1
  143. package/dist/http/index.d.ts.map +1 -1
  144. package/dist/http/internals/getHTTPStatusCode.d.ts +2 -1
  145. package/dist/http/internals/getHTTPStatusCode.d.ts.map +1 -1
  146. package/dist/http/internals/types.d.ts +11 -8
  147. package/dist/http/internals/types.d.ts.map +1 -1
  148. package/dist/http/resolveHTTPResponse.d.ts +4 -4
  149. package/dist/http/resolveHTTPResponse.d.ts.map +1 -1
  150. package/dist/http/{ResponseMeta.d.ts → types.d.ts} +1 -1
  151. package/dist/http/types.d.ts.map +1 -0
  152. package/dist/index-1a25ccbd.js +33 -0
  153. package/dist/index-a3bd54c7.mjs +31 -0
  154. package/dist/index.d.ts +4 -5
  155. package/dist/index.d.ts.map +1 -1
  156. package/dist/index.js +95 -496
  157. package/dist/index.mjs +88 -488
  158. package/dist/internals/transformTRPCResponse.d.ts +5 -3
  159. package/dist/internals/transformTRPCResponse.d.ts.map +1 -1
  160. package/dist/internals/types.d.ts +23 -0
  161. package/dist/internals/types.d.ts.map +1 -0
  162. package/dist/internals.d.ts +11 -0
  163. package/dist/internals.d.ts.map +1 -0
  164. package/dist/nodeHTTPRequestHandler-65cf2218.mjs +105 -0
  165. package/dist/nodeHTTPRequestHandler-6b7c8622.js +107 -0
  166. package/dist/observable/index.d.ts +5 -0
  167. package/dist/observable/index.d.ts.map +1 -0
  168. package/dist/observable/index.js +204 -0
  169. package/dist/observable/index.mjs +195 -0
  170. package/dist/observable/index.ts.js +1 -0
  171. package/dist/observable/internals/identity.d.ts +2 -0
  172. package/dist/observable/internals/identity.d.ts.map +1 -0
  173. package/dist/observable/internals/observableToPromise.d.ts +10 -0
  174. package/dist/observable/internals/observableToPromise.d.ts.map +1 -0
  175. package/dist/observable/internals/pipe.d.ts +4 -0
  176. package/dist/observable/internals/pipe.d.ts.map +1 -0
  177. package/dist/observable/observable.d.ts +5 -0
  178. package/dist/observable/observable.d.ts.map +1 -0
  179. package/dist/observable/operators/index.d.ts +4 -0
  180. package/dist/observable/operators/index.d.ts.map +1 -0
  181. package/dist/observable/operators/map.d.ts +3 -0
  182. package/dist/observable/operators/map.d.ts.map +1 -0
  183. package/dist/observable/operators/share.d.ts +6 -0
  184. package/dist/observable/operators/share.d.ts.map +1 -0
  185. package/dist/observable/operators/tap.d.ts +3 -0
  186. package/dist/observable/operators/tap.d.ts.map +1 -0
  187. package/dist/observable/types.d.ts +29 -0
  188. package/dist/observable/types.d.ts.map +1 -0
  189. package/dist/observable-341a0506.js +109 -0
  190. package/dist/observable-cfedfa30.mjs +106 -0
  191. package/dist/{nodeHTTPRequestHandler-10e6d2f9.mjs → resolveHTTPResponse-95634936.mjs} +32 -133
  192. package/dist/{nodeHTTPRequestHandler-d7c307d3.js → resolveHTTPResponse-fcc8f644.js} +37 -139
  193. package/dist/router-6665b0ee.mjs +1093 -0
  194. package/dist/router-9d12560f.js +1103 -0
  195. package/dist/rpc/codes.d.ts +2 -0
  196. package/dist/rpc/codes.d.ts.map +1 -1
  197. package/dist/rpc/envelopes.d.ts +62 -40
  198. package/dist/rpc/envelopes.d.ts.map +1 -1
  199. package/dist/rpc/index.js +7 -3
  200. package/dist/rpc/index.mjs +1 -1
  201. package/dist/rpc/internals/invert.d.ts +18 -0
  202. package/dist/rpc/internals/invert.d.ts.map +1 -0
  203. package/dist/shared/createProxy/index.d.ts +12 -0
  204. package/dist/shared/createProxy/index.d.ts.map +1 -0
  205. package/dist/shared/index.d.ts +2 -0
  206. package/dist/shared/index.d.ts.map +1 -0
  207. package/dist/shared/index.js +9 -0
  208. package/dist/shared/index.mjs +1 -0
  209. package/dist/shared/index.ts.js +1 -0
  210. package/dist/subscription.d.ts +3 -52
  211. package/dist/subscription.d.ts.map +1 -1
  212. package/dist/subscription.js +44 -0
  213. package/dist/subscription.mjs +40 -0
  214. package/dist/subscription.ts.js +1 -0
  215. package/dist/transformTRPCResponse-0c261655.js +29 -0
  216. package/dist/transformTRPCResponse-747b9a68.mjs +27 -0
  217. package/dist/transformer.d.ts +14 -0
  218. package/dist/transformer.d.ts.map +1 -1
  219. package/dist/types.d.ts +35 -8
  220. package/dist/types.d.ts.map +1 -1
  221. package/observable/index.d.ts +1 -0
  222. package/observable/index.js +1 -0
  223. package/package.json +57 -16
  224. package/rpc/dist/trpc-server-rpc.cjs.dev.js +1 -1
  225. package/rpc/dist/trpc-server-rpc.cjs.prod.js +1 -1
  226. package/rpc/dist/trpc-server-rpc.esm.js +1 -1
  227. package/shared/index.d.ts +1 -0
  228. package/shared/index.js +1 -0
  229. package/src/adapters/aws-lambda/index.ts +173 -0
  230. package/src/adapters/aws-lambda/utils.ts +92 -0
  231. package/src/adapters/express.ts +4 -4
  232. package/src/adapters/fastify/fastifyRequestHandler.ts +77 -0
  233. package/src/adapters/fastify/fastifyTRPCPlugin.ts +56 -0
  234. package/src/adapters/fastify/index.ts +2 -0
  235. package/src/adapters/fetch/fetchRequestHandler.ts +61 -0
  236. package/src/adapters/fetch/index.ts +2 -0
  237. package/src/adapters/fetch/types.ts +28 -0
  238. package/src/adapters/lambda/index.ts +18 -0
  239. package/src/adapters/next.ts +10 -8
  240. package/src/adapters/node-http/internals/getPostBody.test.ts +2 -1
  241. package/src/adapters/node-http/internals/getPostBody.ts +1 -1
  242. package/src/adapters/node-http/nodeHTTPRequestHandler.ts +7 -7
  243. package/src/adapters/node-http/types.ts +11 -9
  244. package/src/adapters/standalone.ts +12 -4
  245. package/src/adapters/ws.ts +135 -91
  246. package/src/assertNotBrowser.ts +1 -0
  247. package/src/core/index.ts +11 -0
  248. package/src/core/initTRPC.ts +95 -0
  249. package/src/core/internals/__generated__/mergeRoutersGeneric.ts +386 -0
  250. package/src/core/internals/config.ts +43 -0
  251. package/src/core/internals/getParseFn.ts +47 -0
  252. package/src/core/internals/mergeRouters.ts +45 -0
  253. package/src/core/internals/mergeWithoutOverrides.ts +19 -0
  254. package/src/core/internals/omitPrototype.ts +9 -0
  255. package/src/core/internals/prefixObjectKeys.ts +9 -0
  256. package/src/core/internals/procedureBuilder.ts +398 -0
  257. package/src/core/internals/utils.ts +64 -0
  258. package/src/core/middleware.ts +96 -0
  259. package/src/core/parser.ts +45 -0
  260. package/src/core/procedure.ts +120 -0
  261. package/src/core/router.ts +366 -0
  262. package/src/core/types.ts +58 -0
  263. package/src/{internals → deprecated/internals}/callProcedure.ts +9 -3
  264. package/src/{internals → deprecated/internals}/middlewares.ts +23 -3
  265. package/src/deprecated/internals/procedure.ts +415 -0
  266. package/src/deprecated/interop.ts +229 -0
  267. package/src/{router.ts → deprecated/router.ts} +219 -104
  268. package/src/{TRPCError.ts → error/TRPCError.ts} +6 -14
  269. package/src/error/formatter.ts +51 -0
  270. package/src/{internals/errors.ts → error/utils.ts} +21 -5
  271. package/src/http/index.ts +1 -1
  272. package/src/http/internals/getHTTPStatusCode.ts +3 -2
  273. package/src/http/internals/types.ts +11 -14
  274. package/src/http/resolveHTTPResponse.ts +29 -38
  275. package/src/http/{ResponseMeta.ts → types.ts} +0 -0
  276. package/src/index.ts +4 -7
  277. package/src/internals/transformTRPCResponse.ts +21 -16
  278. package/src/internals/types.ts +24 -0
  279. package/src/internals.ts +14 -0
  280. package/src/observable/index.ts +4 -0
  281. package/src/observable/internals/identity.ts +3 -0
  282. package/src/observable/internals/observableToPromise.ts +49 -0
  283. package/src/observable/internals/pipe.ts +23 -0
  284. package/src/observable/observable.test.ts +101 -0
  285. package/src/observable/observable.ts +78 -0
  286. package/src/observable/operators/index.ts +3 -0
  287. package/src/observable/operators/map.test.ts +92 -0
  288. package/src/observable/operators/map.ts +25 -0
  289. package/src/observable/operators/share.test.ts +60 -0
  290. package/src/observable/operators/share.ts +67 -0
  291. package/src/observable/operators/tap.ts +26 -0
  292. package/src/observable/types.ts +69 -0
  293. package/src/rpc/codes.ts +2 -1
  294. package/src/rpc/envelopes.ts +88 -69
  295. package/src/rpc/internals/invert.ts +27 -0
  296. package/src/shared/createProxy/index.ts +38 -0
  297. package/src/shared/index.ts +1 -0
  298. package/src/subscription.ts +7 -125
  299. package/src/transformer.ts +28 -0
  300. package/src/types.ts +40 -9
  301. package/dist/TRPCError.d.ts +0 -19
  302. package/dist/TRPCError.d.ts.map +0 -1
  303. package/dist/deprecated/LegacyRouter.d.ts +0 -3
  304. package/dist/deprecated/LegacyRouter.d.ts.map +0 -1
  305. package/dist/deprecated/createHttpServer.d.ts +0 -19
  306. package/dist/deprecated/createHttpServer.d.ts.map +0 -1
  307. package/dist/deprecated/requestHandler.d.ts +0 -15
  308. package/dist/deprecated/requestHandler.d.ts.map +0 -1
  309. package/dist/http/ResponseMeta.d.ts.map +0 -1
  310. package/dist/internals/BaseHandlerOptions.d.ts +0 -13
  311. package/dist/internals/BaseHandlerOptions.d.ts.map +0 -1
  312. package/dist/internals/OnErrorFunction.d.ts +0 -11
  313. package/dist/internals/OnErrorFunction.d.ts.map +0 -1
  314. package/dist/internals/callProcedure.d.ts.map +0 -1
  315. package/dist/internals/errors.d.ts.map +0 -1
  316. package/dist/internals/middlewares.d.ts.map +0 -1
  317. package/dist/internals/procedure.d.ts +0 -74
  318. package/dist/internals/procedure.d.ts.map +0 -1
  319. package/dist/internals/wrapCallSafe.d.ts +0 -16
  320. package/dist/internals/wrapCallSafe.d.ts.map +0 -1
  321. package/dist/router.d.ts +0 -176
  322. package/dist/router.d.ts.map +0 -1
  323. package/dist/subscription-5b7e1eba.js +0 -136
  324. package/dist/subscription-e1d42e69.mjs +0 -133
  325. package/dist/transformTRPCResponse-76e0c91e.mjs +0 -109
  326. package/dist/transformTRPCResponse-bd24f548.js +0 -114
  327. package/dist/ws/index.d.ts +0 -7
  328. package/dist/ws/index.d.ts.map +0 -1
  329. package/dist/ws/index.js +0 -15
  330. package/dist/ws/index.mjs +0 -11
  331. package/src/deprecated/LegacyRouter.ts +0 -3
  332. package/src/deprecated/createHttpServer.ts +0 -29
  333. package/src/deprecated/requestHandler.ts +0 -26
  334. package/src/internals/BaseHandlerOptions.ts +0 -13
  335. package/src/internals/OnErrorFunction.ts +0 -11
  336. package/src/internals/procedure.ts +0 -283
  337. package/src/internals/wrapCallSafe.ts +0 -19
  338. package/src/ws/index.ts +0 -8
  339. package/ws/dist/trpc-server-ws.cjs.d.ts +0 -1
  340. package/ws/dist/trpc-server-ws.cjs.dev.js +0 -15
  341. package/ws/dist/trpc-server-ws.cjs.js +0 -7
  342. package/ws/dist/trpc-server-ws.cjs.prod.js +0 -15
  343. package/ws/dist/trpc-server-ws.esm.js +0 -11
  344. package/ws/index.d.ts +0 -1
  345. package/ws/index.js +0 -1
package/dist/index.js CHANGED
@@ -2,531 +2,130 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var nodeHTTPRequestHandler = require('./nodeHTTPRequestHandler-d7c307d3.js');
6
- var subscription = require('./subscription-5b7e1eba.js');
7
- var transformTRPCResponse = require('./transformTRPCResponse-bd24f548.js');
8
- var adapters_standalone = require('./adapters/standalone.js');
9
- var codes = require('./codes-7f46544e.js');
10
- require('url');
11
- require('events');
12
- require('http');
13
-
14
- nodeHTTPRequestHandler.assertNotBrowser();
5
+ var resolveHTTPResponse = require('./resolveHTTPResponse-fcc8f644.js');
6
+ var router = require('./router-9d12560f.js');
7
+ var TRPCError = require('./TRPCError-9050a68d.js');
8
+ require('./transformTRPCResponse-0c261655.js');
9
+ require('./envelopes-b6dd0367.js');
10
+ require('./index-1a25ccbd.js');
11
+
12
+ function mergeRouters(...routerList) {
13
+ const record = router.mergeWithoutOverrides({}, ...routerList.map(r => r._def.record));
14
+ const errorFormatter = routerList.reduce((currentErrorFormatter, nextRouter) => {
15
+ if (nextRouter.errorFormatter && nextRouter.errorFormatter !== router.defaultFormatter) {
16
+ if (currentErrorFormatter !== router.defaultFormatter && currentErrorFormatter !== nextRouter.errorFormatter) {
17
+ throw new Error('You seem to have several error formatters');
18
+ }
15
19
 
16
- // this has been moved to separate package
20
+ return nextRouter.errorFormatter;
21
+ }
17
22
 
18
- /**
19
- * @deprecated use `createHTTPServer` from `@trpc/server/adapters/standalone`
20
- */
21
- const createHttpServer = adapters_standalone.createHTTPServer;
22
- /**
23
- * @deprecated use `createHTTPHandler` from `@trpc/server/adapters/standalone`
24
- */
23
+ return currentErrorFormatter;
24
+ }, router.defaultFormatter);
25
+ const transformer = routerList.reduce((prev, current) => {
26
+ if (current.transformer && current.transformer !== router.defaultTransformer) {
27
+ if (prev !== router.defaultTransformer && prev !== current.transformer) {
28
+ throw new Error('You seem to have several transformers');
29
+ }
25
30
 
26
- const createHttpHandler = adapters_standalone.createHTTPHandler;
27
- /**
28
- * @deprecated use `CreateHTTPHandlerOptions` from `@trpc/server/adapters/standalone`
29
- */
31
+ return current.transformer;
32
+ }
30
33
 
31
- /**
32
- * @deprecated use `nodeHTTPRequestHandler` from `@trpc/server/adapters/node-http`
33
- */
34
- const requestHandler = nodeHTTPRequestHandler.nodeHTTPRequestHandler;
35
- /**
36
- * @deprecated use `NodeHTTPCreateContextFn` from `@trpc/server/adapters/node-http`
37
- */
34
+ return prev;
35
+ }, router.defaultTransformer);
36
+ const router$1 = router.createRouterFactory({
37
+ errorFormatter,
38
+ transformer
39
+ })(record);
40
+ return router$1;
41
+ }
38
42
 
39
- const middlewareMarker = /*#__PURE__*/Symbol('middlewareMarker');
43
+ function mergeRoutersGeneric(...args) {
44
+ return mergeRouters(...args);
45
+ }
40
46
 
41
47
  /**
42
- * Wrap a function in a safe wrapper that never throws
43
- * Returns a discriminated union
48
+ * @internal
44
49
  */
45
- async function wrapCallSafe(fn) {
46
- try {
47
- const data = await fn();
48
- return {
49
- ok: true,
50
- data
51
- };
52
- } catch (cause) {
53
- return {
54
- ok: false,
55
- error: cause
56
- };
57
- }
58
- }
59
-
60
- /* eslint-disable @typescript-eslint/no-explicit-any */
61
- nodeHTTPRequestHandler.assertNotBrowser();
62
50
 
63
- function getParseFn(inputParser) {
64
- const parser = inputParser;
65
-
66
- if (typeof parser === 'function') {
67
- // ProcedureInputParserCustomValidatorEsque
68
- return parser;
69
- }
70
-
71
- if (typeof parser.parseAsync === 'function') {
72
- // ProcedureInputParserZodEsque
73
- return parser.parseAsync.bind(parser);
74
- }
75
-
76
- if (typeof parser.parse === 'function') {
77
- // ProcedureInputParserZodEsque
78
- return parser.parse.bind(parser);
79
- }
80
-
81
- if (typeof parser.validateSync === 'function') {
82
- // ProcedureInputParserYupEsque
83
- return parser.validateSync.bind(parser);
84
- }
85
-
86
- if (typeof parser.create === 'function') {
87
- // ProcedureInputParserSuperstructEsque
88
- return parser.create.bind(parser);
89
- }
90
-
91
- throw new Error('Could not find a validator fn');
92
- }
93
51
  /**
94
52
  * @internal
95
53
  */
96
54
 
97
-
98
- class Procedure {
99
- constructor(opts) {
100
- this.middlewares = void 0;
101
- this.resolver = void 0;
102
- this.inputParser = void 0;
103
- this.parse = void 0;
104
- this.middlewares = opts.middlewares;
105
- this.resolver = opts.resolver;
106
- this.inputParser = opts.inputParser;
107
- this.parse = getParseFn(this.inputParser);
108
- }
109
-
110
- async parseInput(rawInput) {
111
- try {
112
- return await this.parse(rawInput);
113
- } catch (cause) {
114
- throw new transformTRPCResponse.TRPCError({
115
- code: 'BAD_REQUEST',
116
- cause
117
- });
118
- }
119
- }
120
- /**
121
- * Trigger middlewares in order, parse raw input & call resolver
122
- * @internal
123
- */
124
-
125
-
126
- async call(opts) {
127
- // wrap the actual resolver and treat as the last "middleware"
128
- const middlewaresWithResolver = this.middlewares.concat([async ({
129
- ctx
130
- }) => {
131
- const input = await this.parseInput(opts.rawInput);
132
- const data = await this.resolver({ ...opts,
133
- ctx,
134
- input
135
- });
136
- return {
137
- marker: middlewareMarker,
138
- ok: true,
139
- data,
140
- ctx
141
- };
142
- }]); // create `next()` calls in resolvers
143
-
144
- const nextFns = middlewaresWithResolver.map((fn, index) => {
145
- return async nextOpts => {
146
- const res = await wrapCallSafe(() => fn({
147
- ctx: nextOpts ? nextOpts.ctx : opts.ctx,
148
- type: opts.type,
149
- path: opts.path,
150
- rawInput: opts.rawInput,
151
- next: nextFns[index + 1]
152
- }));
153
-
154
- if (res.ok) {
155
- return res.data;
156
- }
157
-
158
- return {
159
- ok: false,
160
- error: transformTRPCResponse.getErrorFromUnknown(res.error)
161
- };
162
- };
163
- }); // there's always at least one "next" since we wrap this.resolver in a middleware
164
-
165
- const result = await nextFns[0]();
166
-
167
- if (!result) {
168
- throw new transformTRPCResponse.TRPCError({
169
- code: 'INTERNAL_SERVER_ERROR',
170
- message: 'No result from middlewares - did you forget to `return next()`?'
171
- });
172
- }
173
-
174
- if (!result.ok) {
175
- // re-throw original error
176
- throw result.error;
177
- }
178
-
179
- return result.data;
180
- }
181
- /**
182
- * Create new procedure with passed middlewares
183
- * @param middlewares
184
- */
185
-
186
-
187
- inheritMiddlewares(middlewares) {
188
- const Constructor = this.constructor;
189
- const instance = new Constructor({
190
- middlewares: [...middlewares, ...this.middlewares],
191
- resolver: this.resolver,
192
- inputParser: this.inputParser
193
- });
194
- return instance;
195
- }
196
-
197
- }
198
- function createProcedure(opts) {
199
- const inputParser = 'input' in opts ? opts.input : input => {
200
- if (input != null) {
201
- throw new transformTRPCResponse.TRPCError({
202
- code: 'BAD_REQUEST',
203
- message: 'No input expected'
204
- });
205
- }
206
-
207
- return undefined;
208
- };
209
- return new Procedure({
210
- inputParser: inputParser,
211
- resolver: opts.resolve,
212
- middlewares: []
213
- });
214
- }
215
-
216
- /* eslint-disable @typescript-eslint/ban-types */
217
- nodeHTTPRequestHandler.assertNotBrowser();
218
55
  /**
219
- * @public
56
+ * @internal
220
57
  */
221
58
 
222
- function getDataTransformer(transformer) {
223
- if ('input' in transformer) {
224
- return transformer;
225
- }
226
-
227
- return {
228
- input: transformer,
229
- output: transformer
230
- };
231
- }
232
59
  /**
233
60
  * @internal
234
61
  */
235
62
 
236
-
237
- const PROCEDURE_DEFINITION_MAP = {
238
- query: 'queries',
239
- mutation: 'mutations',
240
- subscription: 'subscriptions'
241
- };
242
63
  /**
243
64
  * @internal
244
65
  */
245
66
 
246
- function safeObject(...args) {
247
- return Object.assign(Object.create(null), ...args);
248
- }
249
-
250
- const defaultFormatter = ({
251
- shape
252
- }) => {
253
- return shape;
254
- };
255
-
256
- const defaultTransformer = {
257
- input: {
258
- serialize: obj => obj,
259
- deserialize: obj => obj
260
- },
261
- output: {
262
- serialize: obj => obj,
263
- deserialize: obj => obj
264
- }
265
- };
266
-
267
67
  /**
268
- * @internal The type signature of this class may change without warning.
68
+ * @internal
269
69
  */
270
- class Router {
271
- constructor(def) {
272
- var _def$queries, _def$mutations, _def$subscriptions, _def$middlewares, _def$errorFormatter, _def$transformer;
273
-
274
- this._def = void 0;
275
- this._def = {
276
- queries: (_def$queries = def === null || def === void 0 ? void 0 : def.queries) !== null && _def$queries !== void 0 ? _def$queries : safeObject(),
277
- mutations: (_def$mutations = def === null || def === void 0 ? void 0 : def.mutations) !== null && _def$mutations !== void 0 ? _def$mutations : safeObject(),
278
- subscriptions: (_def$subscriptions = def === null || def === void 0 ? void 0 : def.subscriptions) !== null && _def$subscriptions !== void 0 ? _def$subscriptions : safeObject(),
279
- middlewares: (_def$middlewares = def === null || def === void 0 ? void 0 : def.middlewares) !== null && _def$middlewares !== void 0 ? _def$middlewares : [],
280
- errorFormatter: (_def$errorFormatter = def === null || def === void 0 ? void 0 : def.errorFormatter) !== null && _def$errorFormatter !== void 0 ? _def$errorFormatter : defaultFormatter,
281
- transformer: (_def$transformer = def === null || def === void 0 ? void 0 : def.transformer) !== null && _def$transformer !== void 0 ? _def$transformer : defaultTransformer
282
- };
283
- }
284
-
285
- static prefixProcedures(procedures, prefix) {
286
- const eps = safeObject();
287
-
288
- for (const key in procedures) {
289
- eps[prefix + key] = procedures[key];
290
- }
291
-
292
- return eps;
293
- }
294
-
295
- query(path, procedure) {
296
- const router = new Router({
297
- queries: safeObject({
298
- [path]: createProcedure(procedure)
299
- })
300
- });
301
- return this.merge(router);
302
- }
303
-
304
- mutation(path, procedure) {
305
- const router = new Router({
306
- mutations: safeObject({
307
- [path]: createProcedure(procedure)
308
- })
309
- });
310
- return this.merge(router);
311
- }
312
- /**
313
- * @beta Might change without a major version bump
314
- */
315
-
316
-
317
- subscription(path, procedure) {
318
- const router = new Router({
319
- subscriptions: safeObject({
320
- [path]: createProcedure(procedure)
321
- })
322
- });
323
- return this.merge(router);
324
- }
325
- /**
326
- * Merge router with other router
327
- * @param router
328
- */
329
-
330
-
331
- merge(prefixOrRouter, maybeRouter) {
332
- let prefix = '';
333
- let childRouter;
334
-
335
- if (typeof prefixOrRouter === 'string' && maybeRouter instanceof Router) {
336
- prefix = prefixOrRouter;
337
- childRouter = maybeRouter;
338
- } else if (prefixOrRouter instanceof Router) {
339
- childRouter = prefixOrRouter;
340
- }
341
- /* istanbul ignore next */
342
- else {
343
- throw new Error('Invalid args');
344
- }
345
-
346
- const duplicateQueries = Object.keys(childRouter._def.queries).filter(key => !!this._def['queries'][prefix + key]);
347
- const duplicateMutations = Object.keys(childRouter._def.mutations).filter(key => !!this._def['mutations'][prefix + key]);
348
- const duplicateSubscriptions = Object.keys(childRouter._def.subscriptions).filter(key => !!this._def['subscriptions'][prefix + key]);
349
- const duplicates = [...duplicateQueries, ...duplicateMutations, ...duplicateSubscriptions];
350
-
351
- if (duplicates.length) {
352
- throw new Error(`Duplicate endpoint(s): ${duplicates.join(', ')}`);
353
- }
354
-
355
- const mergeProcedures = defs => {
356
- const newDefs = safeObject();
357
-
358
- for (const key in defs) {
359
- const procedure = defs[key];
360
- const newProcedure = procedure.inheritMiddlewares(this._def.middlewares);
361
- newDefs[key] = newProcedure;
362
- }
70
+ // FIXME this should use RootConfig
71
+ function createMiddlewareFactory() {
72
+ return function createMiddleware(fn) {
73
+ return fn;
74
+ };
75
+ }
363
76
 
364
- return Router.prefixProcedures(newDefs, prefix);
77
+ /* eslint-disable @typescript-eslint/ban-types */
78
+ function initTRPC() {
79
+ return function initTRPCInner(options) {
80
+ var _options$errorFormatt, _options$transformer;
81
+
82
+ const errorFormatter = (_options$errorFormatt = options === null || options === void 0 ? void 0 : options.errorFormatter) !== null && _options$errorFormatt !== void 0 ? _options$errorFormatt : router.defaultFormatter;
83
+ const transformer = router.getDataTransformer((_options$transformer = options === null || options === void 0 ? void 0 : options.transformer) !== null && _options$transformer !== void 0 ? _options$transformer : router.defaultTransformer);
84
+ const _config = {
85
+ transformer,
86
+ errorShape: null,
87
+ ctx: null,
88
+ meta: null
365
89
  };
366
-
367
- return new Router({ ...this._def,
368
- queries: safeObject(this._def.queries, mergeProcedures(childRouter._def.queries)),
369
- mutations: safeObject(this._def.mutations, mergeProcedures(childRouter._def.mutations)),
370
- subscriptions: safeObject(this._def.subscriptions, mergeProcedures(childRouter._def.subscriptions))
371
- });
372
- }
373
- /**
374
- * Invoke procedure. Only for internal use within library.
375
- */
376
-
377
-
378
- async call(opts) {
379
- const {
380
- type,
381
- path
382
- } = opts;
383
- const defTarget = PROCEDURE_DEFINITION_MAP[type];
384
- const defs = this._def[defTarget];
385
- const procedure = defs[path];
386
-
387
- if (!procedure) {
388
- throw new transformTRPCResponse.TRPCError({
389
- code: 'NOT_FOUND',
390
- message: `No "${type}"-procedure on path "${path}"`
391
- });
392
- }
393
-
394
- return procedure.call(opts);
395
- }
396
-
397
- createCaller(ctx) {
398
90
  return {
399
- query: (path, ...args) => {
400
- return this.call({
401
- type: 'query',
402
- ctx,
403
- path,
404
- rawInput: args[0]
405
- });
406
- },
407
- mutation: (path, ...args) => {
408
- return this.call({
409
- type: 'mutation',
410
- ctx,
411
- path,
412
- rawInput: args[0]
413
- });
414
- },
415
- subscription: (path, ...args) => {
416
- return this.call({
417
- type: 'subscription',
418
- ctx,
419
- path,
420
- rawInput: args[0]
421
- });
422
- }
423
- };
424
- }
425
- /**
426
- * Function to be called before any procedure is invoked
427
- * @link https://trpc.io/docs/middlewares
428
- */
429
-
430
-
431
- middleware(middleware) {
432
- return new Router({ ...this._def,
433
- middlewares: [...this._def.middlewares, middleware]
434
- });
435
- }
436
- /**
437
- * Format errors
438
- * @link https://trpc.io/docs/error-formatting
439
- */
440
-
441
-
442
- formatError(errorFormatter) {
443
- if (this._def.errorFormatter !== defaultFormatter) {
444
- throw new Error('You seem to have double `formatError()`-calls in your router tree');
445
- }
446
-
447
- return new Router({ ...this._def,
448
- errorFormatter: errorFormatter
449
- });
450
- }
451
-
452
- getErrorShape(opts) {
453
- const {
454
- path,
455
- error
456
- } = opts;
457
- const {
458
- code
459
- } = opts.error;
460
- const shape = {
461
- message: error.message,
462
- code: codes.TRPC_ERROR_CODES_BY_KEY[code],
463
- data: {
464
- code,
465
- httpStatus: nodeHTTPRequestHandler.getHTTPStatusCodeFromError(error)
466
- }
91
+ /**
92
+ * These are just types, they can't be used
93
+ * @internal
94
+ */
95
+ _config,
96
+
97
+ /**
98
+ * Builder object for creating procedures
99
+ */
100
+ procedure: router.createBuilder(),
101
+
102
+ /**
103
+ * Create reusable middlewares
104
+ */
105
+ middleware: createMiddlewareFactory(),
106
+
107
+ /**
108
+ * Create a router
109
+ */
110
+ router: router.createRouterFactory({
111
+ errorFormatter,
112
+ transformer
113
+ }),
114
+
115
+ /**
116
+ * Merge Routers
117
+ */
118
+ mergeRouters: mergeRoutersGeneric
467
119
  };
468
-
469
- if (process.env.NODE_ENV !== 'production' && typeof opts.error.stack === 'string') {
470
- shape.data.stack = opts.error.stack;
471
- }
472
-
473
- if (typeof path === 'string') {
474
- shape.data.path = path;
475
- }
476
-
477
- return this._def.errorFormatter({ ...opts,
478
- shape
479
- });
480
- }
481
- /**
482
- * Add data transformer to serialize/deserialize input args + output
483
- * @link https://trpc.io/docs/data-transformers
484
- */
485
-
486
-
487
- transformer(_transformer) {
488
- const transformer = getDataTransformer(_transformer);
489
-
490
- if (this._def.transformer !== defaultTransformer) {
491
- throw new Error('You seem to have double `transformer()`-calls in your router tree');
492
- }
493
-
494
- return new Router({ ...this._def,
495
- transformer
496
- });
497
- }
498
- /**
499
- * Flattens the generics of TQueries/TMutations/TSubscriptions.
500
- * ⚠️ Experimental - might disappear. ⚠️
501
- *
502
- * @alpha
503
- */
504
-
505
-
506
- flat() {
507
- return this;
508
- }
509
-
510
- }
511
- /**
512
- * Subclass of `VNextRouter` with `TInputContext` and `TContext` set to the same type, for backcompat.
513
- *
514
- * @deprecated
515
- */
516
-
517
- class LegacyRouter extends Router {}
518
- function router() {
519
- return new Router();
120
+ };
520
121
  }
521
122
 
522
- exports.assertNotBrowser = nodeHTTPRequestHandler.assertNotBrowser;
523
- exports.resolveHTTPResponse = nodeHTTPRequestHandler.resolveHTTPResponse;
524
- exports.Subscription = subscription.Subscription;
525
- exports.subscriptionPullFactory = subscription.subscriptionPullFactory;
526
- exports.TRPCError = transformTRPCResponse.TRPCError;
527
- exports.LegacyRouter = LegacyRouter;
528
- exports.Router = LegacyRouter;
529
- exports.createHttpHandler = createHttpHandler;
530
- exports.createHttpServer = createHttpServer;
531
- exports.requestHandler = requestHandler;
532
- exports.router = router;
123
+ exports.assertNotBrowser = resolveHTTPResponse.assertNotBrowser;
124
+ exports.resolveHTTPResponse = resolveHTTPResponse.resolveHTTPResponse;
125
+ exports.callProcedure = router.callProcedure;
126
+ exports.defaultTransformer = router.defaultTransformer;
127
+ exports.getDataTransformer = router.getDataTransformer;
128
+ exports.procedureTypes = router.procedureTypes;
129
+ exports.router = router.router;
130
+ exports.TRPCError = TRPCError.TRPCError;
131
+ exports.initTRPC = initTRPC;