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

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 +87 -0
  91. package/dist/core/initTRPC.d.ts.map +1 -0
  92. package/dist/core/internals/__generated__/mergeRoutersGeneric.d.ts +282 -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 +103 -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 +87 -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 +80 -0
  117. package/dist/core/procedure.d.ts.map +1 -0
  118. package/dist/core/router.d.ts +114 -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 +34 -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 +800 -105
  153. package/dist/index.mjs +789 -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 +25 -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 +386 -0
  233. package/src/core/internals/config.ts +43 -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 +184 -0
  241. package/src/core/internals/utils.ts +64 -0
  242. package/src/core/middleware.ts +96 -0
  243. package/src/core/parser.ts +45 -0
  244. package/src/core/procedure.ts +108 -0
  245. package/src/core/router.ts +365 -0
  246. package/src/core/types.ts +54 -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 +229 -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 +28 -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 = PickFirstDefined<$Generics['meta'], undefined>;
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,386 @@
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
+ router: true;
10
+ _ctx: RP0['_ctx'];
11
+ _errorShape: RP0['_errorShape'];
12
+ _meta: RP0['_meta'];
13
+ transformer: RP0['transformer'];
14
+ errorFormatter: RP0['errorFormatter'];
15
+ queries: RP0['queries'];
16
+ mutations: RP0['mutations'];
17
+ subscriptions: RP0['subscriptions'];
18
+ procedures: RP0['procedures'];
19
+ routers: RP0['routers'];
20
+ record: RP0['record'];
21
+ }> & RP0['record'];
22
+
23
+ export function mergeRoutersGeneric<
24
+ RP0 extends AnyRouterDef, RP1 extends AnyRouterDef
25
+ >(
26
+ router0: Router<RP0>, router1: Router<RP1>
27
+ ): Router<{
28
+ router: true;
29
+ _ctx: RP0['_ctx'];
30
+ _errorShape: RP0['_errorShape'];
31
+ _meta: RP0['_meta'];
32
+ transformer: RP0['transformer'];
33
+ errorFormatter: RP0['errorFormatter'];
34
+ queries: RP0['queries'] & RP1['queries'];
35
+ mutations: RP0['mutations'] & RP1['mutations'];
36
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'];
37
+ procedures: RP0['procedures'] & RP1['procedures'];
38
+ routers: RP0['routers'] & RP1['routers'];
39
+ record: RP0['record'] & RP1['record'];
40
+ }> & RP0['record'] & RP1['record'];
41
+
42
+ export function mergeRoutersGeneric<
43
+ RP0 extends AnyRouterDef, RP1 extends AnyRouterDef, RP2 extends AnyRouterDef
44
+ >(
45
+ router0: Router<RP0>, router1: Router<RP1>, router2: Router<RP2>
46
+ ): Router<{
47
+ router: true;
48
+ _ctx: RP0['_ctx'];
49
+ _errorShape: RP0['_errorShape'];
50
+ _meta: RP0['_meta'];
51
+ transformer: RP0['transformer'];
52
+ errorFormatter: RP0['errorFormatter'];
53
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'];
54
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'];
55
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'];
56
+ procedures: RP0['procedures'] & RP1['procedures'] & RP2['procedures'];
57
+ routers: RP0['routers'] & RP1['routers'] & RP2['routers'];
58
+ record: RP0['record'] & RP1['record'] & RP2['record'];
59
+ }> & RP0['record'] & RP1['record'] & RP2['record'];
60
+
61
+ export function mergeRoutersGeneric<
62
+ RP0 extends AnyRouterDef, RP1 extends AnyRouterDef, RP2 extends AnyRouterDef, RP3 extends AnyRouterDef
63
+ >(
64
+ router0: Router<RP0>, router1: Router<RP1>, router2: Router<RP2>, router3: Router<RP3>
65
+ ): Router<{
66
+ router: true;
67
+ _ctx: RP0['_ctx'];
68
+ _errorShape: RP0['_errorShape'];
69
+ _meta: RP0['_meta'];
70
+ transformer: RP0['transformer'];
71
+ errorFormatter: RP0['errorFormatter'];
72
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'] & RP3['queries'];
73
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'];
74
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'];
75
+ procedures: RP0['procedures'] & RP1['procedures'] & RP2['procedures'] & RP3['procedures'];
76
+ routers: RP0['routers'] & RP1['routers'] & RP2['routers'] & RP3['routers'];
77
+ record: RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'];
78
+ }> & RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'];
79
+
80
+ export function mergeRoutersGeneric<
81
+ RP0 extends AnyRouterDef, RP1 extends AnyRouterDef, RP2 extends AnyRouterDef, RP3 extends AnyRouterDef, RP4 extends AnyRouterDef
82
+ >(
83
+ router0: Router<RP0>, router1: Router<RP1>, router2: Router<RP2>, router3: Router<RP3>, router4: Router<RP4>
84
+ ): Router<{
85
+ router: true;
86
+ _ctx: RP0['_ctx'];
87
+ _errorShape: RP0['_errorShape'];
88
+ _meta: RP0['_meta'];
89
+ transformer: RP0['transformer'];
90
+ errorFormatter: RP0['errorFormatter'];
91
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'] & RP3['queries'] & RP4['queries'];
92
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'] & RP4['mutations'];
93
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'] & RP4['subscriptions'];
94
+ procedures: RP0['procedures'] & RP1['procedures'] & RP2['procedures'] & RP3['procedures'] & RP4['procedures'];
95
+ routers: RP0['routers'] & RP1['routers'] & RP2['routers'] & RP3['routers'] & RP4['routers'];
96
+ record: RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'] & RP4['record'];
97
+ }> & RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'] & RP4['record'];
98
+
99
+ export function mergeRoutersGeneric<
100
+ RP0 extends AnyRouterDef, RP1 extends AnyRouterDef, RP2 extends AnyRouterDef, RP3 extends AnyRouterDef, RP4 extends AnyRouterDef, RP5 extends AnyRouterDef
101
+ >(
102
+ router0: Router<RP0>, router1: Router<RP1>, router2: Router<RP2>, router3: Router<RP3>, router4: Router<RP4>, router5: Router<RP5>
103
+ ): Router<{
104
+ router: true;
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'];
111
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'] & RP4['mutations'] & RP5['mutations'];
112
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'] & RP4['subscriptions'] & RP5['subscriptions'];
113
+ procedures: RP0['procedures'] & RP1['procedures'] & RP2['procedures'] & RP3['procedures'] & RP4['procedures'] & RP5['procedures'];
114
+ routers: RP0['routers'] & RP1['routers'] & RP2['routers'] & RP3['routers'] & RP4['routers'] & RP5['routers'];
115
+ record: RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'] & RP4['record'] & RP5['record'];
116
+ }> & RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'] & RP4['record'] & RP5['record'];
117
+
118
+ export function mergeRoutersGeneric<
119
+ RP0 extends AnyRouterDef, RP1 extends AnyRouterDef, RP2 extends AnyRouterDef, RP3 extends AnyRouterDef, RP4 extends AnyRouterDef, RP5 extends AnyRouterDef, RP6 extends AnyRouterDef
120
+ >(
121
+ router0: Router<RP0>, router1: Router<RP1>, router2: Router<RP2>, router3: Router<RP3>, router4: Router<RP4>, router5: Router<RP5>, router6: Router<RP6>
122
+ ): Router<{
123
+ router: true;
124
+ _ctx: RP0['_ctx'];
125
+ _errorShape: RP0['_errorShape'];
126
+ _meta: RP0['_meta'];
127
+ transformer: RP0['transformer'];
128
+ errorFormatter: RP0['errorFormatter'];
129
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'] & RP3['queries'] & RP4['queries'] & RP5['queries'] & RP6['queries'];
130
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'] & RP4['mutations'] & RP5['mutations'] & RP6['mutations'];
131
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'] & RP4['subscriptions'] & RP5['subscriptions'] & RP6['subscriptions'];
132
+ procedures: RP0['procedures'] & RP1['procedures'] & RP2['procedures'] & RP3['procedures'] & RP4['procedures'] & RP5['procedures'] & RP6['procedures'];
133
+ routers: RP0['routers'] & RP1['routers'] & RP2['routers'] & RP3['routers'] & RP4['routers'] & RP5['routers'] & RP6['routers'];
134
+ record: RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'] & RP4['record'] & RP5['record'] & RP6['record'];
135
+ }> & RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'] & RP4['record'] & RP5['record'] & RP6['record'];
136
+
137
+ export function mergeRoutersGeneric<
138
+ RP0 extends AnyRouterDef, RP1 extends AnyRouterDef, RP2 extends AnyRouterDef, RP3 extends AnyRouterDef, RP4 extends AnyRouterDef, RP5 extends AnyRouterDef, RP6 extends AnyRouterDef, RP7 extends AnyRouterDef
139
+ >(
140
+ router0: Router<RP0>, router1: Router<RP1>, router2: Router<RP2>, router3: Router<RP3>, router4: Router<RP4>, router5: Router<RP5>, router6: Router<RP6>, router7: Router<RP7>
141
+ ): Router<{
142
+ router: true;
143
+ _ctx: RP0['_ctx'];
144
+ _errorShape: RP0['_errorShape'];
145
+ _meta: RP0['_meta'];
146
+ transformer: RP0['transformer'];
147
+ errorFormatter: RP0['errorFormatter'];
148
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'] & RP3['queries'] & RP4['queries'] & RP5['queries'] & RP6['queries'] & RP7['queries'];
149
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'] & RP4['mutations'] & RP5['mutations'] & RP6['mutations'] & RP7['mutations'];
150
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'] & RP4['subscriptions'] & RP5['subscriptions'] & RP6['subscriptions'] & RP7['subscriptions'];
151
+ procedures: RP0['procedures'] & RP1['procedures'] & RP2['procedures'] & RP3['procedures'] & RP4['procedures'] & RP5['procedures'] & RP6['procedures'] & RP7['procedures'];
152
+ routers: RP0['routers'] & RP1['routers'] & RP2['routers'] & RP3['routers'] & RP4['routers'] & RP5['routers'] & RP6['routers'] & RP7['routers'];
153
+ record: RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'] & RP4['record'] & RP5['record'] & RP6['record'] & RP7['record'];
154
+ }> & RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'] & RP4['record'] & RP5['record'] & RP6['record'] & RP7['record'];
155
+
156
+ export function mergeRoutersGeneric<
157
+ 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
158
+ >(
159
+ 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>
160
+ ): Router<{
161
+ router: true;
162
+ _ctx: RP0['_ctx'];
163
+ _errorShape: RP0['_errorShape'];
164
+ _meta: RP0['_meta'];
165
+ transformer: RP0['transformer'];
166
+ errorFormatter: RP0['errorFormatter'];
167
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'] & RP3['queries'] & RP4['queries'] & RP5['queries'] & RP6['queries'] & RP7['queries'] & RP8['queries'];
168
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'] & RP4['mutations'] & RP5['mutations'] & RP6['mutations'] & RP7['mutations'] & RP8['mutations'];
169
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'] & RP4['subscriptions'] & RP5['subscriptions'] & RP6['subscriptions'] & RP7['subscriptions'] & RP8['subscriptions'];
170
+ procedures: RP0['procedures'] & RP1['procedures'] & RP2['procedures'] & RP3['procedures'] & RP4['procedures'] & RP5['procedures'] & RP6['procedures'] & RP7['procedures'] & RP8['procedures'];
171
+ routers: RP0['routers'] & RP1['routers'] & RP2['routers'] & RP3['routers'] & RP4['routers'] & RP5['routers'] & RP6['routers'] & RP7['routers'] & RP8['routers'];
172
+ record: RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'] & RP4['record'] & RP5['record'] & RP6['record'] & RP7['record'] & RP8['record'];
173
+ }> & RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'] & RP4['record'] & RP5['record'] & RP6['record'] & RP7['record'] & RP8['record'];
174
+
175
+ export function mergeRoutersGeneric<
176
+ 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
177
+ >(
178
+ 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>
179
+ ): Router<{
180
+ router: true;
181
+ _ctx: RP0['_ctx'];
182
+ _errorShape: RP0['_errorShape'];
183
+ _meta: RP0['_meta'];
184
+ transformer: RP0['transformer'];
185
+ errorFormatter: RP0['errorFormatter'];
186
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'] & RP3['queries'] & RP4['queries'] & RP5['queries'] & RP6['queries'] & RP7['queries'] & RP8['queries'] & RP9['queries'];
187
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'] & RP4['mutations'] & RP5['mutations'] & RP6['mutations'] & RP7['mutations'] & RP8['mutations'] & RP9['mutations'];
188
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'] & RP4['subscriptions'] & RP5['subscriptions'] & RP6['subscriptions'] & RP7['subscriptions'] & RP8['subscriptions'] & RP9['subscriptions'];
189
+ procedures: RP0['procedures'] & RP1['procedures'] & RP2['procedures'] & RP3['procedures'] & RP4['procedures'] & RP5['procedures'] & RP6['procedures'] & RP7['procedures'] & RP8['procedures'] & RP9['procedures'];
190
+ routers: RP0['routers'] & RP1['routers'] & RP2['routers'] & RP3['routers'] & RP4['routers'] & RP5['routers'] & RP6['routers'] & RP7['routers'] & RP8['routers'] & RP9['routers'];
191
+ record: RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'] & RP4['record'] & RP5['record'] & RP6['record'] & RP7['record'] & RP8['record'] & RP9['record'];
192
+ }> & RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'] & RP4['record'] & RP5['record'] & RP6['record'] & RP7['record'] & RP8['record'] & RP9['record'];
193
+
194
+ export function mergeRoutersGeneric<
195
+ 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
196
+ >(
197
+ 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>
198
+ ): Router<{
199
+ router: true;
200
+ _ctx: RP0['_ctx'];
201
+ _errorShape: RP0['_errorShape'];
202
+ _meta: RP0['_meta'];
203
+ transformer: RP0['transformer'];
204
+ errorFormatter: RP0['errorFormatter'];
205
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'] & RP3['queries'] & RP4['queries'] & RP5['queries'] & RP6['queries'] & RP7['queries'] & RP8['queries'] & RP9['queries'] & RP10['queries'];
206
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'] & RP4['mutations'] & RP5['mutations'] & RP6['mutations'] & RP7['mutations'] & RP8['mutations'] & RP9['mutations'] & RP10['mutations'];
207
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'] & RP4['subscriptions'] & RP5['subscriptions'] & RP6['subscriptions'] & RP7['subscriptions'] & RP8['subscriptions'] & RP9['subscriptions'] & RP10['subscriptions'];
208
+ procedures: RP0['procedures'] & RP1['procedures'] & RP2['procedures'] & RP3['procedures'] & RP4['procedures'] & RP5['procedures'] & RP6['procedures'] & RP7['procedures'] & RP8['procedures'] & RP9['procedures'] & RP10['procedures'];
209
+ routers: RP0['routers'] & RP1['routers'] & RP2['routers'] & RP3['routers'] & RP4['routers'] & RP5['routers'] & RP6['routers'] & RP7['routers'] & RP8['routers'] & RP9['routers'] & RP10['routers'];
210
+ record: RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'] & RP4['record'] & RP5['record'] & RP6['record'] & RP7['record'] & RP8['record'] & RP9['record'] & RP10['record'];
211
+ }> & RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'] & RP4['record'] & RP5['record'] & RP6['record'] & RP7['record'] & RP8['record'] & RP9['record'] & RP10['record'];
212
+
213
+ export function mergeRoutersGeneric<
214
+ 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
215
+ >(
216
+ 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>
217
+ ): Router<{
218
+ router: true;
219
+ _ctx: RP0['_ctx'];
220
+ _errorShape: RP0['_errorShape'];
221
+ _meta: RP0['_meta'];
222
+ transformer: RP0['transformer'];
223
+ errorFormatter: RP0['errorFormatter'];
224
+ 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'];
225
+ 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'];
226
+ 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'];
227
+ 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'];
228
+ routers: RP0['routers'] & RP1['routers'] & RP2['routers'] & RP3['routers'] & RP4['routers'] & RP5['routers'] & RP6['routers'] & RP7['routers'] & RP8['routers'] & RP9['routers'] & RP10['routers'] & RP11['routers'];
229
+ record: RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'] & RP4['record'] & RP5['record'] & RP6['record'] & RP7['record'] & RP8['record'] & RP9['record'] & RP10['record'] & RP11['record'];
230
+ }> & RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'] & RP4['record'] & RP5['record'] & RP6['record'] & RP7['record'] & RP8['record'] & RP9['record'] & RP10['record'] & RP11['record'];
231
+
232
+ export function mergeRoutersGeneric<
233
+ 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
234
+ >(
235
+ 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>
236
+ ): Router<{
237
+ router: true;
238
+ _ctx: RP0['_ctx'];
239
+ _errorShape: RP0['_errorShape'];
240
+ _meta: RP0['_meta'];
241
+ transformer: RP0['transformer'];
242
+ errorFormatter: RP0['errorFormatter'];
243
+ 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'];
244
+ 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'];
245
+ 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'];
246
+ 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'];
247
+ routers: RP0['routers'] & RP1['routers'] & RP2['routers'] & RP3['routers'] & RP4['routers'] & RP5['routers'] & RP6['routers'] & RP7['routers'] & RP8['routers'] & RP9['routers'] & RP10['routers'] & RP11['routers'] & RP12['routers'];
248
+ record: RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'] & RP4['record'] & RP5['record'] & RP6['record'] & RP7['record'] & RP8['record'] & RP9['record'] & RP10['record'] & RP11['record'] & RP12['record'];
249
+ }> & RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'] & RP4['record'] & RP5['record'] & RP6['record'] & RP7['record'] & RP8['record'] & RP9['record'] & RP10['record'] & RP11['record'] & RP12['record'];
250
+
251
+ export function mergeRoutersGeneric<
252
+ 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
253
+ >(
254
+ 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>
255
+ ): Router<{
256
+ router: true;
257
+ _ctx: RP0['_ctx'];
258
+ _errorShape: RP0['_errorShape'];
259
+ _meta: RP0['_meta'];
260
+ transformer: RP0['transformer'];
261
+ errorFormatter: RP0['errorFormatter'];
262
+ 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'];
263
+ 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'];
264
+ 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'];
265
+ 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'];
266
+ routers: RP0['routers'] & RP1['routers'] & RP2['routers'] & RP3['routers'] & RP4['routers'] & RP5['routers'] & RP6['routers'] & RP7['routers'] & RP8['routers'] & RP9['routers'] & RP10['routers'] & RP11['routers'] & RP12['routers'] & RP13['routers'];
267
+ record: RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'] & RP4['record'] & RP5['record'] & RP6['record'] & RP7['record'] & RP8['record'] & RP9['record'] & RP10['record'] & RP11['record'] & RP12['record'] & RP13['record'];
268
+ }> & RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'] & RP4['record'] & RP5['record'] & RP6['record'] & RP7['record'] & RP8['record'] & RP9['record'] & RP10['record'] & RP11['record'] & RP12['record'] & RP13['record'];
269
+
270
+ export function mergeRoutersGeneric<
271
+ 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
272
+ >(
273
+ 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>
274
+ ): Router<{
275
+ router: true;
276
+ _ctx: RP0['_ctx'];
277
+ _errorShape: RP0['_errorShape'];
278
+ _meta: RP0['_meta'];
279
+ transformer: RP0['transformer'];
280
+ errorFormatter: RP0['errorFormatter'];
281
+ 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'];
282
+ 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'];
283
+ 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'];
284
+ 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'];
285
+ routers: RP0['routers'] & RP1['routers'] & RP2['routers'] & RP3['routers'] & RP4['routers'] & RP5['routers'] & RP6['routers'] & RP7['routers'] & RP8['routers'] & RP9['routers'] & RP10['routers'] & RP11['routers'] & RP12['routers'] & RP13['routers'] & RP14['routers'];
286
+ record: RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'] & RP4['record'] & RP5['record'] & RP6['record'] & RP7['record'] & RP8['record'] & RP9['record'] & RP10['record'] & RP11['record'] & RP12['record'] & RP13['record'] & RP14['record'];
287
+ }> & RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'] & RP4['record'] & RP5['record'] & RP6['record'] & RP7['record'] & RP8['record'] & RP9['record'] & RP10['record'] & RP11['record'] & RP12['record'] & RP13['record'] & RP14['record'];
288
+
289
+ export function mergeRoutersGeneric<
290
+ 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
291
+ >(
292
+ 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>
293
+ ): Router<{
294
+ router: true;
295
+ _ctx: RP0['_ctx'];
296
+ _errorShape: RP0['_errorShape'];
297
+ _meta: RP0['_meta'];
298
+ transformer: RP0['transformer'];
299
+ errorFormatter: RP0['errorFormatter'];
300
+ 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'];
301
+ 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'];
302
+ 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'];
303
+ 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'];
304
+ routers: RP0['routers'] & RP1['routers'] & RP2['routers'] & RP3['routers'] & RP4['routers'] & RP5['routers'] & RP6['routers'] & RP7['routers'] & RP8['routers'] & RP9['routers'] & RP10['routers'] & RP11['routers'] & RP12['routers'] & RP13['routers'] & RP14['routers'] & RP15['routers'];
305
+ record: RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'] & RP4['record'] & RP5['record'] & RP6['record'] & RP7['record'] & RP8['record'] & RP9['record'] & RP10['record'] & RP11['record'] & RP12['record'] & RP13['record'] & RP14['record'] & RP15['record'];
306
+ }> & RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'] & RP4['record'] & RP5['record'] & RP6['record'] & RP7['record'] & RP8['record'] & RP9['record'] & RP10['record'] & RP11['record'] & RP12['record'] & RP13['record'] & RP14['record'] & RP15['record'];
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
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>
312
+ ): Router<{
313
+ router: true;
314
+ _ctx: RP0['_ctx'];
315
+ _errorShape: RP0['_errorShape'];
316
+ _meta: RP0['_meta'];
317
+ transformer: RP0['transformer'];
318
+ errorFormatter: RP0['errorFormatter'];
319
+ 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'];
320
+ 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'];
321
+ 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'];
322
+ 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'];
323
+ routers: RP0['routers'] & RP1['routers'] & RP2['routers'] & RP3['routers'] & RP4['routers'] & RP5['routers'] & RP6['routers'] & RP7['routers'] & RP8['routers'] & RP9['routers'] & RP10['routers'] & RP11['routers'] & RP12['routers'] & RP13['routers'] & RP14['routers'] & RP15['routers'] & RP16['routers'];
324
+ record: RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'] & RP4['record'] & RP5['record'] & RP6['record'] & RP7['record'] & RP8['record'] & RP9['record'] & RP10['record'] & RP11['record'] & RP12['record'] & RP13['record'] & RP14['record'] & RP15['record'] & RP16['record'];
325
+ }> & RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'] & RP4['record'] & RP5['record'] & RP6['record'] & RP7['record'] & RP8['record'] & RP9['record'] & RP10['record'] & RP11['record'] & RP12['record'] & RP13['record'] & RP14['record'] & RP15['record'] & RP16['record'];
326
+
327
+ export function mergeRoutersGeneric<
328
+ 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
329
+ >(
330
+ 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>
331
+ ): Router<{
332
+ router: true;
333
+ _ctx: RP0['_ctx'];
334
+ _errorShape: RP0['_errorShape'];
335
+ _meta: RP0['_meta'];
336
+ transformer: RP0['transformer'];
337
+ errorFormatter: RP0['errorFormatter'];
338
+ 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'];
339
+ 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'];
340
+ 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'];
341
+ 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'];
342
+ routers: RP0['routers'] & RP1['routers'] & RP2['routers'] & RP3['routers'] & RP4['routers'] & RP5['routers'] & RP6['routers'] & RP7['routers'] & RP8['routers'] & RP9['routers'] & RP10['routers'] & RP11['routers'] & RP12['routers'] & RP13['routers'] & RP14['routers'] & RP15['routers'] & RP16['routers'] & RP17['routers'];
343
+ record: RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'] & RP4['record'] & RP5['record'] & RP6['record'] & RP7['record'] & RP8['record'] & RP9['record'] & RP10['record'] & RP11['record'] & RP12['record'] & RP13['record'] & RP14['record'] & RP15['record'] & RP16['record'] & RP17['record'];
344
+ }> & RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'] & RP4['record'] & RP5['record'] & RP6['record'] & RP7['record'] & RP8['record'] & RP9['record'] & RP10['record'] & RP11['record'] & RP12['record'] & RP13['record'] & RP14['record'] & RP15['record'] & RP16['record'] & RP17['record'];
345
+
346
+ export function mergeRoutersGeneric<
347
+ 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
348
+ >(
349
+ 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>
350
+ ): Router<{
351
+ router: true;
352
+ _ctx: RP0['_ctx'];
353
+ _errorShape: RP0['_errorShape'];
354
+ _meta: RP0['_meta'];
355
+ transformer: RP0['transformer'];
356
+ errorFormatter: RP0['errorFormatter'];
357
+ 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'];
358
+ 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'];
359
+ 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'];
360
+ 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'];
361
+ routers: RP0['routers'] & RP1['routers'] & RP2['routers'] & RP3['routers'] & RP4['routers'] & RP5['routers'] & RP6['routers'] & RP7['routers'] & RP8['routers'] & RP9['routers'] & RP10['routers'] & RP11['routers'] & RP12['routers'] & RP13['routers'] & RP14['routers'] & RP15['routers'] & RP16['routers'] & RP17['routers'] & RP18['routers'];
362
+ record: RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'] & RP4['record'] & RP5['record'] & RP6['record'] & RP7['record'] & RP8['record'] & RP9['record'] & RP10['record'] & RP11['record'] & RP12['record'] & RP13['record'] & RP14['record'] & RP15['record'] & RP16['record'] & RP17['record'] & RP18['record'];
363
+ }> & RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'] & RP4['record'] & RP5['record'] & RP6['record'] & RP7['record'] & RP8['record'] & RP9['record'] & RP10['record'] & RP11['record'] & RP12['record'] & RP13['record'] & RP14['record'] & RP15['record'] & RP16['record'] & RP17['record'] & RP18['record'];
364
+
365
+ export function mergeRoutersGeneric<
366
+ 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
367
+ >(
368
+ 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>
369
+ ): Router<{
370
+ router: true;
371
+ _ctx: RP0['_ctx'];
372
+ _errorShape: RP0['_errorShape'];
373
+ _meta: RP0['_meta'];
374
+ transformer: RP0['transformer'];
375
+ errorFormatter: RP0['errorFormatter'];
376
+ 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'];
377
+ 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'];
378
+ 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'];
379
+ 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'];
380
+ routers: RP0['routers'] & RP1['routers'] & RP2['routers'] & RP3['routers'] & RP4['routers'] & RP5['routers'] & RP6['routers'] & RP7['routers'] & RP8['routers'] & RP9['routers'] & RP10['routers'] & RP11['routers'] & RP12['routers'] & RP13['routers'] & RP14['routers'] & RP15['routers'] & RP16['routers'] & RP17['routers'] & RP18['routers'] & RP19['routers'];
381
+ record: RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'] & RP4['record'] & RP5['record'] & RP6['record'] & RP7['record'] & RP8['record'] & RP9['record'] & RP10['record'] & RP11['record'] & RP12['record'] & RP13['record'] & RP14['record'] & RP15['record'] & RP16['record'] & RP17['record'] & RP18['record'] & RP19['record'];
382
+ }> & RP0['record'] & RP1['record'] & RP2['record'] & RP3['record'] & RP4['record'] & RP5['record'] & RP6['record'] & RP7['record'] & RP8['record'] & RP9['record'] & RP10['record'] & RP11['record'] & RP12['record'] & RP13['record'] & RP14['record'] & RP15['record'] & RP16['record'] & RP17['record'] & RP18['record'] & RP19['record'];
383
+
384
+ export function mergeRoutersGeneric(...args: AnyRouter[]): AnyRouter {
385
+ return mergeRouters(...args) as any;
386
+ }
@@ -0,0 +1,43 @@
1
+ import { 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
+ // FIXME this should probably be restricted
37
+ errorShape: any;
38
+ }
39
+
40
+ /**
41
+ * @internal
42
+ */
43
+ export type CreateRootConfig<T extends RootConfig> = T;