@trpc/server 10.0.0-alpha.23 → 10.0.0-alpha.26

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 (196) hide show
  1. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.d.ts +1 -1
  2. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.dev.js +100 -20
  3. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.prod.js +100 -20
  4. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.esm.js +99 -19
  5. package/adapters/aws-lambda/index.d.ts +1 -0
  6. package/adapters/aws-lambda/index.js +1 -0
  7. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.d.ts +1 -0
  8. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.dev.js +25 -0
  9. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.js +7 -0
  10. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.prod.js +25 -0
  11. package/adapters/lambda/dist/trpc-server-adapters-lambda.esm.js +21 -0
  12. package/dist/TRPCError.d.ts.map +1 -1
  13. package/dist/adapters/aws-lambda/index.d.ts +14 -0
  14. package/dist/adapters/aws-lambda/index.d.ts.map +1 -0
  15. package/dist/adapters/aws-lambda/utils.d.ts +34 -0
  16. package/dist/adapters/aws-lambda/utils.d.ts.map +1 -0
  17. package/dist/adapters/express.d.ts +1 -1
  18. package/dist/adapters/express.d.ts.map +1 -1
  19. package/dist/adapters/express.js +4 -4
  20. package/dist/adapters/express.mjs +4 -4
  21. package/dist/adapters/fastify/fastifyRequestHandler.d.ts +1 -1
  22. package/dist/adapters/fastify/fastifyRequestHandler.d.ts.map +1 -1
  23. package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts +1 -1
  24. package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts.map +1 -1
  25. package/dist/adapters/fastify/index.js +3 -3
  26. package/dist/adapters/fastify/index.mjs +3 -3
  27. package/dist/adapters/fetch/fetchRequestHandler.d.ts +1 -1
  28. package/dist/adapters/fetch/fetchRequestHandler.d.ts.map +1 -1
  29. package/dist/adapters/fetch/index.js +3 -3
  30. package/dist/adapters/fetch/index.mjs +3 -3
  31. package/dist/adapters/fetch/types.d.ts +1 -1
  32. package/dist/adapters/fetch/types.d.ts.map +1 -1
  33. package/dist/adapters/lambda/index.d.ts +12 -0
  34. package/dist/adapters/lambda/index.d.ts.map +1 -0
  35. package/dist/adapters/next.d.ts +1 -1
  36. package/dist/adapters/next.d.ts.map +1 -1
  37. package/dist/adapters/next.js +4 -4
  38. package/dist/adapters/next.mjs +4 -4
  39. package/dist/adapters/node-http/index.js +4 -4
  40. package/dist/adapters/node-http/index.mjs +4 -4
  41. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts +1 -1
  42. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +1 -1
  43. package/dist/adapters/node-http/types.d.ts +3 -3
  44. package/dist/adapters/node-http/types.d.ts.map +1 -1
  45. package/dist/adapters/standalone.d.ts +2 -2
  46. package/dist/adapters/standalone.d.ts.map +1 -1
  47. package/dist/adapters/standalone.js +4 -4
  48. package/dist/adapters/standalone.mjs +4 -4
  49. package/dist/adapters/ws.d.ts +3 -2
  50. package/dist/adapters/ws.d.ts.map +1 -1
  51. package/dist/adapters/ws.js +3 -8
  52. package/dist/adapters/ws.mjs +3 -8
  53. package/dist/core/index.d.ts +5 -0
  54. package/dist/core/index.d.ts.map +1 -0
  55. package/dist/core/initTRPC.d.ts +82 -0
  56. package/dist/core/initTRPC.d.ts.map +1 -0
  57. package/dist/core/internals/__generated__/mergeRoutersGeneric.d.ts +202 -0
  58. package/dist/core/internals/__generated__/mergeRoutersGeneric.d.ts.map +1 -0
  59. package/dist/core/internals/config.d.ts +38 -0
  60. package/dist/core/internals/config.d.ts.map +1 -0
  61. package/dist/core/internals/getParseFn.d.ts +9 -0
  62. package/dist/core/internals/getParseFn.d.ts.map +1 -0
  63. package/dist/core/internals/internalProcedure.d.ts +61 -0
  64. package/dist/core/internals/internalProcedure.d.ts.map +1 -0
  65. package/dist/core/internals/mergeRouters.d.ts +3 -0
  66. package/dist/core/internals/mergeRouters.d.ts.map +1 -0
  67. package/dist/core/internals/mergeWithoutOverrides.d.ts +5 -0
  68. package/dist/core/internals/mergeWithoutOverrides.d.ts.map +1 -0
  69. package/dist/core/internals/omitPrototype.d.ts +6 -0
  70. package/dist/core/internals/omitPrototype.d.ts.map +1 -0
  71. package/dist/core/internals/procedureBuilder.d.ts +71 -0
  72. package/dist/core/internals/procedureBuilder.d.ts.map +1 -0
  73. package/dist/core/internals/utils.d.ts +44 -0
  74. package/dist/core/internals/utils.d.ts.map +1 -0
  75. package/dist/core/middleware.d.ts +78 -0
  76. package/dist/core/middleware.d.ts.map +1 -0
  77. package/dist/core/parser.d.ts +25 -0
  78. package/dist/core/parser.d.ts.map +1 -0
  79. package/dist/core/procedure.d.ts +57 -0
  80. package/dist/core/procedure.d.ts.map +1 -0
  81. package/dist/core/router.d.ts +110 -0
  82. package/dist/core/router.d.ts.map +1 -0
  83. package/dist/core/types.d.ts +17 -0
  84. package/dist/core/types.d.ts.map +1 -0
  85. package/dist/{internals → deprecated/internals}/callProcedure.d.ts +4 -1
  86. package/dist/deprecated/internals/callProcedure.d.ts.map +1 -0
  87. package/dist/{internals → deprecated/internals}/middlewares.d.ts +16 -1
  88. package/dist/deprecated/internals/middlewares.d.ts.map +1 -0
  89. package/dist/{internals → deprecated/internals}/procedure.d.ts +10 -1
  90. package/dist/deprecated/internals/procedure.d.ts.map +1 -0
  91. package/dist/deprecated/interop.d.ts +34 -0
  92. package/dist/deprecated/interop.d.ts.map +1 -0
  93. package/dist/{router.d.ts → deprecated/router.d.ts} +27 -6
  94. package/dist/deprecated/router.d.ts.map +1 -0
  95. package/dist/{envelopes-1deb2fa7.mjs → envelopes-af8c2959.mjs} +12 -1
  96. package/dist/{envelopes-a953b930.js → envelopes-b6dd0367.js} +11 -1
  97. package/dist/error/TRPCError.d.ts +11 -0
  98. package/dist/error/TRPCError.d.ts.map +1 -0
  99. package/dist/error/formatter.d.ts +33 -0
  100. package/dist/error/formatter.d.ts.map +1 -0
  101. package/dist/error/utils.d.ts +5 -0
  102. package/dist/error/utils.d.ts.map +1 -0
  103. package/dist/http/index.d.ts +1 -1
  104. package/dist/http/index.d.ts.map +1 -1
  105. package/dist/http/internals/types.d.ts +9 -7
  106. package/dist/http/internals/types.d.ts.map +1 -1
  107. package/dist/http/resolveHTTPResponse.d.ts +1 -1
  108. package/dist/http/resolveHTTPResponse.d.ts.map +1 -1
  109. package/dist/http/{responseMeta.d.ts → types.d.ts} +1 -1
  110. package/dist/http/types.d.ts.map +1 -0
  111. package/dist/index.d.ts +2 -1
  112. package/dist/index.d.ts.map +1 -1
  113. package/dist/index.js +686 -12
  114. package/dist/index.mjs +688 -16
  115. package/dist/internals/transformTRPCResponse.d.ts +1 -1
  116. package/dist/internals/transformTRPCResponse.d.ts.map +1 -1
  117. package/dist/internals/types.d.ts +23 -0
  118. package/dist/internals/types.d.ts.map +1 -0
  119. package/dist/{nodeHTTPRequestHandler-1cdb6383.mjs → nodeHTTPRequestHandler-5ad62229.mjs} +1 -1
  120. package/dist/{nodeHTTPRequestHandler-848f07b5.js → nodeHTTPRequestHandler-9ddd18f2.js} +1 -1
  121. package/dist/{resolveHTTPResponse-ec3dccaa.js → resolveHTTPResponse-5932d785.js} +16 -10
  122. package/dist/{resolveHTTPResponse-54a79e6c.mjs → resolveHTTPResponse-ccb9cfa1.mjs} +15 -9
  123. package/dist/rpc/envelopes.d.ts +1 -1
  124. package/dist/rpc/envelopes.d.ts.map +1 -1
  125. package/dist/rpc/index.js +1 -1
  126. package/dist/rpc/index.mjs +1 -1
  127. package/dist/rpc/internals/invert.d.ts +18 -0
  128. package/dist/rpc/internals/invert.d.ts.map +1 -0
  129. package/dist/{transformTRPCResponse-333bed6c.js → transformTRPCResponse-0c261655.js} +0 -27
  130. package/dist/{transformTRPCResponse-e0cba527.mjs → transformTRPCResponse-747b9a68.mjs} +1 -27
  131. package/dist/transformer.d.ts +14 -0
  132. package/dist/transformer.d.ts.map +1 -1
  133. package/dist/types.d.ts +9 -0
  134. package/dist/types.d.ts.map +1 -1
  135. package/package.json +11 -4
  136. package/src/TRPCError.ts +1 -1
  137. package/src/adapters/aws-lambda/index.ts +156 -0
  138. package/src/adapters/aws-lambda/utils.ts +91 -0
  139. package/src/adapters/express.ts +1 -1
  140. package/src/adapters/fastify/fastifyRequestHandler.ts +1 -1
  141. package/src/adapters/fastify/fastifyTRPCPlugin.ts +2 -2
  142. package/src/adapters/fetch/fetchRequestHandler.ts +1 -1
  143. package/src/adapters/fetch/types.ts +1 -1
  144. package/src/adapters/lambda/index.ts +18 -0
  145. package/src/adapters/next.ts +1 -1
  146. package/src/adapters/node-http/nodeHTTPRequestHandler.ts +3 -2
  147. package/src/adapters/node-http/types.ts +5 -3
  148. package/src/adapters/standalone.ts +1 -1
  149. package/src/adapters/ws.ts +5 -10
  150. package/src/core/index.ts +5 -0
  151. package/src/core/initTRPC.ts +90 -0
  152. package/src/core/internals/__generated__/mergeRoutersGeneric.ts +306 -0
  153. package/src/core/internals/config.ts +44 -0
  154. package/src/core/internals/getParseFn.ts +47 -0
  155. package/src/core/internals/internalProcedure.ts +265 -0
  156. package/src/core/internals/mergeRouters.ts +57 -0
  157. package/src/core/internals/mergeWithoutOverrides.ts +19 -0
  158. package/src/core/internals/omitPrototype.ts +9 -0
  159. package/src/core/internals/procedureBuilder.ts +100 -0
  160. package/src/core/internals/utils.ts +64 -0
  161. package/src/core/middleware.ts +93 -0
  162. package/src/core/parser.ts +45 -0
  163. package/src/core/procedure.ts +72 -0
  164. package/src/core/router.ts +313 -0
  165. package/src/core/types.ts +37 -0
  166. package/src/{internals → deprecated/internals}/callProcedure.ts +4 -1
  167. package/src/{internals → deprecated/internals}/middlewares.ts +17 -1
  168. package/src/{internals → deprecated/internals}/procedure.ts +19 -4
  169. package/src/deprecated/interop.ts +169 -0
  170. package/src/{router.ts → deprecated/router.ts} +49 -12
  171. package/src/error/TRPCError.ts +27 -0
  172. package/src/error/formatter.ts +51 -0
  173. package/src/error/utils.ts +49 -0
  174. package/src/http/index.ts +1 -1
  175. package/src/http/internals/types.ts +9 -11
  176. package/src/http/resolveHTTPResponse.ts +6 -11
  177. package/src/http/{responseMeta.ts → types.ts} +0 -0
  178. package/src/index.ts +2 -1
  179. package/src/internals/transformTRPCResponse.ts +1 -1
  180. package/src/internals/types.ts +24 -0
  181. package/src/rpc/codes.ts +1 -1
  182. package/src/rpc/envelopes.ts +1 -1
  183. package/src/rpc/internals/invert.ts +27 -0
  184. package/src/transformer.ts +28 -0
  185. package/src/types.ts +12 -0
  186. package/dist/http/responseMeta.d.ts.map +0 -1
  187. package/dist/internals/baseHandlerOptions.d.ts +0 -13
  188. package/dist/internals/baseHandlerOptions.d.ts.map +0 -1
  189. package/dist/internals/callProcedure.d.ts.map +0 -1
  190. package/dist/internals/middlewares.d.ts.map +0 -1
  191. package/dist/internals/onErrorFunction.d.ts +0 -11
  192. package/dist/internals/onErrorFunction.d.ts.map +0 -1
  193. package/dist/internals/procedure.d.ts.map +0 -1
  194. package/dist/router.d.ts.map +0 -1
  195. package/src/internals/baseHandlerOptions.ts +0 -13
  196. package/src/internals/onErrorFunction.ts +0 -11
