@trpc/server 10.0.0-alpha.9 → 10.0.0-proxy-alpha.54

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