@trpc/server 10.0.0-alpha.3 → 10.0.0-alpha.30

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 (326) hide show
  1. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.d.ts +1 -0
  2. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.dev.js +170 -0
  3. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.js +7 -0
  4. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.prod.js +170 -0
  5. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.esm.js +166 -0
  6. package/adapters/aws-lambda/index.d.ts +1 -0
  7. package/adapters/aws-lambda/index.js +1 -0
  8. package/adapters/express/dist/trpc-server-adapters-express.cjs.dev.js +7 -6
  9. package/adapters/express/dist/trpc-server-adapters-express.cjs.prod.js +7 -6
  10. package/adapters/express/dist/trpc-server-adapters-express.esm.js +7 -6
  11. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.d.ts +1 -0
  12. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.dev.js +109 -0
  13. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.js +7 -0
  14. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.prod.js +109 -0
  15. package/adapters/fastify/dist/trpc-server-adapters-fastify.esm.js +104 -0
  16. package/adapters/fastify/index.d.ts +1 -0
  17. package/adapters/fastify/index.js +1 -0
  18. package/adapters/fetch/index.d.ts +1 -0
  19. package/adapters/fetch/index.js +1 -0
  20. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.d.ts +1 -0
  21. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.dev.js +25 -0
  22. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.js +7 -0
  23. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.prod.js +25 -0
  24. package/adapters/lambda/dist/trpc-server-adapters-lambda.esm.js +21 -0
  25. package/adapters/next/dist/trpc-server-adapters-next.cjs.dev.js +4 -3
  26. package/adapters/next/dist/trpc-server-adapters-next.cjs.prod.js +4 -3
  27. package/adapters/next/dist/trpc-server-adapters-next.esm.js +4 -3
  28. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.dev.js +4 -3
  29. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.prod.js +4 -3
  30. package/adapters/node-http/dist/trpc-server-adapters-node-http.esm.js +4 -3
  31. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.dev.js +5 -4
  32. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.prod.js +5 -4
  33. package/adapters/standalone/dist/trpc-server-adapters-standalone.esm.js +5 -4
  34. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.dev.js +6 -5
  35. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.prod.js +6 -5
  36. package/adapters/ws/dist/trpc-server-adapters-ws.esm.js +6 -5
  37. package/dist/TRPCError-9050a68d.js +69 -0
  38. package/dist/TRPCError-b7fa0c31.mjs +65 -0
  39. package/dist/adapters/aws-lambda/index.d.ts +14 -0
  40. package/dist/adapters/aws-lambda/index.d.ts.map +1 -0
  41. package/dist/adapters/aws-lambda/utils.d.ts +34 -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 +8 -7
  46. package/dist/adapters/express.mjs +8 -7
  47. package/dist/adapters/fastify/fastifyRequestHandler.d.ts +13 -0
  48. package/dist/adapters/fastify/fastifyRequestHandler.d.ts.map +1 -0
  49. package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts +12 -0
  50. package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts.map +1 -0
  51. package/dist/adapters/fastify/index.d.ts +3 -0
  52. package/dist/adapters/fastify/index.d.ts.map +1 -0
  53. package/dist/adapters/fastify/index.js +108 -0
  54. package/dist/adapters/fastify/index.mjs +103 -0
  55. package/dist/{ws → adapters/fastify}/index.ts.js +0 -0
  56. package/dist/adapters/fetch/fetchRequestHandler.d.ts +8 -0
  57. package/dist/adapters/fetch/fetchRequestHandler.d.ts.map +1 -0
  58. package/dist/adapters/fetch/index.d.ts +3 -0
  59. package/dist/adapters/fetch/index.d.ts.map +1 -0
  60. package/dist/adapters/fetch/index.js +69 -0
  61. package/dist/adapters/fetch/index.mjs +65 -0
  62. package/dist/adapters/fetch/index.ts.js +1 -0
  63. package/dist/adapters/fetch/types.d.ts +21 -0
  64. package/dist/adapters/fetch/types.d.ts.map +1 -0
  65. package/dist/adapters/lambda/index.d.ts +12 -0
  66. package/dist/adapters/lambda/index.d.ts.map +1 -0
  67. package/dist/adapters/next.d.ts +2 -2
  68. package/dist/adapters/next.d.ts.map +1 -1
  69. package/dist/adapters/next.js +9 -9
  70. package/dist/adapters/next.mjs +8 -8
  71. package/dist/adapters/node-http/index.js +5 -4
  72. package/dist/adapters/node-http/index.mjs +5 -4
  73. package/dist/adapters/node-http/internals/getPostBody.d.ts +1 -1
  74. package/dist/adapters/node-http/internals/getPostBody.d.ts.map +1 -1
  75. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts +2 -2
  76. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +1 -1
  77. package/dist/adapters/node-http/types.d.ts +11 -9
  78. package/dist/adapters/node-http/types.d.ts.map +1 -1
  79. package/dist/adapters/standalone.d.ts +2 -2
  80. package/dist/adapters/standalone.d.ts.map +1 -1
  81. package/dist/adapters/standalone.js +11 -7
  82. package/dist/adapters/standalone.mjs +11 -6
  83. package/dist/adapters/ws.d.ts +8 -6
  84. package/dist/adapters/ws.d.ts.map +1 -1
  85. package/dist/adapters/ws.js +123 -90
  86. package/dist/adapters/ws.mjs +118 -85
  87. package/dist/assertNotBrowser.d.ts.map +1 -1
  88. package/dist/core/index.d.ts +5 -0
  89. package/dist/core/index.d.ts.map +1 -0
  90. package/dist/core/initTRPC.d.ts +64 -0
  91. package/dist/core/initTRPC.d.ts.map +1 -0
  92. package/dist/core/internals/__generated__/mergeRoutersGeneric.d.ts +222 -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/internalProcedure.d.ts +78 -0
  99. package/dist/core/internals/internalProcedure.d.ts.map +1 -0
  100. package/dist/core/internals/mergeRouters.d.ts +3 -0
  101. package/dist/core/internals/mergeRouters.d.ts.map +1 -0
  102. package/dist/core/internals/mergeWithoutOverrides.d.ts +5 -0
  103. package/dist/core/internals/mergeWithoutOverrides.d.ts.map +1 -0
  104. package/dist/core/internals/omitPrototype.d.ts +6 -0
  105. package/dist/core/internals/omitPrototype.d.ts.map +1 -0
  106. package/dist/core/internals/prefixObjectKeys.d.ts +2 -0
  107. package/dist/core/internals/prefixObjectKeys.d.ts.map +1 -0
  108. package/dist/core/internals/procedureBuilder.d.ts +99 -0
  109. package/dist/core/internals/procedureBuilder.d.ts.map +1 -0
  110. package/dist/core/internals/utils.d.ts +44 -0
  111. package/dist/core/internals/utils.d.ts.map +1 -0
  112. package/dist/core/middleware.d.ts +79 -0
  113. package/dist/core/middleware.d.ts.map +1 -0
  114. package/dist/core/parser.d.ts +25 -0
  115. package/dist/core/parser.d.ts.map +1 -0
  116. package/dist/core/procedure.d.ts +69 -0
  117. package/dist/core/procedure.d.ts.map +1 -0
  118. package/dist/core/router.d.ts +104 -0
  119. package/dist/core/router.d.ts.map +1 -0
  120. package/dist/core/types.d.ts +17 -0
  121. package/dist/core/types.d.ts.map +1 -0
  122. package/dist/{internals → deprecated/internals}/callProcedure.d.ts +5 -2
  123. package/dist/deprecated/internals/callProcedure.d.ts.map +1 -0
  124. package/dist/{internals → deprecated/internals}/middlewares.d.ts +21 -3
  125. package/dist/deprecated/internals/middlewares.d.ts.map +1 -0
  126. package/dist/deprecated/internals/procedure.d.ts +96 -0
  127. package/dist/deprecated/internals/procedure.d.ts.map +1 -0
  128. package/dist/deprecated/interop.d.ts +18 -0
  129. package/dist/deprecated/interop.d.ts.map +1 -0
  130. package/dist/deprecated/router.d.ts +194 -0
  131. package/dist/deprecated/router.d.ts.map +1 -0
  132. package/dist/{codes-7a3d4f65.mjs → envelopes-af8c2959.mjs} +30 -1
  133. package/dist/{codes-7f46544e.js → envelopes-b6dd0367.js} +29 -1
  134. package/dist/error/TRPCError.d.ts +11 -0
  135. package/dist/error/TRPCError.d.ts.map +1 -0
  136. package/dist/error/formatter.d.ts +33 -0
  137. package/dist/error/formatter.d.ts.map +1 -0
  138. package/dist/{internals/errors.d.ts → error/utils.d.ts} +3 -2
  139. package/dist/error/utils.d.ts.map +1 -0
  140. package/dist/http/index.d.ts +1 -1
  141. package/dist/http/index.d.ts.map +1 -1
  142. package/dist/http/internals/getHTTPStatusCode.d.ts +2 -1
  143. package/dist/http/internals/getHTTPStatusCode.d.ts.map +1 -1
  144. package/dist/http/internals/types.d.ts +11 -8
  145. package/dist/http/internals/types.d.ts.map +1 -1
  146. package/dist/http/resolveHTTPResponse.d.ts +4 -4
  147. package/dist/http/resolveHTTPResponse.d.ts.map +1 -1
  148. package/dist/http/{ResponseMeta.d.ts → types.d.ts} +1 -1
  149. package/dist/http/types.d.ts.map +1 -0
  150. package/dist/index.d.ts +3 -5
  151. package/dist/index.d.ts.map +1 -1
  152. package/dist/index.js +797 -105
  153. package/dist/index.mjs +786 -90
  154. package/dist/internals/transformTRPCResponse.d.ts +5 -3
  155. package/dist/internals/transformTRPCResponse.d.ts.map +1 -1
  156. package/dist/internals/types.d.ts +23 -0
  157. package/dist/internals/types.d.ts.map +1 -0
  158. package/dist/nodeHTTPRequestHandler-174459c5.mjs +105 -0
  159. package/dist/nodeHTTPRequestHandler-6b7c8622.js +107 -0
  160. package/dist/observable/index.d.ts +5 -0
  161. package/dist/observable/index.d.ts.map +1 -0
  162. package/dist/observable/index.js +204 -0
  163. package/dist/observable/index.mjs +195 -0
  164. package/dist/observable/index.ts.js +1 -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-137ea1bd.mjs +105 -0
  184. package/dist/observable-3aa4d911.js +108 -0
  185. package/dist/{nodeHTTPRequestHandler-10e6d2f9.mjs → resolveHTTPResponse-8657b8de.mjs} +32 -133
  186. package/dist/{nodeHTTPRequestHandler-d7c307d3.js → resolveHTTPResponse-fcc8f644.js} +37 -139
  187. package/dist/rpc/codes.d.ts +2 -0
  188. package/dist/rpc/codes.d.ts.map +1 -1
  189. package/dist/rpc/envelopes.d.ts +62 -40
  190. package/dist/rpc/envelopes.d.ts.map +1 -1
  191. package/dist/rpc/index.js +7 -3
  192. package/dist/rpc/index.mjs +1 -1
  193. package/dist/rpc/internals/invert.d.ts +18 -0
  194. package/dist/rpc/internals/invert.d.ts.map +1 -0
  195. package/dist/subscription.d.ts +3 -52
  196. package/dist/subscription.d.ts.map +1 -1
  197. package/dist/subscription.js +44 -0
  198. package/dist/subscription.mjs +40 -0
  199. package/dist/subscription.ts.js +1 -0
  200. package/dist/transformTRPCResponse-0c261655.js +29 -0
  201. package/dist/transformTRPCResponse-747b9a68.mjs +27 -0
  202. package/dist/transformer.d.ts +14 -0
  203. package/dist/transformer.d.ts.map +1 -1
  204. package/dist/types.d.ts +23 -8
  205. package/dist/types.d.ts.map +1 -1
  206. package/observable/index.d.ts +1 -0
  207. package/observable/index.js +1 -0
  208. package/package.json +50 -16
  209. package/rpc/dist/trpc-server-rpc.cjs.dev.js +1 -1
  210. package/rpc/dist/trpc-server-rpc.cjs.prod.js +1 -1
  211. package/rpc/dist/trpc-server-rpc.esm.js +1 -1
  212. package/src/adapters/aws-lambda/index.ts +156 -0
  213. package/src/adapters/aws-lambda/utils.ts +91 -0
  214. package/src/adapters/express.ts +4 -4
  215. package/src/adapters/fastify/fastifyRequestHandler.ts +77 -0
  216. package/src/adapters/fastify/fastifyTRPCPlugin.ts +56 -0
  217. package/src/adapters/fastify/index.ts +2 -0
  218. package/src/adapters/fetch/fetchRequestHandler.ts +61 -0
  219. package/src/adapters/fetch/index.ts +2 -0
  220. package/src/adapters/fetch/types.ts +28 -0
  221. package/src/adapters/lambda/index.ts +18 -0
  222. package/src/adapters/next.ts +10 -8
  223. package/src/adapters/node-http/internals/getPostBody.test.ts +2 -1
  224. package/src/adapters/node-http/internals/getPostBody.ts +1 -1
  225. package/src/adapters/node-http/nodeHTTPRequestHandler.ts +7 -7
  226. package/src/adapters/node-http/types.ts +11 -9
  227. package/src/adapters/standalone.ts +12 -4
  228. package/src/adapters/ws.ts +135 -91
  229. package/src/assertNotBrowser.ts +1 -0
  230. package/src/core/index.ts +5 -0
  231. package/src/core/initTRPC.ts +95 -0
  232. package/src/core/internals/__generated__/mergeRoutersGeneric.ts +326 -0
  233. package/src/core/internals/config.ts +42 -0
  234. package/src/core/internals/getParseFn.ts +47 -0
  235. package/src/core/internals/internalProcedure.ts +296 -0
  236. package/src/core/internals/mergeRouters.ts +45 -0
  237. package/src/core/internals/mergeWithoutOverrides.ts +19 -0
  238. package/src/core/internals/omitPrototype.ts +9 -0
  239. package/src/core/internals/prefixObjectKeys.ts +9 -0
  240. package/src/core/internals/procedureBuilder.ts +180 -0
  241. package/src/core/internals/utils.ts +64 -0
  242. package/src/core/middleware.ts +94 -0
  243. package/src/core/parser.ts +45 -0
  244. package/src/core/procedure.ts +95 -0
  245. package/src/core/router.ts +336 -0
  246. package/src/core/types.ts +53 -0
  247. package/src/{internals → deprecated/internals}/callProcedure.ts +9 -3
  248. package/src/{internals → deprecated/internals}/middlewares.ts +23 -3
  249. package/src/deprecated/internals/procedure.ts +415 -0
  250. package/src/deprecated/interop.ts +196 -0
  251. package/src/{router.ts → deprecated/router.ts} +216 -100
  252. package/src/{TRPCError.ts → error/TRPCError.ts} +6 -14
  253. package/src/error/formatter.ts +51 -0
  254. package/src/{internals/errors.ts → error/utils.ts} +21 -5
  255. package/src/http/index.ts +1 -1
  256. package/src/http/internals/getHTTPStatusCode.ts +3 -2
  257. package/src/http/internals/types.ts +11 -14
  258. package/src/http/resolveHTTPResponse.ts +28 -37
  259. package/src/http/{ResponseMeta.ts → types.ts} +0 -0
  260. package/src/index.ts +3 -7
  261. package/src/internals/transformTRPCResponse.ts +21 -16
  262. package/src/internals/types.ts +24 -0
  263. package/src/observable/index.ts +4 -0
  264. package/src/observable/internals/identity.ts +3 -0
  265. package/src/observable/internals/observableToPromise.ts +49 -0
  266. package/src/observable/internals/pipe.ts +22 -0
  267. package/src/observable/observable.test.ts +101 -0
  268. package/src/observable/observable.ts +78 -0
  269. package/src/observable/operators/index.ts +3 -0
  270. package/src/observable/operators/map.test.ts +92 -0
  271. package/src/observable/operators/map.ts +25 -0
  272. package/src/observable/operators/share.test.ts +60 -0
  273. package/src/observable/operators/share.ts +67 -0
  274. package/src/observable/operators/tap.ts +26 -0
  275. package/src/observable/types.ts +69 -0
  276. package/src/rpc/codes.ts +2 -1
  277. package/src/rpc/envelopes.ts +88 -69
  278. package/src/rpc/internals/invert.ts +27 -0
  279. package/src/subscription.ts +7 -125
  280. package/src/transformer.ts +28 -0
  281. package/src/types.ts +26 -9
  282. package/dist/TRPCError.d.ts +0 -19
  283. package/dist/TRPCError.d.ts.map +0 -1
  284. package/dist/deprecated/LegacyRouter.d.ts +0 -3
  285. package/dist/deprecated/LegacyRouter.d.ts.map +0 -1
  286. package/dist/deprecated/createHttpServer.d.ts +0 -19
  287. package/dist/deprecated/createHttpServer.d.ts.map +0 -1
  288. package/dist/deprecated/requestHandler.d.ts +0 -15
  289. package/dist/deprecated/requestHandler.d.ts.map +0 -1
  290. package/dist/http/ResponseMeta.d.ts.map +0 -1
  291. package/dist/internals/BaseHandlerOptions.d.ts +0 -13
  292. package/dist/internals/BaseHandlerOptions.d.ts.map +0 -1
  293. package/dist/internals/OnErrorFunction.d.ts +0 -11
  294. package/dist/internals/OnErrorFunction.d.ts.map +0 -1
  295. package/dist/internals/callProcedure.d.ts.map +0 -1
  296. package/dist/internals/errors.d.ts.map +0 -1
  297. package/dist/internals/middlewares.d.ts.map +0 -1
  298. package/dist/internals/procedure.d.ts +0 -74
  299. package/dist/internals/procedure.d.ts.map +0 -1
  300. package/dist/internals/wrapCallSafe.d.ts +0 -16
  301. package/dist/internals/wrapCallSafe.d.ts.map +0 -1
  302. package/dist/router.d.ts +0 -176
  303. package/dist/router.d.ts.map +0 -1
  304. package/dist/subscription-5b7e1eba.js +0 -136
  305. package/dist/subscription-e1d42e69.mjs +0 -133
  306. package/dist/transformTRPCResponse-76e0c91e.mjs +0 -109
  307. package/dist/transformTRPCResponse-bd24f548.js +0 -114
  308. package/dist/ws/index.d.ts +0 -7
  309. package/dist/ws/index.d.ts.map +0 -1
  310. package/dist/ws/index.js +0 -15
  311. package/dist/ws/index.mjs +0 -11
  312. package/src/deprecated/LegacyRouter.ts +0 -3
  313. package/src/deprecated/createHttpServer.ts +0 -29
  314. package/src/deprecated/requestHandler.ts +0 -26
  315. package/src/internals/BaseHandlerOptions.ts +0 -13
  316. package/src/internals/OnErrorFunction.ts +0 -11
  317. package/src/internals/procedure.ts +0 -283
  318. package/src/internals/wrapCallSafe.ts +0 -19
  319. package/src/ws/index.ts +0 -8
  320. package/ws/dist/trpc-server-ws.cjs.d.ts +0 -1
  321. package/ws/dist/trpc-server-ws.cjs.dev.js +0 -15
  322. package/ws/dist/trpc-server-ws.cjs.js +0 -7
  323. package/ws/dist/trpc-server-ws.cjs.prod.js +0 -15
  324. package/ws/dist/trpc-server-ws.esm.js +0 -11
  325. package/ws/index.d.ts +0 -1
  326. package/ws/index.js +0 -1