@@ -1,11 +1,11 @@
1
1
  import { FastifyReply, FastifyRequest } from 'fastify';
2
2
  import { assertNotBrowser } from '../../assertNotBrowser';
3
+ import { AnyRouter, inferRouterContext } from '../../core';
3
4
  import {
4
5
  HTTPBaseHandlerOptions,
5
6
  HTTPRequest,
6
7
  } from '../../http/internals/types';
7
8
  import { resolveHTTPResponse } from '../../http/resolveHTTPResponse';
8
- import { AnyRouter, inferRouterContext } from '../../router';
9
9
  import { NodeHTTPCreateContextOption } from '../node-http';
10
10
 
11
11
  assertNotBrowser();
@@ -1,7 +1,7 @@
1
1
  /// <reference types="@fastify/websocket" />
2
2
  import { FastifyInstance, FastifyReply, FastifyRequest } from 'fastify';
3
3
  import { FastifyHandlerOptions } from '.';
4
- import { AnyRouter } from '../..';
4
+ import { AnyRouter } from '../../core';
5
5
  import { NodeHTTPCreateContextFnOptions } from '../node-http';
6
6
  import { WSSHandlerOptions, applyWSSHandler } from '../ws';
7
7
  import { fastifyRequestHandler } from './fastifyRequestHandler';