@@ -3,6 +3,7 @@
3
3
  export function assertNotBrowser() {
4
4
  if (
5
5
  typeof window !== 'undefined' &&
6
+ !('Deno' in window) &&
6
7
  process.env.NODE_ENV !== 'test' &&
7
8
  process.env.JEST_WORKER_ID === undefined
8
9
  ) {
@@ -0,0 +1,5 @@
1
+ export type { AnyRouter, ProcedureRouterRecord } from './router';
2
+ export type { Procedure, ProcedureParams } from './procedure';
3
+
4
+ export { initTRPC } from './initTRPC';
5
+ export * from './types';
@@ -0,0 +1,95 @@
1
+ /* eslint-disable @typescript-eslint/ban-types */
2
+ import { mergeRoutersGeneric } from './internals/__generated__/mergeRoutersGeneric';
3
+ import {
4
+ DefaultErrorShape,
5
+ ErrorFormatter,
6
+ ErrorFormatterShape,
7
+ defaultFormatter,
8
+ } from '../error/formatter';
9
+ import {
10
+ CombinedDataTransformer,
11
+ DataTransformerOptions,
12
+ DefaultDataTransformer,
13
+ defaultTransformer,
14
+ getDataTransformer,
15
+ } from '../transformer';
16
+ import {
17
+ CreateInitGenerics,
18
+ CreateRootConfig,
19
+ InitGenerics,
20
+ InitOptions,
21
+ } from './internals/config';
22
+ import { createBuilder } from './internals/procedureBuilder';
23
+ import { PickFirstDefined, ValidateShape } from './internals/utils';
24
+ import { createMiddlewareFactory } from './middleware';
25
+ import { createRouterFactory } from './router';
26
+
27
+ export function initTRPC<TParams extends Partial<InitGenerics> = {}>() {
28
+ type $Generics = CreateInitGenerics<{
29
+ ctx: TParams['ctx'] extends undefined ? {} : NonNullable<TParams['ctx']>;
30
+ meta: TParams['meta'] extends undefined ? {} : NonNullable<TParams['meta']>;
31
+ }>;
32
+
33
+ type $Context = $Generics['ctx'];
34
+ type $Meta = $Generics['meta'];
35
+ type $Options = Partial<InitOptions<$Generics>>;
36
+
37
+ return function initTRPCInner<TOptions extends $Options>(
38
+ options?: ValidateShape<TOptions, $Options>,
39
+ ) {
40
+ type $Formatter = PickFirstDefined<
41
+ TOptions['errorFormatter'],
42
+ ErrorFormatter<$Context, DefaultErrorShape>
43
+ >;
44
+ type $Transformer = TOptions['transformer'] extends DataTransformerOptions
45
+ ? TOptions['transformer'] extends DataTransformerOptions
46
+ ? CombinedDataTransformer
47
+ : DefaultDataTransformer
48
+ : DefaultDataTransformer;
49
+ type $ErrorShape = ErrorFormatterShape<$Formatter>;
50
+
51
+ type $Config = CreateRootConfig<{
52
+ ctx: $Context;
53
+ meta: $Meta;
54
+ errorShape: $ErrorShape;
55
+ transformer: $Transformer;
56
+ }>;
57
+
58
+ const errorFormatter = options?.errorFormatter ?? defaultFormatter;
59
+ const transformer = getDataTransformer(
60
+ options?.transformer ?? defaultTransformer,
61
+ ) as $Transformer;
62
+ const _config: $Config = {
63
+ transformer,
64
+ errorShape: null as any,
65
+ ctx: null as any,
66
+ meta: null as any,
67
+ };
68
+ return {
69
+ /**
70
+ * These are just types, they can't be used
71
+ * @internal
72
+ */
73
+ _config,
74
+ /**
75
+ * Builder object for creating procedures
76
+ */
77
+ procedure: createBuilder<$Config>(),
78
+ /**
79
+ * Create reusable middlewares
80
+ */
81
+ middleware: createMiddlewareFactory<$Config>(),
82
+ /**
83
+ * Create a router
84
+ */
85
+ router: createRouterFactory<$Config>({
86
+ errorFormatter,
87
+ transformer,
88
+ }),
89
+ /**
90
+ * Merge Routers
91
+ */
92
+ mergeRouters: mergeRoutersGeneric,
93
+ };
94
+ };
95
+ }
@@ -0,0 +1,326 @@
1
+ import { AnyRouter, AnyRouterDef, Router } from "../../router";
2
+ import { mergeRouters } from '../mergeRouters';
3
+
4
+ export function mergeRoutersGeneric<
5
+ RP0 extends AnyRouterDef
6
+ >(
7
+ router0: Router<RP0>
8
+ ): Router<{
9
+ _ctx: RP0['_ctx'];
10
+ _errorShape: RP0['_errorShape'];
11
+ _meta: RP0['_meta'];
12
+ transformer: RP0['transformer'];
13
+ errorFormatter: RP0['errorFormatter'];
14
+ queries: RP0['queries'];
15
+ mutations: RP0['mutations'];
16
+ subscriptions: RP0['subscriptions'];
17
+ procedures: RP0['procedures'];
18
+ }>;
19
+
20
+ export function mergeRoutersGeneric<
21
+ RP0 extends AnyRouterDef, RP1 extends AnyRouterDef
22
+ >(
23
+ router0: Router<RP0>, router1: Router<RP1>
24
+ ): Router<{
25
+ _ctx: RP0['_ctx'];
26
+ _errorShape: RP0['_errorShape'];
27
+ _meta: RP0['_meta'];
28
+ transformer: RP0['transformer'];
29
+ errorFormatter: RP0['errorFormatter'];
30
+ queries: RP0['queries'] & RP1['queries'];
31
+ mutations: RP0['mutations'] & RP1['mutations'];
32
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'];
33
+ procedures: RP0['procedures'] & RP1['procedures'];
34
+ }>;
35
+
36
+ export function mergeRoutersGeneric<
37
+ RP0 extends AnyRouterDef, RP1 extends AnyRouterDef, RP2 extends AnyRouterDef
38
+ >(
39
+ router0: Router<RP0>, router1: Router<RP1>, router2: Router<RP2>
40
+ ): Router<{
41
+ _ctx: RP0['_ctx'];
42
+ _errorShape: RP0['_errorShape'];
43
+ _meta: RP0['_meta'];
44
+ transformer: RP0['transformer'];
45
+ errorFormatter: RP0['errorFormatter'];
46
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'];
47
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'];
48
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'];
49
+ procedures: RP0['procedures'] & RP1['procedures'] & RP2['procedures'];
50
+ }>;
51
+
52
+ export function mergeRoutersGeneric<
53
+ RP0 extends AnyRouterDef, RP1 extends AnyRouterDef, RP2 extends AnyRouterDef, RP3 extends AnyRouterDef
54
+ >(
55
+ router0: Router<RP0>, router1: Router<RP1>, router2: Router<RP2>, router3: Router<RP3>
56
+ ): Router<{
57
+ _ctx: RP0['_ctx'];
58
+ _errorShape: RP0['_errorShape'];
59
+ _meta: RP0['_meta'];
60
+ transformer: RP0['transformer'];
61
+ errorFormatter: RP0['errorFormatter'];
62
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'] & RP3['queries'];
63
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'];
64
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'];
65
+ procedures: RP0['procedures'] & RP1['procedures'] & RP2['procedures'] & RP3['procedures'];
66
+ }>;
67
+
68
+ export function mergeRoutersGeneric<
69
+ RP0 extends AnyRouterDef, RP1 extends AnyRouterDef, RP2 extends AnyRouterDef, RP3 extends AnyRouterDef, RP4 extends AnyRouterDef
70
+ >(
71
+ router0: Router<RP0>, router1: Router<RP1>, router2: Router<RP2>, router3: Router<RP3>, router4: Router<RP4>
72
+ ): Router<{
73
+ _ctx: RP0['_ctx'];
74
+ _errorShape: RP0['_errorShape'];
75
+ _meta: RP0['_meta'];
76
+ transformer: RP0['transformer'];
77
+ errorFormatter: RP0['errorFormatter'];
78
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'] & RP3['queries'] & RP4['queries'];
79
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'] & RP4['mutations'];
80
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'] & RP4['subscriptions'];
81
+ procedures: RP0['procedures'] & RP1['procedures'] & RP2['procedures'] & RP3['procedures'] & RP4['procedures'];
82
+ }>;
83
+
84
+ export function mergeRoutersGeneric<
85
+ RP0 extends AnyRouterDef, RP1 extends AnyRouterDef, RP2 extends AnyRouterDef, RP3 extends AnyRouterDef, RP4 extends AnyRouterDef, RP5 extends AnyRouterDef
86
+ >(
87
+ router0: Router<RP0>, router1: Router<RP1>, router2: Router<RP2>, router3: Router<RP3>, router4: Router<RP4>, router5: Router<RP5>
88
+ ): Router<{
89
+ _ctx: RP0['_ctx'];
90
+ _errorShape: RP0['_errorShape'];
91
+ _meta: RP0['_meta'];
92
+ transformer: RP0['transformer'];
93
+ errorFormatter: RP0['errorFormatter'];
94
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'] & RP3['queries'] & RP4['queries'] & RP5['queries'];
95
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'] & RP4['mutations'] & RP5['mutations'];
96
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'] & RP4['subscriptions'] & RP5['subscriptions'];
97
+ procedures: RP0['procedures'] & RP1['procedures'] & RP2['procedures'] & RP3['procedures'] & RP4['procedures'] & RP5['procedures'];
98
+ }>;
99
+
100
+ export function mergeRoutersGeneric<
101
+ RP0 extends AnyRouterDef, RP1 extends AnyRouterDef, RP2 extends AnyRouterDef, RP3 extends AnyRouterDef, RP4 extends AnyRouterDef, RP5 extends AnyRouterDef, RP6 extends AnyRouterDef
102
+ >(
103
+ router0: Router<RP0>, router1: Router<RP1>, router2: Router<RP2>, router3: Router<RP3>, router4: Router<RP4>, router5: Router<RP5>, router6: Router<RP6>
104
+ ): Router<{
105
+ _ctx: RP0['_ctx'];
106
+ _errorShape: RP0['_errorShape'];
107
+ _meta: RP0['_meta'];
108
+ transformer: RP0['transformer'];
109
+ errorFormatter: RP0['errorFormatter'];
110
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'] & RP3['queries'] & RP4['queries'] & RP5['queries'] & RP6['queries'];
111
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'] & RP4['mutations'] & RP5['mutations'] & RP6['mutations'];
112
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'] & RP4['subscriptions'] & RP5['subscriptions'] & RP6['subscriptions'];
113
+ procedures: RP0['procedures'] & RP1['procedures'] & RP2['procedures'] & RP3['procedures'] & RP4['procedures'] & RP5['procedures'] & RP6['procedures'];
114
+ }>;
115
+
116
+ export function mergeRoutersGeneric<
117
+ RP0 extends AnyRouterDef, RP1 extends AnyRouterDef, RP2 extends AnyRouterDef, RP3 extends AnyRouterDef, RP4 extends AnyRouterDef, RP5 extends AnyRouterDef, RP6 extends AnyRouterDef, RP7 extends AnyRouterDef
118
+ >(
119
+ router0: Router<RP0>, router1: Router<RP1>, router2: Router<RP2>, router3: Router<RP3>, router4: Router<RP4>, router5: Router<RP5>, router6: Router<RP6>, router7: Router<RP7>
120
+ ): Router<{
121
+ _ctx: RP0['_ctx'];
122
+ _errorShape: RP0['_errorShape'];
123
+ _meta: RP0['_meta'];
124
+ transformer: RP0['transformer'];
125
+ errorFormatter: RP0['errorFormatter'];
126
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'] & RP3['queries'] & RP4['queries'] & RP5['queries'] & RP6['queries'] & RP7['queries'];
127
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'] & RP4['mutations'] & RP5['mutations'] & RP6['mutations'] & RP7['mutations'];
128
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'] & RP4['subscriptions'] & RP5['subscriptions'] & RP6['subscriptions'] & RP7['subscriptions'];
129
+ procedures: RP0['procedures'] & RP1['procedures'] & RP2['procedures'] & RP3['procedures'] & RP4['procedures'] & RP5['procedures'] & RP6['procedures'] & RP7['procedures'];
130
+ }>;
131
+
132
+ export function mergeRoutersGeneric<
133
+ RP0 extends AnyRouterDef, RP1 extends AnyRouterDef, RP2 extends AnyRouterDef, RP3 extends AnyRouterDef, RP4 extends AnyRouterDef, RP5 extends AnyRouterDef, RP6 extends AnyRouterDef, RP7 extends AnyRouterDef, RP8 extends AnyRouterDef
134
+ >(
135
+ router0: Router<RP0>, router1: Router<RP1>, router2: Router<RP2>, router3: Router<RP3>, router4: Router<RP4>, router5: Router<RP5>, router6: Router<RP6>, router7: Router<RP7>, router8: Router<RP8>
136
+ ): Router<{
137
+ _ctx: RP0['_ctx'];
138
+ _errorShape: RP0['_errorShape'];
139
+ _meta: RP0['_meta'];
140
+ transformer: RP0['transformer'];
141
+ errorFormatter: RP0['errorFormatter'];
142
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'] & RP3['queries'] & RP4['queries'] & RP5['queries'] & RP6['queries'] & RP7['queries'] & RP8['queries'];
143
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'] & RP4['mutations'] & RP5['mutations'] & RP6['mutations'] & RP7['mutations'] & RP8['mutations'];
144
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'] & RP4['subscriptions'] & RP5['subscriptions'] & RP6['subscriptions'] & RP7['subscriptions'] & RP8['subscriptions'];
145
+ procedures: RP0['procedures'] & RP1['procedures'] & RP2['procedures'] & RP3['procedures'] & RP4['procedures'] & RP5['procedures'] & RP6['procedures'] & RP7['procedures'] & RP8['procedures'];
146
+ }>;
147
+
148
+ export function mergeRoutersGeneric<
149
+ RP0 extends AnyRouterDef, RP1 extends AnyRouterDef, RP2 extends AnyRouterDef, RP3 extends AnyRouterDef, RP4 extends AnyRouterDef, RP5 extends AnyRouterDef, RP6 extends AnyRouterDef, RP7 extends AnyRouterDef, RP8 extends AnyRouterDef, RP9 extends AnyRouterDef
150
+ >(
151
+ router0: Router<RP0>, router1: Router<RP1>, router2: Router<RP2>, router3: Router<RP3>, router4: Router<RP4>, router5: Router<RP5>, router6: Router<RP6>, router7: Router<RP7>, router8: Router<RP8>, router9: Router<RP9>
152
+ ): Router<{
153
+ _ctx: RP0['_ctx'];
154
+ _errorShape: RP0['_errorShape'];
155
+ _meta: RP0['_meta'];
156
+ transformer: RP0['transformer'];
157
+ errorFormatter: RP0['errorFormatter'];
158
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'] & RP3['queries'] & RP4['queries'] & RP5['queries'] & RP6['queries'] & RP7['queries'] & RP8['queries'] & RP9['queries'];
159
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'] & RP4['mutations'] & RP5['mutations'] & RP6['mutations'] & RP7['mutations'] & RP8['mutations'] & RP9['mutations'];
160
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'] & RP4['subscriptions'] & RP5['subscriptions'] & RP6['subscriptions'] & RP7['subscriptions'] & RP8['subscriptions'] & RP9['subscriptions'];
161
+ procedures: RP0['procedures'] & RP1['procedures'] & RP2['procedures'] & RP3['procedures'] & RP4['procedures'] & RP5['procedures'] & RP6['procedures'] & RP7['procedures'] & RP8['procedures'] & RP9['procedures'];
162
+ }>;
163
+
164
+ export function mergeRoutersGeneric<
165
+ RP0 extends AnyRouterDef, RP1 extends AnyRouterDef, RP2 extends AnyRouterDef, RP3 extends AnyRouterDef, RP4 extends AnyRouterDef, RP5 extends AnyRouterDef, RP6 extends AnyRouterDef, RP7 extends AnyRouterDef, RP8 extends AnyRouterDef, RP9 extends AnyRouterDef, RP10 extends AnyRouterDef
166
+ >(
167
+ router0: Router<RP0>, router1: Router<RP1>, router2: Router<RP2>, router3: Router<RP3>, router4: Router<RP4>, router5: Router<RP5>, router6: Router<RP6>, router7: Router<RP7>, router8: Router<RP8>, router9: Router<RP9>, router10: Router<RP10>
168
+ ): Router<{
169
+ _ctx: RP0['_ctx'];
170
+ _errorShape: RP0['_errorShape'];
171
+ _meta: RP0['_meta'];
172
+ transformer: RP0['transformer'];
173
+ errorFormatter: RP0['errorFormatter'];
174
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'] & RP3['queries'] & RP4['queries'] & RP5['queries'] & RP6['queries'] & RP7['queries'] & RP8['queries'] & RP9['queries'] & RP10['queries'];
175
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'] & RP4['mutations'] & RP5['mutations'] & RP6['mutations'] & RP7['mutations'] & RP8['mutations'] & RP9['mutations'] & RP10['mutations'];
176
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'] & RP4['subscriptions'] & RP5['subscriptions'] & RP6['subscriptions'] & RP7['subscriptions'] & RP8['subscriptions'] & RP9['subscriptions'] & RP10['subscriptions'];
177
+ procedures: RP0['procedures'] & RP1['procedures'] & RP2['procedures'] & RP3['procedures'] & RP4['procedures'] & RP5['procedures'] & RP6['procedures'] & RP7['procedures'] & RP8['procedures'] & RP9['procedures'] & RP10['procedures'];
178
+ }>;
179
+
180
+ export function mergeRoutersGeneric<
181
+ RP0 extends AnyRouterDef, RP1 extends AnyRouterDef, RP2 extends AnyRouterDef, RP3 extends AnyRouterDef, RP4 extends AnyRouterDef, RP5 extends AnyRouterDef, RP6 extends AnyRouterDef, RP7 extends AnyRouterDef, RP8 extends AnyRouterDef, RP9 extends AnyRouterDef, RP10 extends AnyRouterDef, RP11 extends AnyRouterDef
182
+ >(
183
+ router0: Router<RP0>, router1: Router<RP1>, router2: Router<RP2>, router3: Router<RP3>, router4: Router<RP4>, router5: Router<RP5>, router6: Router<RP6>, router7: Router<RP7>, router8: Router<RP8>, router9: Router<RP9>, router10: Router<RP10>, router11: Router<RP11>
184
+ ): Router<{
185
+ _ctx: RP0['_ctx'];
186
+ _errorShape: RP0['_errorShape'];
187
+ _meta: RP0['_meta'];
188
+ transformer: RP0['transformer'];
189
+ errorFormatter: RP0['errorFormatter'];
190
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'] & RP3['queries'] & RP4['queries'] & RP5['queries'] & RP6['queries'] & RP7['queries'] & RP8['queries'] & RP9['queries'] & RP10['queries'] & RP11['queries'];
191
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'] & RP4['mutations'] & RP5['mutations'] & RP6['mutations'] & RP7['mutations'] & RP8['mutations'] & RP9['mutations'] & RP10['mutations'] & RP11['mutations'];
192
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'] & RP4['subscriptions'] & RP5['subscriptions'] & RP6['subscriptions'] & RP7['subscriptions'] & RP8['subscriptions'] & RP9['subscriptions'] & RP10['subscriptions'] & RP11['subscriptions'];
193
+ procedures: RP0['procedures'] & RP1['procedures'] & RP2['procedures'] & RP3['procedures'] & RP4['procedures'] & RP5['procedures'] & RP6['procedures'] & RP7['procedures'] & RP8['procedures'] & RP9['procedures'] & RP10['procedures'] & RP11['procedures'];
194
+ }>;
195
+
196
+ export function mergeRoutersGeneric<
197
+ RP0 extends AnyRouterDef, RP1 extends AnyRouterDef, RP2 extends AnyRouterDef, RP3 extends AnyRouterDef, RP4 extends AnyRouterDef, RP5 extends AnyRouterDef, RP6 extends AnyRouterDef, RP7 extends AnyRouterDef, RP8 extends AnyRouterDef, RP9 extends AnyRouterDef, RP10 extends AnyRouterDef, RP11 extends AnyRouterDef, RP12 extends AnyRouterDef
198
+ >(
199
+ router0: Router<RP0>, router1: Router<RP1>, router2: Router<RP2>, router3: Router<RP3>, router4: Router<RP4>, router5: Router<RP5>, router6: Router<RP6>, router7: Router<RP7>, router8: Router<RP8>, router9: Router<RP9>, router10: Router<RP10>, router11: Router<RP11>, router12: Router<RP12>
200
+ ): Router<{
201
+ _ctx: RP0['_ctx'];
202
+ _errorShape: RP0['_errorShape'];
203
+ _meta: RP0['_meta'];
204
+ transformer: RP0['transformer'];
205
+ errorFormatter: RP0['errorFormatter'];
206
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'] & RP3['queries'] & RP4['queries'] & RP5['queries'] & RP6['queries'] & RP7['queries'] & RP8['queries'] & RP9['queries'] & RP10['queries'] & RP11['queries'] & RP12['queries'];
207
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'] & RP4['mutations'] & RP5['mutations'] & RP6['mutations'] & RP7['mutations'] & RP8['mutations'] & RP9['mutations'] & RP10['mutations'] & RP11['mutations'] & RP12['mutations'];
208
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'] & RP4['subscriptions'] & RP5['subscriptions'] & RP6['subscriptions'] & RP7['subscriptions'] & RP8['subscriptions'] & RP9['subscriptions'] & RP10['subscriptions'] & RP11['subscriptions'] & RP12['subscriptions'];
209
+ procedures: RP0['procedures'] & RP1['procedures'] & RP2['procedures'] & RP3['procedures'] & RP4['procedures'] & RP5['procedures'] & RP6['procedures'] & RP7['procedures'] & RP8['procedures'] & RP9['procedures'] & RP10['procedures'] & RP11['procedures'] & RP12['procedures'];
210
+ }>;
211
+
212
+ export function mergeRoutersGeneric<
213
+ RP0 extends AnyRouterDef, RP1 extends AnyRouterDef, RP2 extends AnyRouterDef, RP3 extends AnyRouterDef, RP4 extends AnyRouterDef, RP5 extends AnyRouterDef, RP6 extends AnyRouterDef, RP7 extends AnyRouterDef, RP8 extends AnyRouterDef, RP9 extends AnyRouterDef, RP10 extends AnyRouterDef, RP11 extends AnyRouterDef, RP12 extends AnyRouterDef, RP13 extends AnyRouterDef
214
+ >(
215
+ router0: Router<RP0>, router1: Router<RP1>, router2: Router<RP2>, router3: Router<RP3>, router4: Router<RP4>, router5: Router<RP5>, router6: Router<RP6>, router7: Router<RP7>, router8: Router<RP8>, router9: Router<RP9>, router10: Router<RP10>, router11: Router<RP11>, router12: Router<RP12>, router13: Router<RP13>
216
+ ): Router<{
217
+ _ctx: RP0['_ctx'];
218
+ _errorShape: RP0['_errorShape'];
219
+ _meta: RP0['_meta'];
220
+ transformer: RP0['transformer'];
221
+ errorFormatter: RP0['errorFormatter'];
222
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'] & RP3['queries'] & RP4['queries'] & RP5['queries'] & RP6['queries'] & RP7['queries'] & RP8['queries'] & RP9['queries'] & RP10['queries'] & RP11['queries'] & RP12['queries'] & RP13['queries'];
223
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'] & RP4['mutations'] & RP5['mutations'] & RP6['mutations'] & RP7['mutations'] & RP8['mutations'] & RP9['mutations'] & RP10['mutations'] & RP11['mutations'] & RP12['mutations'] & RP13['mutations'];
224
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'] & RP4['subscriptions'] & RP5['subscriptions'] & RP6['subscriptions'] & RP7['subscriptions'] & RP8['subscriptions'] & RP9['subscriptions'] & RP10['subscriptions'] & RP11['subscriptions'] & RP12['subscriptions'] & RP13['subscriptions'];
225
+ procedures: RP0['procedures'] & RP1['procedures'] & RP2['procedures'] & RP3['procedures'] & RP4['procedures'] & RP5['procedures'] & RP6['procedures'] & RP7['procedures'] & RP8['procedures'] & RP9['procedures'] & RP10['procedures'] & RP11['procedures'] & RP12['procedures'] & RP13['procedures'];
226
+ }>;
227
+
228
+ export function mergeRoutersGeneric<
229
+ RP0 extends AnyRouterDef, RP1 extends AnyRouterDef, RP2 extends AnyRouterDef, RP3 extends AnyRouterDef, RP4 extends AnyRouterDef, RP5 extends AnyRouterDef, RP6 extends AnyRouterDef, RP7 extends AnyRouterDef, RP8 extends AnyRouterDef, RP9 extends AnyRouterDef, RP10 extends AnyRouterDef, RP11 extends AnyRouterDef, RP12 extends AnyRouterDef, RP13 extends AnyRouterDef, RP14 extends AnyRouterDef
230
+ >(
231
+ router0: Router<RP0>, router1: Router<RP1>, router2: Router<RP2>, router3: Router<RP3>, router4: Router<RP4>, router5: Router<RP5>, router6: Router<RP6>, router7: Router<RP7>, router8: Router<RP8>, router9: Router<RP9>, router10: Router<RP10>, router11: Router<RP11>, router12: Router<RP12>, router13: Router<RP13>, router14: Router<RP14>
232
+ ): Router<{
233
+ _ctx: RP0['_ctx'];
234
+ _errorShape: RP0['_errorShape'];
235
+ _meta: RP0['_meta'];
236
+ transformer: RP0['transformer'];
237
+ errorFormatter: RP0['errorFormatter'];
238
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'] & RP3['queries'] & RP4['queries'] & RP5['queries'] & RP6['queries'] & RP7['queries'] & RP8['queries'] & RP9['queries'] & RP10['queries'] & RP11['queries'] & RP12['queries'] & RP13['queries'] & RP14['queries'];
239
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'] & RP4['mutations'] & RP5['mutations'] & RP6['mutations'] & RP7['mutations'] & RP8['mutations'] & RP9['mutations'] & RP10['mutations'] & RP11['mutations'] & RP12['mutations'] & RP13['mutations'] & RP14['mutations'];
240
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'] & RP4['subscriptions'] & RP5['subscriptions'] & RP6['subscriptions'] & RP7['subscriptions'] & RP8['subscriptions'] & RP9['subscriptions'] & RP10['subscriptions'] & RP11['subscriptions'] & RP12['subscriptions'] & RP13['subscriptions'] & RP14['subscriptions'];
241
+ procedures: RP0['procedures'] & RP1['procedures'] & RP2['procedures'] & RP3['procedures'] & RP4['procedures'] & RP5['procedures'] & RP6['procedures'] & RP7['procedures'] & RP8['procedures'] & RP9['procedures'] & RP10['procedures'] & RP11['procedures'] & RP12['procedures'] & RP13['procedures'] & RP14['procedures'];
242
+ }>;
243
+
244
+ export function mergeRoutersGeneric<
245
+ RP0 extends AnyRouterDef, RP1 extends AnyRouterDef, RP2 extends AnyRouterDef, RP3 extends AnyRouterDef, RP4 extends AnyRouterDef, RP5 extends AnyRouterDef, RP6 extends AnyRouterDef, RP7 extends AnyRouterDef, RP8 extends AnyRouterDef, RP9 extends AnyRouterDef, RP10 extends AnyRouterDef, RP11 extends AnyRouterDef, RP12 extends AnyRouterDef, RP13 extends AnyRouterDef, RP14 extends AnyRouterDef, RP15 extends AnyRouterDef
246
+ >(
247
+ router0: Router<RP0>, router1: Router<RP1>, router2: Router<RP2>, router3: Router<RP3>, router4: Router<RP4>, router5: Router<RP5>, router6: Router<RP6>, router7: Router<RP7>, router8: Router<RP8>, router9: Router<RP9>, router10: Router<RP10>, router11: Router<RP11>, router12: Router<RP12>, router13: Router<RP13>, router14: Router<RP14>, router15: Router<RP15>
248
+ ): Router<{
249
+ _ctx: RP0['_ctx'];
250
+ _errorShape: RP0['_errorShape'];
251
+ _meta: RP0['_meta'];
252
+ transformer: RP0['transformer'];
253
+ errorFormatter: RP0['errorFormatter'];
254
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'] & RP3['queries'] & RP4['queries'] & RP5['queries'] & RP6['queries'] & RP7['queries'] & RP8['queries'] & RP9['queries'] & RP10['queries'] & RP11['queries'] & RP12['queries'] & RP13['queries'] & RP14['queries'] & RP15['queries'];
255
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'] & RP4['mutations'] & RP5['mutations'] & RP6['mutations'] & RP7['mutations'] & RP8['mutations'] & RP9['mutations'] & RP10['mutations'] & RP11['mutations'] & RP12['mutations'] & RP13['mutations'] & RP14['mutations'] & RP15['mutations'];
256
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'] & RP4['subscriptions'] & RP5['subscriptions'] & RP6['subscriptions'] & RP7['subscriptions'] & RP8['subscriptions'] & RP9['subscriptions'] & RP10['subscriptions'] & RP11['subscriptions'] & RP12['subscriptions'] & RP13['subscriptions'] & RP14['subscriptions'] & RP15['subscriptions'];
257
+ procedures: RP0['procedures'] & RP1['procedures'] & RP2['procedures'] & RP3['procedures'] & RP4['procedures'] & RP5['procedures'] & RP6['procedures'] & RP7['procedures'] & RP8['procedures'] & RP9['procedures'] & RP10['procedures'] & RP11['procedures'] & RP12['procedures'] & RP13['procedures'] & RP14['procedures'] & RP15['procedures'];
258
+ }>;
259
+
260
+ export function mergeRoutersGeneric<
261
+ RP0 extends AnyRouterDef, RP1 extends AnyRouterDef, RP2 extends AnyRouterDef, RP3 extends AnyRouterDef, RP4 extends AnyRouterDef, RP5 extends AnyRouterDef, RP6 extends AnyRouterDef, RP7 extends AnyRouterDef, RP8 extends AnyRouterDef, RP9 extends AnyRouterDef, RP10 extends AnyRouterDef, RP11 extends AnyRouterDef, RP12 extends AnyRouterDef, RP13 extends AnyRouterDef, RP14 extends AnyRouterDef, RP15 extends AnyRouterDef, RP16 extends AnyRouterDef
262
+ >(
263
+ router0: Router<RP0>, router1: Router<RP1>, router2: Router<RP2>, router3: Router<RP3>, router4: Router<RP4>, router5: Router<RP5>, router6: Router<RP6>, router7: Router<RP7>, router8: Router<RP8>, router9: Router<RP9>, router10: Router<RP10>, router11: Router<RP11>, router12: Router<RP12>, router13: Router<RP13>, router14: Router<RP14>, router15: Router<RP15>, router16: Router<RP16>
264
+ ): Router<{
265
+ _ctx: RP0['_ctx'];
266
+ _errorShape: RP0['_errorShape'];
267
+ _meta: RP0['_meta'];
268
+ transformer: RP0['transformer'];
269
+ errorFormatter: RP0['errorFormatter'];
270
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'] & RP3['queries'] & RP4['queries'] & RP5['queries'] & RP6['queries'] & RP7['queries'] & RP8['queries'] & RP9['queries'] & RP10['queries'] & RP11['queries'] & RP12['queries'] & RP13['queries'] & RP14['queries'] & RP15['queries'] & RP16['queries'];
271
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'] & RP4['mutations'] & RP5['mutations'] & RP6['mutations'] & RP7['mutations'] & RP8['mutations'] & RP9['mutations'] & RP10['mutations'] & RP11['mutations'] & RP12['mutations'] & RP13['mutations'] & RP14['mutations'] & RP15['mutations'] & RP16['mutations'];
272
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'] & RP4['subscriptions'] & RP5['subscriptions'] & RP6['subscriptions'] & RP7['subscriptions'] & RP8['subscriptions'] & RP9['subscriptions'] & RP10['subscriptions'] & RP11['subscriptions'] & RP12['subscriptions'] & RP13['subscriptions'] & RP14['subscriptions'] & RP15['subscriptions'] & RP16['subscriptions'];
273
+ procedures: RP0['procedures'] & RP1['procedures'] & RP2['procedures'] & RP3['procedures'] & RP4['procedures'] & RP5['procedures'] & RP6['procedures'] & RP7['procedures'] & RP8['procedures'] & RP9['procedures'] & RP10['procedures'] & RP11['procedures'] & RP12['procedures'] & RP13['procedures'] & RP14['procedures'] & RP15['procedures'] & RP16['procedures'];
274
+ }>;
275
+
276
+ export function mergeRoutersGeneric<
277
+ RP0 extends AnyRouterDef, RP1 extends AnyRouterDef, RP2 extends AnyRouterDef, RP3 extends AnyRouterDef, RP4 extends AnyRouterDef, RP5 extends AnyRouterDef, RP6 extends AnyRouterDef, RP7 extends AnyRouterDef, RP8 extends AnyRouterDef, RP9 extends AnyRouterDef, RP10 extends AnyRouterDef, RP11 extends AnyRouterDef, RP12 extends AnyRouterDef, RP13 extends AnyRouterDef, RP14 extends AnyRouterDef, RP15 extends AnyRouterDef, RP16 extends AnyRouterDef, RP17 extends AnyRouterDef
278
+ >(
279
+ router0: Router<RP0>, router1: Router<RP1>, router2: Router<RP2>, router3: Router<RP3>, router4: Router<RP4>, router5: Router<RP5>, router6: Router<RP6>, router7: Router<RP7>, router8: Router<RP8>, router9: Router<RP9>, router10: Router<RP10>, router11: Router<RP11>, router12: Router<RP12>, router13: Router<RP13>, router14: Router<RP14>, router15: Router<RP15>, router16: Router<RP16>, router17: Router<RP17>
280
+ ): Router<{
281
+ _ctx: RP0['_ctx'];
282
+ _errorShape: RP0['_errorShape'];
283
+ _meta: RP0['_meta'];
284
+ transformer: RP0['transformer'];
285
+ errorFormatter: RP0['errorFormatter'];
286
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'] & RP3['queries'] & RP4['queries'] & RP5['queries'] & RP6['queries'] & RP7['queries'] & RP8['queries'] & RP9['queries'] & RP10['queries'] & RP11['queries'] & RP12['queries'] & RP13['queries'] & RP14['queries'] & RP15['queries'] & RP16['queries'] & RP17['queries'];
287
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'] & RP4['mutations'] & RP5['mutations'] & RP6['mutations'] & RP7['mutations'] & RP8['mutations'] & RP9['mutations'] & RP10['mutations'] & RP11['mutations'] & RP12['mutations'] & RP13['mutations'] & RP14['mutations'] & RP15['mutations'] & RP16['mutations'] & RP17['mutations'];
288
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'] & RP4['subscriptions'] & RP5['subscriptions'] & RP6['subscriptions'] & RP7['subscriptions'] & RP8['subscriptions'] & RP9['subscriptions'] & RP10['subscriptions'] & RP11['subscriptions'] & RP12['subscriptions'] & RP13['subscriptions'] & RP14['subscriptions'] & RP15['subscriptions'] & RP16['subscriptions'] & RP17['subscriptions'];
289
+ procedures: RP0['procedures'] & RP1['procedures'] & RP2['procedures'] & RP3['procedures'] & RP4['procedures'] & RP5['procedures'] & RP6['procedures'] & RP7['procedures'] & RP8['procedures'] & RP9['procedures'] & RP10['procedures'] & RP11['procedures'] & RP12['procedures'] & RP13['procedures'] & RP14['procedures'] & RP15['procedures'] & RP16['procedures'] & RP17['procedures'];
290
+ }>;
291
+
292
+ export function mergeRoutersGeneric<
293
+ RP0 extends AnyRouterDef, RP1 extends AnyRouterDef, RP2 extends AnyRouterDef, RP3 extends AnyRouterDef, RP4 extends AnyRouterDef, RP5 extends AnyRouterDef, RP6 extends AnyRouterDef, RP7 extends AnyRouterDef, RP8 extends AnyRouterDef, RP9 extends AnyRouterDef, RP10 extends AnyRouterDef, RP11 extends AnyRouterDef, RP12 extends AnyRouterDef, RP13 extends AnyRouterDef, RP14 extends AnyRouterDef, RP15 extends AnyRouterDef, RP16 extends AnyRouterDef, RP17 extends AnyRouterDef, RP18 extends AnyRouterDef
294
+ >(
295
+ router0: Router<RP0>, router1: Router<RP1>, router2: Router<RP2>, router3: Router<RP3>, router4: Router<RP4>, router5: Router<RP5>, router6: Router<RP6>, router7: Router<RP7>, router8: Router<RP8>, router9: Router<RP9>, router10: Router<RP10>, router11: Router<RP11>, router12: Router<RP12>, router13: Router<RP13>, router14: Router<RP14>, router15: Router<RP15>, router16: Router<RP16>, router17: Router<RP17>, router18: Router<RP18>
296
+ ): Router<{
297
+ _ctx: RP0['_ctx'];
298
+ _errorShape: RP0['_errorShape'];
299
+ _meta: RP0['_meta'];
300
+ transformer: RP0['transformer'];
301
+ errorFormatter: RP0['errorFormatter'];
302
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'] & RP3['queries'] & RP4['queries'] & RP5['queries'] & RP6['queries'] & RP7['queries'] & RP8['queries'] & RP9['queries'] & RP10['queries'] & RP11['queries'] & RP12['queries'] & RP13['queries'] & RP14['queries'] & RP15['queries'] & RP16['queries'] & RP17['queries'] & RP18['queries'];
303
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'] & RP4['mutations'] & RP5['mutations'] & RP6['mutations'] & RP7['mutations'] & RP8['mutations'] & RP9['mutations'] & RP10['mutations'] & RP11['mutations'] & RP12['mutations'] & RP13['mutations'] & RP14['mutations'] & RP15['mutations'] & RP16['mutations'] & RP17['mutations'] & RP18['mutations'];
304
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'] & RP4['subscriptions'] & RP5['subscriptions'] & RP6['subscriptions'] & RP7['subscriptions'] & RP8['subscriptions'] & RP9['subscriptions'] & RP10['subscriptions'] & RP11['subscriptions'] & RP12['subscriptions'] & RP13['subscriptions'] & RP14['subscriptions'] & RP15['subscriptions'] & RP16['subscriptions'] & RP17['subscriptions'] & RP18['subscriptions'];
305
+ procedures: RP0['procedures'] & RP1['procedures'] & RP2['procedures'] & RP3['procedures'] & RP4['procedures'] & RP5['procedures'] & RP6['procedures'] & RP7['procedures'] & RP8['procedures'] & RP9['procedures'] & RP10['procedures'] & RP11['procedures'] & RP12['procedures'] & RP13['procedures'] & RP14['procedures'] & RP15['procedures'] & RP16['procedures'] & RP17['procedures'] & RP18['procedures'];
306
+ }>;
307
+
308
+ export function mergeRoutersGeneric<
309
+ RP0 extends AnyRouterDef, RP1 extends AnyRouterDef, RP2 extends AnyRouterDef, RP3 extends AnyRouterDef, RP4 extends AnyRouterDef, RP5 extends AnyRouterDef, RP6 extends AnyRouterDef, RP7 extends AnyRouterDef, RP8 extends AnyRouterDef, RP9 extends AnyRouterDef, RP10 extends AnyRouterDef, RP11 extends AnyRouterDef, RP12 extends AnyRouterDef, RP13 extends AnyRouterDef, RP14 extends AnyRouterDef, RP15 extends AnyRouterDef, RP16 extends AnyRouterDef, RP17 extends AnyRouterDef, RP18 extends AnyRouterDef, RP19 extends AnyRouterDef
310
+ >(
311
+ router0: Router<RP0>, router1: Router<RP1>, router2: Router<RP2>, router3: Router<RP3>, router4: Router<RP4>, router5: Router<RP5>, router6: Router<RP6>, router7: Router<RP7>, router8: Router<RP8>, router9: Router<RP9>, router10: Router<RP10>, router11: Router<RP11>, router12: Router<RP12>, router13: Router<RP13>, router14: Router<RP14>, router15: Router<RP15>, router16: Router<RP16>, router17: Router<RP17>, router18: Router<RP18>, router19: Router<RP19>
312
+ ): Router<{
313
+ _ctx: RP0['_ctx'];
314
+ _errorShape: RP0['_errorShape'];
315
+ _meta: RP0['_meta'];
316
+ transformer: RP0['transformer'];
317
+ errorFormatter: RP0['errorFormatter'];
318
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'] & RP3['queries'] & RP4['queries'] & RP5['queries'] & RP6['queries'] & RP7['queries'] & RP8['queries'] & RP9['queries'] & RP10['queries'] & RP11['queries'] & RP12['queries'] & RP13['queries'] & RP14['queries'] & RP15['queries'] & RP16['queries'] & RP17['queries'] & RP18['queries'] & RP19['queries'];
319
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'] & RP4['mutations'] & RP5['mutations'] & RP6['mutations'] & RP7['mutations'] & RP8['mutations'] & RP9['mutations'] & RP10['mutations'] & RP11['mutations'] & RP12['mutations'] & RP13['mutations'] & RP14['mutations'] & RP15['mutations'] & RP16['mutations'] & RP17['mutations'] & RP18['mutations'] & RP19['mutations'];
320
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'] & RP4['subscriptions'] & RP5['subscriptions'] & RP6['subscriptions'] & RP7['subscriptions'] & RP8['subscriptions'] & RP9['subscriptions'] & RP10['subscriptions'] & RP11['subscriptions'] & RP12['subscriptions'] & RP13['subscriptions'] & RP14['subscriptions'] & RP15['subscriptions'] & RP16['subscriptions'] & RP17['subscriptions'] & RP18['subscriptions'] & RP19['subscriptions'];
321
+ procedures: RP0['procedures'] & RP1['procedures'] & RP2['procedures'] & RP3['procedures'] & RP4['procedures'] & RP5['procedures'] & RP6['procedures'] & RP7['procedures'] & RP8['procedures'] & RP9['procedures'] & RP10['procedures'] & RP11['procedures'] & RP12['procedures'] & RP13['procedures'] & RP14['procedures'] & RP15['procedures'] & RP16['procedures'] & RP17['procedures'] & RP18['procedures'] & RP19['procedures'];
322
+ }>;
323
+
324
+ export function mergeRoutersGeneric(...args: AnyRouter[]): AnyRouter {
325
+ return mergeRouters(...args) as any;
326
+ }
@@ -0,0 +1,42 @@
1
+ import { DefaultErrorShape, ErrorFormatter } from '../../error/formatter';
2
+ import {
3
+ CombinedDataTransformer,
4
+ DataTransformerOptions,
5
+ } from '../../transformer';
6
+
7
+ /**
8
+ * The initial generics that are used in the init function
9
+ * @internal
10
+ */
11
+ export interface InitGenerics {
12
+ ctx: Record<string, unknown>;
13
+ meta: Record<string, unknown>;
14
+ }
15
+ /**
16
+ * The initial params that are used and actually represents real values underneath
17
+ * @internal
18
+ */
19
+ export interface InitOptions<T extends InitGenerics> {
20
+ transformer: DataTransformerOptions;
21
+ errorFormatter: ErrorFormatter<T['ctx'], any>;
22
+ }
23
+
24
+ /**
25
+ * @internal
26
+ */
27
+ export type CreateInitGenerics<T extends InitGenerics> = T;
28
+
29
+ /**
30
+ * The config that is resolved after both calls of `initTRPC()` has been called
31
+ * Combination of `InitTOptions` + `InitGenerics`
32
+ * @internal
33
+ */
34
+ export interface RootConfig extends InitGenerics {
35
+ transformer: CombinedDataTransformer;
36
+ errorShape: DefaultErrorShape;
37
+ }
38
+
39
+ /**
40
+ * @internal
41
+ */
42
+ export type CreateRootConfig<T extends RootConfig> = T;
@@ -0,0 +1,47 @@
1
+ import { Parser } from '../parser';
2
+
3
+ export type ParseFn<T> = (value: unknown) => T | Promise<T>;
4
+
5
+ export function getParseFn<T>(procedureParser: Parser): ParseFn<T> {
6
+ const parser = procedureParser as any;
7
+
8
+ if (typeof parser === 'function') {
9
+ // ProcedureParserCustomValidatorEsque
10
+ return parser;
11
+ }
12
+
13
+ if (typeof parser.parseAsync === 'function') {
14
+ // ProcedureParserZodEsque
15
+ return parser.parseAsync.bind(parser);
16
+ }
17
+
18
+ if (typeof parser.parse === 'function') {
19
+ // ProcedureParserZodEsque
20
+ return parser.parse.bind(parser);
21
+ }
22
+
23
+ if (typeof parser.validateSync === 'function') {
24
+ // ProcedureParserYupEsque
25
+ return parser.validateSync.bind(parser);
26
+ }
27
+
28
+ if (typeof parser.create === 'function') {
29
+ // ProcedureParserSuperstructEsque
30
+ return parser.create.bind(parser);
31
+ }
32
+
33
+ throw new Error('Could not find a validator fn');
34
+ }
35
+
36
+ /**
37
+ * @deprecated only for backwards compat
38
+ * @internal
39
+ */
40
+ export function getParseFnOrPassThrough<T>(
41
+ procedureParser: Parser | undefined,
42
+ ): ParseFn<T> {
43
+ if (!procedureParser) {
44
+ return (v) => v as T;
45
+ }
46
+ return getParseFn(procedureParser);
47
+ }