@@ -45,7 +45,7 @@ export function fastifyTRPCPlugin<TRouter extends AnyRouter>(
45
45
 
46
46
  if (opts.useWSS) {
47
47
  applyWSSHandler<TRouter>({
48
- ...(opts.trpcOptions as WSSHandlerOptions<TRouter>),
48
+ ...(opts.trpcOptions as unknown as WSSHandlerOptions<TRouter>),
49
49
  wss: fastify.websocketServer,
50
50
  });
51
51
  // eslint-disable-next-line @typescript-eslint/no-empty-function
@@ -1,7 +1,7 @@
1
1
  import { assertNotBrowser } from '../../assertNotBrowser';
2
+ import { AnyRouter } from '../../core';
2
3
  import { HTTPRequest } from '../../http/internals/types';
3
4
  import { resolveHTTPResponse } from '../../http/resolveHTTPResponse';
4
- import { AnyRouter } from '../../router';
5
5
  import { FetchHandlerOptions } from './types';
6
6
 
7
7
  assertNotBrowser();
@@ -1,5 +1,5 @@
1
+ import { AnyRouter, inferRouterContext } from '../../core';
1
2
  import { HTTPBaseHandlerOptions } from '../../http/internals/types';
2
- import { AnyRouter, inferRouterContext } from '../../router';
3
3
 
4
4
  export type FetchCreateContextFnOptions = {
5
5
  req: Request;
@@ -0,0 +1,18 @@
1
+ import {
2
+ CreateAWSLambdaContextOptions,
3
+ awsLambdaRequestHandler,
4
+ } from '../aws-lambda';
5
+ import { APIGatewayEvent } from '../aws-lambda/utils';
6
+
7
+ export * from '../aws-lambda';
8
+
9
+ /**
10
+ * @deprecated use `aws-lambda` instead
11
+ */
12
+ export type CreateLambdaContextOptions<T extends APIGatewayEvent> =
13
+ CreateAWSLambdaContextOptions<T>;
14
+
15
+ /**
16
+ * @deprecated use `aws-lambda` instead
17
+ */
18
+ export const lambdaRequestHandler = awsLambdaRequestHandler;
@@ -6,7 +6,7 @@ import type {
6
6
  NextApiResponse,
7
7
  } from 'next/types';
8
8
  import { TRPCError } from '../TRPCError';
9
- import { AnyRouter } from '../router';
9
+ import { AnyRouter } from '../core';
10
10
  import { nodeHTTPRequestHandler } from './node-http';
11
11
  import {
12
12
  NodeHTTPCreateContextFnOptions,
@@ -1,8 +1,9 @@
1
1
  /* eslint-disable @typescript-eslint/no-non-null-assertion */
2
2
  import { assertNotBrowser } from '../../assertNotBrowser';
3
+ import { AnyRouter } from '../../core';
4
+ import { inferRouterParams } from '../../core/types';
3
5
  import { HTTPRequest } from '../../http/internals/types';
4
6
  import { resolveHTTPResponse } from '../../http/resolveHTTPResponse';
5
- import { AnyRouter, inferRouterContext } from '../../router';
6
7
  import { getPostBody } from './internals/getPostBody';
7
8
  import {
8
9
  NodeHTTPHandlerOptions,
@@ -28,7 +29,7 @@ export async function nodeHTTPRequestHandler<
28
29
  TResponse extends NodeHTTPResponse,
29
30
  >(opts: NodeHTTPRequestHandlerOptions<TRouter, TRequest, TResponse>) {
30
31
  const createContext = async function _createContext(): Promise<
31
- inferRouterContext<TRouter>
32
+ inferRouterParams<TRouter>['_ctx']
32
33
  > {
33
34
  return await opts.createContext?.(opts);
34
35
  };
@@ -1,13 +1,13 @@
1
1
  import { IncomingMessage, ServerResponse } from 'http';
2
+ import { AnyRouter, inferRouterContext } from '../../core';
3
+ import { inferRouterParams } from '../../core';
2
4
  import { HTTPBaseHandlerOptions } from '../../http/internals/types';
3
- import { AnyRouter, inferRouterContext } from '../../router';
4
5
 
5
6
  interface ParsedQs {
6
7
  [key: string]: undefined | string | string[] | ParsedQs | ParsedQs[];
7
8
  }
8
9
 
9
10
  export type NodeHTTPRequest = IncomingMessage & {
10
- method?: string;
11
11
  query?: ParsedQs;
12
12
  body?: unknown;
13
13
  };
@@ -50,4 +50,6 @@ export type NodeHTTPCreateContextFn<
50
50
  TResponse,
51
51
  > = (
52
52
  opts: NodeHTTPCreateContextFnOptions<TRequest, TResponse>,
53
- ) => inferRouterContext<TRouter> | Promise<inferRouterContext<TRouter>>;
53
+ ) =>
54
+ | inferRouterParams<TRouter>['_ctx']
55
+ | Promise<inferRouterParams<TRouter>['_ctx']>;
@@ -2,7 +2,7 @@
2
2
 
3
3
  /* eslint-disable @typescript-eslint/no-explicit-any */
4
4
  import http from 'http';
5
- import { AnyRouter } from '../router';
5
+ import { AnyRouter } from '../core';
6
6
  import {
7
7
  NodeHTTPCreateContextFnOptions,
8
8
  NodeHTTPHandlerOptions,
@@ -1,12 +1,11 @@
1
1
  import { IncomingMessage } from 'http';
2
2
  import ws from 'ws';
3
3
  import { TRPCError } from '../TRPCError';
4
- import { BaseHandlerOptions } from '../internals/baseHandlerOptions';
5
- import { callProcedure } from '../internals/callProcedure';
4
+ import { AnyRouter, ProcedureType, inferRouterContext } from '../core';
6
5
  import { getCauseFromUnknown, getErrorFromUnknown } from '../internals/errors';
7
6
  import { transformTRPCResponse } from '../internals/transformTRPCResponse';
7
+ import { BaseHandlerOptions } from '../internals/types';
8
8
  import { Unsubscribable, isObservable } from '../observable';
9
- import { AnyRouter, ProcedureType, inferRouterContext } from '../router';
10
9
  import {
11
10
  JSONRPC2,
12
11
  TRPCClientOutgoingMessage,
@@ -152,13 +151,9 @@ export function applyWSSHandler<TRouter extends AnyRouter>(
152
151
  const type = msg.method;
153
152
  try {
154
153
  await ctxPromise; // asserts context has been set
155
- const result = await callProcedure({
156
- path,
157
- input,
158
- type,
159
- router,
160
- ctx,
161
- });
154
+
155
+ const caller = router.createCaller(ctx);
156
+ const result = await caller[type](path, input as any);
162
157
 
163
158
  if (type === 'subscription') {
164
159
  if (!isObservable(result)) {
@@ -0,0 +1,5 @@
1
+ export type { AnyRouter } from './router';
2
+ export type { Procedure, ProcedureParams } from './procedure';
3
+
4
+ export { initTRPC } from './initTRPC';
5
+ export * from './types';
@@ -0,0 +1,90 @@
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 undefined
46
+ ? DefaultDataTransformer
47
+ : CombinedDataTransformer
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
+ );
62
+ return {
63
+ /**
64
+ * These are just types, they can't be used
65
+ * @internal
66
+ */
67
+ _config: null as unknown as $Config,
68
+ /**
69
+ * Builder object for creating procedures
70
+ */
71
+ procedure: createBuilder<$Context, $Meta>(),
72
+ /**
73
+ * Create reusable middlewares
74
+ */
75
+ middleware: createMiddlewareFactory<$Context, $Meta>(),
76
+ /**
77
+ * Create a router
78
+ * FIXME this should also use error formatter
79
+ */
80
+ router: createRouterFactory<$Config>({
81
+ errorFormatter,
82
+ transformer,
83
+ }),
84
+ /**
85
+ * Merge Routers
86
+ */
87
+ mergeRouters: mergeRoutersGeneric,
88
+ };
89
+ };
90
+ }
@@ -0,0 +1,306 @@
1
+ import { AnyRouter, AnyRouterParams, Router } from "../../router";
2
+ import { mergeRouters } from '../mergeRouters';
3
+
4
+ export function mergeRoutersGeneric<
5
+ RP0 extends AnyRouterParams
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
+ }>;
18
+
19
+ export function mergeRoutersGeneric<
20
+ RP0 extends AnyRouterParams, RP1 extends AnyRouterParams
21
+ >(
22
+ router0: Router<RP0>, router1: Router<RP1>
23
+ ): Router<{
24
+ _ctx: RP0['_ctx'];
25
+ _errorShape: RP0['_errorShape'];
26
+ _meta: RP0['_meta'];
27
+ transformer: RP0['transformer'];
28
+ errorFormatter: RP0['errorFormatter'];
29
+ queries: RP0['queries'] & RP1['queries'];
30
+ mutations: RP0['mutations'] & RP1['mutations'];
31
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'];
32
+ }>;
33
+
34
+ export function mergeRoutersGeneric<
35
+ RP0 extends AnyRouterParams, RP1 extends AnyRouterParams, RP2 extends AnyRouterParams
36
+ >(
37
+ router0: Router<RP0>, router1: Router<RP1>, router2: Router<RP2>
38
+ ): Router<{
39
+ _ctx: RP0['_ctx'];
40
+ _errorShape: RP0['_errorShape'];
41
+ _meta: RP0['_meta'];
42
+ transformer: RP0['transformer'];
43
+ errorFormatter: RP0['errorFormatter'];
44
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'];
45
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'];
46
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'];
47
+ }>;
48
+
49
+ export function mergeRoutersGeneric<
50
+ RP0 extends AnyRouterParams, RP1 extends AnyRouterParams, RP2 extends AnyRouterParams, RP3 extends AnyRouterParams
51
+ >(
52
+ router0: Router<RP0>, router1: Router<RP1>, router2: Router<RP2>, router3: Router<RP3>
53
+ ): Router<{
54
+ _ctx: RP0['_ctx'];
55
+ _errorShape: RP0['_errorShape'];
56
+ _meta: RP0['_meta'];
57
+ transformer: RP0['transformer'];
58
+ errorFormatter: RP0['errorFormatter'];
59
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'] & RP3['queries'];
60
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'];
61
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'];
62
+ }>;
63
+
64
+ export function mergeRoutersGeneric<
65
+ RP0 extends AnyRouterParams, RP1 extends AnyRouterParams, RP2 extends AnyRouterParams, RP3 extends AnyRouterParams, RP4 extends AnyRouterParams
66
+ >(
67
+ router0: Router<RP0>, router1: Router<RP1>, router2: Router<RP2>, router3: Router<RP3>, router4: Router<RP4>
68
+ ): Router<{
69
+ _ctx: RP0['_ctx'];
70
+ _errorShape: RP0['_errorShape'];
71
+ _meta: RP0['_meta'];
72
+ transformer: RP0['transformer'];
73
+ errorFormatter: RP0['errorFormatter'];
74
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'] & RP3['queries'] & RP4['queries'];
75
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'] & RP4['mutations'];
76
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'] & RP4['subscriptions'];
77
+ }>;
78
+
79
+ export function mergeRoutersGeneric<
80
+ RP0 extends AnyRouterParams, RP1 extends AnyRouterParams, RP2 extends AnyRouterParams, RP3 extends AnyRouterParams, RP4 extends AnyRouterParams, RP5 extends AnyRouterParams
81
+ >(
82
+ router0: Router<RP0>, router1: Router<RP1>, router2: Router<RP2>, router3: Router<RP3>, router4: Router<RP4>, router5: Router<RP5>
83
+ ): Router<{
84
+ _ctx: RP0['_ctx'];
85
+ _errorShape: RP0['_errorShape'];
86
+ _meta: RP0['_meta'];
87
+ transformer: RP0['transformer'];
88
+ errorFormatter: RP0['errorFormatter'];
89
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'] & RP3['queries'] & RP4['queries'] & RP5['queries'];
90
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'] & RP4['mutations'] & RP5['mutations'];
91
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'] & RP4['subscriptions'] & RP5['subscriptions'];
92
+ }>;
93
+
94
+ export function mergeRoutersGeneric<
95
+ RP0 extends AnyRouterParams, RP1 extends AnyRouterParams, RP2 extends AnyRouterParams, RP3 extends AnyRouterParams, RP4 extends AnyRouterParams, RP5 extends AnyRouterParams, RP6 extends AnyRouterParams
96
+ >(
97
+ router0: Router<RP0>, router1: Router<RP1>, router2: Router<RP2>, router3: Router<RP3>, router4: Router<RP4>, router5: Router<RP5>, router6: Router<RP6>
98
+ ): Router<{
99
+ _ctx: RP0['_ctx'];
100
+ _errorShape: RP0['_errorShape'];
101
+ _meta: RP0['_meta'];
102
+ transformer: RP0['transformer'];
103
+ errorFormatter: RP0['errorFormatter'];
104
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'] & RP3['queries'] & RP4['queries'] & RP5['queries'] & RP6['queries'];
105
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'] & RP4['mutations'] & RP5['mutations'] & RP6['mutations'];
106
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'] & RP4['subscriptions'] & RP5['subscriptions'] & RP6['subscriptions'];
107
+ }>;
108
+
109
+ export function mergeRoutersGeneric<
110
+ RP0 extends AnyRouterParams, RP1 extends AnyRouterParams, RP2 extends AnyRouterParams, RP3 extends AnyRouterParams, RP4 extends AnyRouterParams, RP5 extends AnyRouterParams, RP6 extends AnyRouterParams, RP7 extends AnyRouterParams
111
+ >(
112
+ router0: Router<RP0>, router1: Router<RP1>, router2: Router<RP2>, router3: Router<RP3>, router4: Router<RP4>, router5: Router<RP5>, router6: Router<RP6>, router7: Router<RP7>
113
+ ): Router<{
114
+ _ctx: RP0['_ctx'];
115
+ _errorShape: RP0['_errorShape'];
116
+ _meta: RP0['_meta'];
117
+ transformer: RP0['transformer'];
118
+ errorFormatter: RP0['errorFormatter'];
119
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'] & RP3['queries'] & RP4['queries'] & RP5['queries'] & RP6['queries'] & RP7['queries'];
120
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'] & RP4['mutations'] & RP5['mutations'] & RP6['mutations'] & RP7['mutations'];
121
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'] & RP4['subscriptions'] & RP5['subscriptions'] & RP6['subscriptions'] & RP7['subscriptions'];
122
+ }>;
123
+
124
+ export function mergeRoutersGeneric<
125
+ RP0 extends AnyRouterParams, RP1 extends AnyRouterParams, RP2 extends AnyRouterParams, RP3 extends AnyRouterParams, RP4 extends AnyRouterParams, RP5 extends AnyRouterParams, RP6 extends AnyRouterParams, RP7 extends AnyRouterParams, RP8 extends AnyRouterParams
126
+ >(
127
+ 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>
128
+ ): Router<{
129
+ _ctx: RP0['_ctx'];
130
+ _errorShape: RP0['_errorShape'];
131
+ _meta: RP0['_meta'];
132
+ transformer: RP0['transformer'];
133
+ errorFormatter: RP0['errorFormatter'];
134
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'] & RP3['queries'] & RP4['queries'] & RP5['queries'] & RP6['queries'] & RP7['queries'] & RP8['queries'];
135
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'] & RP4['mutations'] & RP5['mutations'] & RP6['mutations'] & RP7['mutations'] & RP8['mutations'];
136
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'] & RP4['subscriptions'] & RP5['subscriptions'] & RP6['subscriptions'] & RP7['subscriptions'] & RP8['subscriptions'];
137
+ }>;
138
+
139
+ export function mergeRoutersGeneric<
140
+ RP0 extends AnyRouterParams, RP1 extends AnyRouterParams, RP2 extends AnyRouterParams, RP3 extends AnyRouterParams, RP4 extends AnyRouterParams, RP5 extends AnyRouterParams, RP6 extends AnyRouterParams, RP7 extends AnyRouterParams, RP8 extends AnyRouterParams, RP9 extends AnyRouterParams
141
+ >(
142
+ 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>
143
+ ): Router<{
144
+ _ctx: RP0['_ctx'];
145
+ _errorShape: RP0['_errorShape'];
146
+ _meta: RP0['_meta'];
147
+ transformer: RP0['transformer'];
148
+ errorFormatter: RP0['errorFormatter'];
149
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'] & RP3['queries'] & RP4['queries'] & RP5['queries'] & RP6['queries'] & RP7['queries'] & RP8['queries'] & RP9['queries'];
150
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'] & RP4['mutations'] & RP5['mutations'] & RP6['mutations'] & RP7['mutations'] & RP8['mutations'] & RP9['mutations'];
151
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'] & RP4['subscriptions'] & RP5['subscriptions'] & RP6['subscriptions'] & RP7['subscriptions'] & RP8['subscriptions'] & RP9['subscriptions'];
152
+ }>;
153
+
154
+ export function mergeRoutersGeneric<
155
+ RP0 extends AnyRouterParams, RP1 extends AnyRouterParams, RP2 extends AnyRouterParams, RP3 extends AnyRouterParams, RP4 extends AnyRouterParams, RP5 extends AnyRouterParams, RP6 extends AnyRouterParams, RP7 extends AnyRouterParams, RP8 extends AnyRouterParams, RP9 extends AnyRouterParams, RP10 extends AnyRouterParams
156
+ >(
157
+ 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>
158
+ ): Router<{
159
+ _ctx: RP0['_ctx'];
160
+ _errorShape: RP0['_errorShape'];
161
+ _meta: RP0['_meta'];
162
+ transformer: RP0['transformer'];
163
+ errorFormatter: RP0['errorFormatter'];
164
+ queries: RP0['queries'] & RP1['queries'] & RP2['queries'] & RP3['queries'] & RP4['queries'] & RP5['queries'] & RP6['queries'] & RP7['queries'] & RP8['queries'] & RP9['queries'] & RP10['queries'];
165
+ mutations: RP0['mutations'] & RP1['mutations'] & RP2['mutations'] & RP3['mutations'] & RP4['mutations'] & RP5['mutations'] & RP6['mutations'] & RP7['mutations'] & RP8['mutations'] & RP9['mutations'] & RP10['mutations'];
166
+ subscriptions: RP0['subscriptions'] & RP1['subscriptions'] & RP2['subscriptions'] & RP3['subscriptions'] & RP4['subscriptions'] & RP5['subscriptions'] & RP6['subscriptions'] & RP7['subscriptions'] & RP8['subscriptions'] & RP9['subscriptions'] & RP10['subscriptions'];
167
+ }>;
168
+
169
+ export function mergeRoutersGeneric<
170
+ RP0 extends AnyRouterParams, RP1 extends AnyRouterParams, RP2 extends AnyRouterParams, RP3 extends AnyRouterParams, RP4 extends AnyRouterParams, RP5 extends AnyRouterParams, RP6 extends AnyRouterParams, RP7 extends AnyRouterParams, RP8 extends AnyRouterParams, RP9 extends AnyRouterParams, RP10 extends AnyRouterParams, RP11 extends AnyRouterParams
171
+ >(
172
+ 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>
173
+ ): Router<{
174
+ _ctx: RP0['_ctx'];
175
+ _errorShape: RP0['_errorShape'];
176
+ _meta: RP0['_meta'];
177
+ transformer: RP0['transformer'];
178
+ errorFormatter: RP0['errorFormatter'];
179
+ 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'];
180
+ 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'];
181
+ 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'];
182
+ }>;
183
+
184
+ export function mergeRoutersGeneric<
185
+ RP0 extends AnyRouterParams, RP1 extends AnyRouterParams, RP2 extends AnyRouterParams, RP3 extends AnyRouterParams, RP4 extends AnyRouterParams, RP5 extends AnyRouterParams, RP6 extends AnyRouterParams, RP7 extends AnyRouterParams, RP8 extends AnyRouterParams, RP9 extends AnyRouterParams, RP10 extends AnyRouterParams, RP11 extends AnyRouterParams, RP12 extends AnyRouterParams
186
+ >(
187
+ 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>
188
+ ): Router<{
189
+ _ctx: RP0['_ctx'];
190
+ _errorShape: RP0['_errorShape'];
191
+ _meta: RP0['_meta'];
192
+ transformer: RP0['transformer'];
193
+ errorFormatter: RP0['errorFormatter'];
194
+ 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'];
195
+ 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'];
196
+ 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'];
197
+ }>;
198
+
199
+ export function mergeRoutersGeneric<
200
+ RP0 extends AnyRouterParams, RP1 extends AnyRouterParams, RP2 extends AnyRouterParams, RP3 extends AnyRouterParams, RP4 extends AnyRouterParams, RP5 extends AnyRouterParams, RP6 extends AnyRouterParams, RP7 extends AnyRouterParams, RP8 extends AnyRouterParams, RP9 extends AnyRouterParams, RP10 extends AnyRouterParams, RP11 extends AnyRouterParams, RP12 extends AnyRouterParams, RP13 extends AnyRouterParams
201
+ >(
202
+ 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>
203
+ ): Router<{
204
+ _ctx: RP0['_ctx'];
205
+ _errorShape: RP0['_errorShape'];
206
+ _meta: RP0['_meta'];
207
+ transformer: RP0['transformer'];
208
+ errorFormatter: RP0['errorFormatter'];
209
+ 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'];
210
+ 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'];
211
+ 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'];
212
+ }>;
213
+
214
+ export function mergeRoutersGeneric<
215
+ RP0 extends AnyRouterParams, RP1 extends AnyRouterParams, RP2 extends AnyRouterParams, RP3 extends AnyRouterParams, RP4 extends AnyRouterParams, RP5 extends AnyRouterParams, RP6 extends AnyRouterParams, RP7 extends AnyRouterParams, RP8 extends AnyRouterParams, RP9 extends AnyRouterParams, RP10 extends AnyRouterParams, RP11 extends AnyRouterParams, RP12 extends AnyRouterParams, RP13 extends AnyRouterParams, RP14 extends AnyRouterParams
216
+ >(
217
+ 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>
218
+ ): Router<{
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'] & RP12['queries'] & RP13['queries'] & RP14['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'] & RP12['mutations'] & RP13['mutations'] & RP14['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'] & RP12['subscriptions'] & RP13['subscriptions'] & RP14['subscriptions'];
227
+ }>;
228
+
229
+ export function mergeRoutersGeneric<
230
+ RP0 extends AnyRouterParams, RP1 extends AnyRouterParams, RP2 extends AnyRouterParams, RP3 extends AnyRouterParams, RP4 extends AnyRouterParams, RP5 extends AnyRouterParams, RP6 extends AnyRouterParams, RP7 extends AnyRouterParams, RP8 extends AnyRouterParams, RP9 extends AnyRouterParams, RP10 extends AnyRouterParams, RP11 extends AnyRouterParams, RP12 extends AnyRouterParams, RP13 extends AnyRouterParams, RP14 extends AnyRouterParams, RP15 extends AnyRouterParams
231
+ >(
232
+ 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>
233
+ ): Router<{
234
+ _ctx: RP0['_ctx'];
235
+ _errorShape: RP0['_errorShape'];
236
+ _meta: RP0['_meta'];
237
+ transformer: RP0['transformer'];
238
+ errorFormatter: RP0['errorFormatter'];
239
+ 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'];
240
+ 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'];
241
+ 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'];
242
+ }>;
243
+
244
+ export function mergeRoutersGeneric<
245
+ RP0 extends AnyRouterParams, RP1 extends AnyRouterParams, RP2 extends AnyRouterParams, RP3 extends AnyRouterParams, RP4 extends AnyRouterParams, RP5 extends AnyRouterParams, RP6 extends AnyRouterParams, RP7 extends AnyRouterParams, RP8 extends AnyRouterParams, RP9 extends AnyRouterParams, RP10 extends AnyRouterParams, RP11 extends AnyRouterParams, RP12 extends AnyRouterParams, RP13 extends AnyRouterParams, RP14 extends AnyRouterParams, RP15 extends AnyRouterParams, RP16 extends AnyRouterParams
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>, router16: Router<RP16>
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'] & RP16['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'] & RP16['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'] & RP16['subscriptions'];
257
+ }>;
258
+
259
+ export function mergeRoutersGeneric<
260
+ RP0 extends AnyRouterParams, RP1 extends AnyRouterParams, RP2 extends AnyRouterParams, RP3 extends AnyRouterParams, RP4 extends AnyRouterParams, RP5 extends AnyRouterParams, RP6 extends AnyRouterParams, RP7 extends AnyRouterParams, RP8 extends AnyRouterParams, RP9 extends AnyRouterParams, RP10 extends AnyRouterParams, RP11 extends AnyRouterParams, RP12 extends AnyRouterParams, RP13 extends AnyRouterParams, RP14 extends AnyRouterParams, RP15 extends AnyRouterParams, RP16 extends AnyRouterParams, RP17 extends AnyRouterParams
261
+ >(
262
+ 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>
263
+ ): Router<{
264
+ _ctx: RP0['_ctx'];
265
+ _errorShape: RP0['_errorShape'];
266
+ _meta: RP0['_meta'];
267
+ transformer: RP0['transformer'];
268
+ errorFormatter: RP0['errorFormatter'];
269
+ 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'];
270
+ 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'];
271
+ 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'];
272
+ }>;
273
+
274
+ export function mergeRoutersGeneric<
275
+ RP0 extends AnyRouterParams, RP1 extends AnyRouterParams, RP2 extends AnyRouterParams, RP3 extends AnyRouterParams, RP4 extends AnyRouterParams, RP5 extends AnyRouterParams, RP6 extends AnyRouterParams, RP7 extends AnyRouterParams, RP8 extends AnyRouterParams, RP9 extends AnyRouterParams, RP10 extends AnyRouterParams, RP11 extends AnyRouterParams, RP12 extends AnyRouterParams, RP13 extends AnyRouterParams, RP14 extends AnyRouterParams, RP15 extends AnyRouterParams, RP16 extends AnyRouterParams, RP17 extends AnyRouterParams, RP18 extends AnyRouterParams
276
+ >(
277
+ 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>
278
+ ): Router<{
279
+ _ctx: RP0['_ctx'];
280
+ _errorShape: RP0['_errorShape'];
281
+ _meta: RP0['_meta'];
282
+ transformer: RP0['transformer'];
283
+ errorFormatter: RP0['errorFormatter'];
284
+ 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'];
285
+ 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'];
286
+ 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'];
287
+ }>;
288
+
289
+ export function mergeRoutersGeneric<
290
+ RP0 extends AnyRouterParams, RP1 extends AnyRouterParams, RP2 extends AnyRouterParams, RP3 extends AnyRouterParams, RP4 extends AnyRouterParams, RP5 extends AnyRouterParams, RP6 extends AnyRouterParams, RP7 extends AnyRouterParams, RP8 extends AnyRouterParams, RP9 extends AnyRouterParams, RP10 extends AnyRouterParams, RP11 extends AnyRouterParams, RP12 extends AnyRouterParams, RP13 extends AnyRouterParams, RP14 extends AnyRouterParams, RP15 extends AnyRouterParams, RP16 extends AnyRouterParams, RP17 extends AnyRouterParams, RP18 extends AnyRouterParams, RP19 extends AnyRouterParams
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>, router16: Router<RP16>, router17: Router<RP17>, router18: Router<RP18>, router19: Router<RP19>
293
+ ): Router<{
294
+ _ctx: RP0['_ctx'];
295
+ _errorShape: RP0['_errorShape'];
296
+ _meta: RP0['_meta'];
297
+ transformer: RP0['transformer'];
298
+ errorFormatter: RP0['errorFormatter'];
299
+ 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'];
300
+ 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'];
301
+ 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'];
302
+ }>;
303
+
304
+ export function mergeRoutersGeneric(...args: AnyRouter[]): AnyRouter {
305
+ return mergeRouters(...args) as any;
306
+ }