@trpc/server 11.0.0-next-beta.216 → 11.0.0-next-beta.221

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 (246) hide show
  1. package/dist/@trpc/server/http.d.ts +7 -0
  2. package/dist/@trpc/server/http.d.ts.map +1 -0
  3. package/dist/{@trpc-server.d.ts → @trpc/server/index.d.ts} +4 -4
  4. package/dist/@trpc/server/index.d.ts.map +1 -0
  5. package/dist/@trpc/server/rpc.d.ts +3 -0
  6. package/dist/@trpc/server/rpc.d.ts.map +1 -0
  7. package/dist/adapters/aws-lambda/index.d.ts +1 -2
  8. package/dist/adapters/aws-lambda/index.d.ts.map +1 -1
  9. package/dist/adapters/aws-lambda/index.js +6 -5
  10. package/dist/adapters/aws-lambda/index.mjs +4 -3
  11. package/dist/adapters/aws-lambda/utils.d.ts +2 -3
  12. package/dist/adapters/aws-lambda/utils.d.ts.map +1 -1
  13. package/dist/adapters/aws-lambda/utils.js +5 -4
  14. package/dist/adapters/aws-lambda/utils.mjs +3 -2
  15. package/dist/adapters/express.d.ts +1 -2
  16. package/dist/adapters/express.d.ts.map +1 -1
  17. package/dist/adapters/fastify/fastifyRequestHandler.d.ts +2 -2
  18. package/dist/adapters/fastify/fastifyRequestHandler.d.ts.map +1 -1
  19. package/dist/adapters/fastify/fastifyRequestHandler.js +6 -3
  20. package/dist/adapters/fastify/fastifyRequestHandler.mjs +4 -1
  21. package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts +1 -2
  22. package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts.map +1 -1
  23. package/dist/adapters/fastify/fastifyTRPCPlugin.js +0 -1
  24. package/dist/adapters/fastify/fastifyTRPCPlugin.mjs +0 -1
  25. package/dist/adapters/fetch/fetchRequestHandler.d.ts +1 -2
  26. package/dist/adapters/fetch/fetchRequestHandler.d.ts.map +1 -1
  27. package/dist/adapters/fetch/fetchRequestHandler.js +6 -4
  28. package/dist/adapters/fetch/fetchRequestHandler.mjs +4 -2
  29. package/dist/adapters/fetch/types.d.ts +2 -3
  30. package/dist/adapters/fetch/types.d.ts.map +1 -1
  31. package/dist/adapters/next.d.ts +4 -2
  32. package/dist/adapters/next.d.ts.map +1 -1
  33. package/dist/adapters/next.js +6 -4
  34. package/dist/adapters/next.mjs +4 -2
  35. package/dist/adapters/node-http/content-type/json/getPostBody.d.ts +1 -1
  36. package/dist/adapters/node-http/content-type/json/getPostBody.d.ts.map +1 -1
  37. package/dist/adapters/node-http/content-type/json/getPostBody.js +4 -2
  38. package/dist/adapters/node-http/content-type/json/getPostBody.mjs +3 -1
  39. package/dist/adapters/node-http/content-type/json/index.js +4 -2
  40. package/dist/adapters/node-http/content-type/json/index.mjs +3 -1
  41. package/dist/adapters/node-http/internals/contentType.d.ts +2 -2
  42. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts +1 -2
  43. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +1 -1
  44. package/dist/adapters/node-http/nodeHTTPRequestHandler.js +6 -4
  45. package/dist/adapters/node-http/nodeHTTPRequestHandler.mjs +4 -2
  46. package/dist/adapters/node-http/types.d.ts +3 -4
  47. package/dist/adapters/node-http/types.d.ts.map +1 -1
  48. package/dist/adapters/standalone.d.ts +1 -2
  49. package/dist/adapters/standalone.d.ts.map +1 -1
  50. package/dist/adapters/standalone.js +1 -0
  51. package/dist/adapters/standalone.mjs +1 -0
  52. package/dist/adapters/ws.d.ts +3 -3
  53. package/dist/adapters/ws.d.ts.map +1 -1
  54. package/dist/adapters/ws.js +30 -25
  55. package/dist/adapters/ws.mjs +8 -3
  56. package/dist/bundle-analysis.json +419 -78
  57. package/dist/http.d.ts +1 -1
  58. package/dist/http.js +11 -7
  59. package/dist/http.mjs +6 -1
  60. package/dist/index.d.ts +1 -1
  61. package/dist/index.js +18 -41
  62. package/dist/index.mjs +8 -1
  63. package/dist/observable/index.d.ts +5 -0
  64. package/dist/observable/index.d.ts.map +1 -0
  65. package/dist/observable/index.js +13 -0
  66. package/dist/observable/index.mjs +2 -0
  67. package/dist/observable/observable.d.ts +13 -0
  68. package/dist/observable/observable.d.ts.map +1 -0
  69. package/dist/observable/observable.js +126 -0
  70. package/dist/observable/observable.mjs +122 -0
  71. package/dist/observable/operators.d.ts +8 -0
  72. package/dist/observable/operators.d.ts.map +1 -0
  73. package/dist/observable/operators.js +103 -0
  74. package/dist/observable/operators.mjs +99 -0
  75. package/dist/observable/types.d.ts +26 -0
  76. package/dist/observable/types.d.ts.map +1 -0
  77. package/dist/rpc.d.ts +1 -1
  78. package/dist/rpc.d.ts.map +1 -1
  79. package/dist/rpc.js +6 -7
  80. package/dist/rpc.mjs +3 -1
  81. package/dist/shared.d.ts +1 -1
  82. package/dist/shared.js +6 -9
  83. package/dist/shared.mjs +4 -1
  84. package/dist/unstable-core-do-not-import/TRPCInferrable.d.ts +6 -0
  85. package/dist/unstable-core-do-not-import/TRPCInferrable.d.ts.map +1 -0
  86. package/dist/unstable-core-do-not-import/createProxy.d.ts +19 -0
  87. package/dist/unstable-core-do-not-import/createProxy.d.ts.map +1 -0
  88. package/dist/unstable-core-do-not-import/createProxy.js +52 -0
  89. package/dist/unstable-core-do-not-import/createProxy.mjs +49 -0
  90. package/dist/unstable-core-do-not-import/error/TRPCError.d.ts +13 -0
  91. package/dist/unstable-core-do-not-import/error/TRPCError.d.ts.map +1 -0
  92. package/dist/unstable-core-do-not-import/error/TRPCError.js +67 -0
  93. package/dist/unstable-core-do-not-import/error/TRPCError.mjs +63 -0
  94. package/dist/unstable-core-do-not-import/error/formatter.d.ts +33 -0
  95. package/dist/unstable-core-do-not-import/error/formatter.d.ts.map +1 -0
  96. package/dist/unstable-core-do-not-import/error/formatter.js +7 -0
  97. package/dist/unstable-core-do-not-import/error/formatter.mjs +5 -0
  98. package/dist/unstable-core-do-not-import/error/getErrorShape.d.ts +15 -0
  99. package/dist/unstable-core-do-not-import/error/getErrorShape.d.ts.map +1 -0
  100. package/dist/unstable-core-do-not-import/error/getErrorShape.js +31 -0
  101. package/dist/unstable-core-do-not-import/error/getErrorShape.mjs +29 -0
  102. package/dist/unstable-core-do-not-import/http/batchStreamFormatter.d.ts +24 -0
  103. package/dist/unstable-core-do-not-import/http/batchStreamFormatter.d.ts.map +1 -0
  104. package/dist/unstable-core-do-not-import/http/batchStreamFormatter.js +32 -0
  105. package/dist/unstable-core-do-not-import/http/batchStreamFormatter.mjs +30 -0
  106. package/dist/unstable-core-do-not-import/http/contentType.d.ts +29 -0
  107. package/dist/unstable-core-do-not-import/http/contentType.d.ts.map +1 -0
  108. package/dist/unstable-core-do-not-import/http/contentType.js +54 -0
  109. package/dist/unstable-core-do-not-import/http/contentType.mjs +52 -0
  110. package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.d.ts +5 -0
  111. package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.d.ts.map +1 -0
  112. package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.js +51 -0
  113. package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.mjs +48 -0
  114. package/dist/unstable-core-do-not-import/http/index.d.ts +7 -0
  115. package/dist/unstable-core-do-not-import/http/index.d.ts.map +1 -0
  116. package/dist/unstable-core-do-not-import/http/resolveHTTPResponse.d.ts +51 -0
  117. package/dist/unstable-core-do-not-import/http/resolveHTTPResponse.d.ts.map +1 -0
  118. package/dist/unstable-core-do-not-import/http/resolveHTTPResponse.js +295 -0
  119. package/dist/unstable-core-do-not-import/http/resolveHTTPResponse.mjs +293 -0
  120. package/dist/unstable-core-do-not-import/http/types.d.ts +96 -0
  121. package/dist/unstable-core-do-not-import/http/types.d.ts.map +1 -0
  122. package/dist/unstable-core-do-not-import/index.d.ts +37 -0
  123. package/dist/unstable-core-do-not-import/index.d.ts.map +1 -0
  124. package/dist/unstable-core-do-not-import/index.js +48 -0
  125. package/dist/unstable-core-do-not-import/index.mjs +16 -0
  126. package/dist/unstable-core-do-not-import/initTRPC.d.ts +96 -0
  127. package/dist/unstable-core-do-not-import/initTRPC.d.ts.map +1 -0
  128. package/dist/unstable-core-do-not-import/initTRPC.js +95 -0
  129. package/dist/unstable-core-do-not-import/initTRPC.mjs +93 -0
  130. package/dist/unstable-core-do-not-import/middleware.d.ts +105 -0
  131. package/dist/unstable-core-do-not-import/middleware.d.ts.map +1 -0
  132. package/dist/unstable-core-do-not-import/middleware.js +95 -0
  133. package/dist/unstable-core-do-not-import/middleware.mjs +89 -0
  134. package/dist/unstable-core-do-not-import/parser.d.ts +30 -0
  135. package/dist/unstable-core-do-not-import/parser.d.ts.map +1 -0
  136. package/dist/unstable-core-do-not-import/parser.js +37 -0
  137. package/dist/unstable-core-do-not-import/parser.mjs +35 -0
  138. package/dist/unstable-core-do-not-import/procedure.d.ts +72 -0
  139. package/dist/unstable-core-do-not-import/procedure.d.ts.map +1 -0
  140. package/dist/unstable-core-do-not-import/procedure.js +9 -0
  141. package/dist/unstable-core-do-not-import/procedure.mjs +7 -0
  142. package/dist/unstable-core-do-not-import/procedureBuilder.d.ts +101 -0
  143. package/dist/unstable-core-do-not-import/procedureBuilder.d.ts.map +1 -0
  144. package/dist/unstable-core-do-not-import/procedureBuilder.js +176 -0
  145. package/dist/unstable-core-do-not-import/procedureBuilder.mjs +173 -0
  146. package/dist/unstable-core-do-not-import/rootConfig.d.ts +75 -0
  147. package/dist/unstable-core-do-not-import/rootConfig.d.ts.map +1 -0
  148. package/dist/unstable-core-do-not-import/rootConfig.js +8 -0
  149. package/dist/unstable-core-do-not-import/rootConfig.mjs +6 -0
  150. package/dist/unstable-core-do-not-import/router.d.ts +85 -0
  151. package/dist/unstable-core-do-not-import/router.d.ts.map +1 -0
  152. package/dist/unstable-core-do-not-import/router.js +156 -0
  153. package/dist/unstable-core-do-not-import/router.mjs +151 -0
  154. package/dist/unstable-core-do-not-import/rpc/codes.d.ts +51 -0
  155. package/dist/unstable-core-do-not-import/rpc/codes.d.ts.map +1 -0
  156. package/dist/unstable-core-do-not-import/rpc/codes.js +38 -0
  157. package/dist/unstable-core-do-not-import/rpc/codes.mjs +35 -0
  158. package/dist/unstable-core-do-not-import/rpc/envelopes.d.ts +97 -0
  159. package/dist/unstable-core-do-not-import/rpc/envelopes.d.ts.map +1 -0
  160. package/dist/unstable-core-do-not-import/rpc/index.d.ts +5 -0
  161. package/dist/unstable-core-do-not-import/rpc/index.d.ts.map +1 -0
  162. package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.d.ts +5 -0
  163. package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.d.ts.map +1 -0
  164. package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.js +59 -0
  165. package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.mjs +57 -0
  166. package/dist/unstable-core-do-not-import/serialize.d.ts +62 -0
  167. package/dist/unstable-core-do-not-import/serialize.d.ts.map +1 -0
  168. package/dist/unstable-core-do-not-import/transformer.d.ts +107 -0
  169. package/dist/unstable-core-do-not-import/transformer.d.ts.map +1 -0
  170. package/dist/unstable-core-do-not-import/transformer.js +107 -0
  171. package/dist/unstable-core-do-not-import/transformer.mjs +102 -0
  172. package/dist/unstable-core-do-not-import/types.d.ts +98 -0
  173. package/dist/unstable-core-do-not-import/types.d.ts.map +1 -0
  174. package/dist/unstable-core-do-not-import/utils.d.ts +27 -0
  175. package/dist/unstable-core-do-not-import/utils.d.ts.map +1 -0
  176. package/dist/unstable-core-do-not-import/utils.js +44 -0
  177. package/dist/unstable-core-do-not-import/utils.mjs +39 -0
  178. package/package.json +11 -8
  179. package/src/@trpc/server/http.ts +26 -0
  180. package/src/{@trpc-server.ts → @trpc/server/index.ts} +3 -3
  181. package/src/@trpc/server/rpc.ts +26 -0
  182. package/src/adapters/aws-lambda/index.ts +4 -5
  183. package/src/adapters/aws-lambda/utils.ts +3 -4
  184. package/src/adapters/express.ts +1 -3
  185. package/src/adapters/fastify/fastifyRequestHandler.ts +6 -4
  186. package/src/adapters/fastify/fastifyTRPCPlugin.ts +1 -2
  187. package/src/adapters/fetch/fetchRequestHandler.ts +6 -4
  188. package/src/adapters/fetch/types.ts +2 -3
  189. package/src/adapters/next.ts +6 -3
  190. package/src/adapters/node-http/content-type/form-data/index.ts +1 -1
  191. package/src/adapters/node-http/content-type/json/getPostBody.ts +2 -2
  192. package/src/adapters/node-http/content-type/json/index.ts +1 -1
  193. package/src/adapters/node-http/internals/contentType.ts +2 -2
  194. package/src/adapters/node-http/nodeHTTPRequestHandler.ts +6 -4
  195. package/src/adapters/node-http/types.ts +4 -5
  196. package/src/adapters/standalone.ts +2 -2
  197. package/src/adapters/ws.ts +15 -14
  198. package/src/http.ts +1 -1
  199. package/src/index.ts +1 -1
  200. package/src/observable/index.ts +10 -0
  201. package/src/observable/observable.ts +158 -0
  202. package/src/observable/operators.ts +119 -0
  203. package/src/observable/types.ts +76 -0
  204. package/src/rpc.ts +1 -2
  205. package/src/shared.ts +1 -1
  206. package/src/unstable-core-do-not-import/TRPCInferrable.ts +9 -0
  207. package/src/unstable-core-do-not-import/createProxy.ts +59 -0
  208. package/src/unstable-core-do-not-import/error/TRPCError.ts +82 -0
  209. package/src/unstable-core-do-not-import/error/formatter.ts +51 -0
  210. package/src/unstable-core-do-not-import/error/getErrorShape.ts +36 -0
  211. package/src/unstable-core-do-not-import/http/batchStreamFormatter.ts +29 -0
  212. package/src/unstable-core-do-not-import/http/contentType.ts +99 -0
  213. package/src/unstable-core-do-not-import/http/getHTTPStatusCode.ts +57 -0
  214. package/src/unstable-core-do-not-import/http/index.ts +23 -0
  215. package/src/unstable-core-do-not-import/http/resolveHTTPResponse.ts +458 -0
  216. package/src/unstable-core-do-not-import/http/types.ts +111 -0
  217. package/src/unstable-core-do-not-import/index.ts +110 -0
  218. package/src/unstable-core-do-not-import/initTRPC.ts +206 -0
  219. package/src/unstable-core-do-not-import/middleware.ts +237 -0
  220. package/src/unstable-core-do-not-import/parser.ts +94 -0
  221. package/src/unstable-core-do-not-import/procedure.ts +108 -0
  222. package/src/unstable-core-do-not-import/procedureBuilder.ts +458 -0
  223. package/src/unstable-core-do-not-import/rootConfig.ts +90 -0
  224. package/src/unstable-core-do-not-import/router.ts +370 -0
  225. package/src/unstable-core-do-not-import/rpc/codes.ts +44 -0
  226. package/src/unstable-core-do-not-import/rpc/envelopes.ts +136 -0
  227. package/src/unstable-core-do-not-import/rpc/index.ts +21 -0
  228. package/src/unstable-core-do-not-import/rpc/parseTRPCMessage.ts +85 -0
  229. package/src/unstable-core-do-not-import/serialize.ts +122 -0
  230. package/src/unstable-core-do-not-import/transformer.ts +202 -0
  231. package/src/unstable-core-do-not-import/types.ts +151 -0
  232. package/src/unstable-core-do-not-import/utils.ts +59 -0
  233. package/unstable-core-do-not-import/index.d.ts +1 -0
  234. package/unstable-core-do-not-import/index.js +1 -0
  235. package/dist/@trpc-core-unstable-do-not-import-this-please.d.ts +0 -9
  236. package/dist/@trpc-core-unstable-do-not-import-this-please.d.ts.map +0 -1
  237. package/dist/@trpc-server/http.d.ts +0 -2
  238. package/dist/@trpc-server/http.d.ts.map +0 -1
  239. package/dist/@trpc-server.d.ts.map +0 -1
  240. package/dist/observable.d.ts +0 -2
  241. package/dist/observable.d.ts.map +0 -1
  242. package/dist/observable.js +0 -12
  243. package/dist/observable.mjs +0 -1
  244. package/src/@trpc-core-unstable-do-not-import-this-please.ts +0 -9
  245. package/src/@trpc-server/http.ts +0 -2
  246. package/src/observable.ts +0 -1
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ const procedureTypes = [
4
+ 'query',
5
+ 'mutation',
6
+ 'subscription'
7
+ ];
8
+
9
+ exports.procedureTypes = procedureTypes;
@@ -0,0 +1,7 @@
1
+ const procedureTypes = [
2
+ 'query',
3
+ 'mutation',
4
+ 'subscription'
5
+ ];
6
+
7
+ export { procedureTypes };
@@ -0,0 +1,101 @@
1
+ import type { AnyMiddlewareFunction, MiddlewareBuilder, MiddlewareFunction } from './middleware';
2
+ import type { inferParser, Parser } from './parser';
3
+ import type { MutationProcedure, ProcedureType, QueryProcedure, SubscriptionProcedure } from './procedure';
4
+ import type { GetRawInputFn, MaybePromise, Overwrite, Simplify } from './types';
5
+ type IntersectIfDefined<TType, TWith> = TType extends UnsetMarker ? TWith : Simplify<TType & TWith>;
6
+ type ErrorMessage<TMessage extends string> = TMessage;
7
+ /** @internal */
8
+ export declare const unsetMarker: unique symbol;
9
+ type UnsetMarker = typeof unsetMarker;
10
+ type DefaultValue<TValue, TFallback> = TValue extends UnsetMarker ? TFallback : TValue;
11
+ type ProcedureBuilderDef<TMeta> = {
12
+ procedure: true;
13
+ inputs: Parser[];
14
+ output?: Parser;
15
+ meta?: TMeta;
16
+ resolver?: ProcedureBuilderResolver;
17
+ middlewares: AnyMiddlewareFunction[];
18
+ mutation?: boolean;
19
+ query?: boolean;
20
+ subscription?: boolean;
21
+ };
22
+ type AnyProcedureBuilderDef = ProcedureBuilderDef<any>;
23
+ /**
24
+ * Procedure resolver options
25
+ * @internal
26
+ */
27
+ interface ResolverOptions<TContext, _TMeta, TContextOverridesIn, TInputOut> {
28
+ ctx: Simplify<Overwrite<TContext, TContextOverridesIn>>;
29
+ input: TInputOut extends UnsetMarker ? undefined : TInputOut;
30
+ }
31
+ /**
32
+ * A procedure resolver
33
+ */
34
+ type ProcedureResolver<TContext, _TMeta, TContextOverrides, TInputOut, TOutputIn, TOutputOut> = (opts: {
35
+ ctx: Simplify<Overwrite<TContext, TContextOverrides>>;
36
+ input: TInputOut extends UnsetMarker ? undefined : TInputOut;
37
+ }) => MaybePromise<DefaultValue<TOutputIn, TOutputOut>>;
38
+ export interface ProcedureBuilder<TContext, TMeta, TContextOverrides, TInputIn, TInputOut, TOutputIn, TOutputOut> {
39
+ /**
40
+ * Add an input parser to the procedure.
41
+ * @link https://trpc.io/docs/v11/server/validators
42
+ */
43
+ input<$Parser extends Parser>(schema: TInputOut extends UnsetMarker ? $Parser : inferParser<$Parser>['out'] extends Record<string, unknown> | undefined ? TInputOut extends Record<string, unknown> | undefined ? undefined extends inferParser<$Parser>['out'] ? undefined extends TInputOut ? $Parser : ErrorMessage<'Cannot chain an optional parser to a required parser'> : $Parser : ErrorMessage<'All input parsers did not resolve to an object'> : ErrorMessage<'All input parsers did not resolve to an object'>): ProcedureBuilder<TContext, TMeta, TContextOverrides, IntersectIfDefined<TInputIn, inferParser<$Parser>['in']>, IntersectIfDefined<TInputOut, inferParser<$Parser>['out']>, TOutputIn, TOutputOut>;
44
+ /**
45
+ * Add an output parser to the procedure.
46
+ * @link https://trpc.io/docs/v11/server/validators
47
+ */
48
+ output<$Parser extends Parser>(schema: $Parser): ProcedureBuilder<TContext, TMeta, TContextOverrides, TInputIn, TInputOut, IntersectIfDefined<TOutputIn, inferParser<$Parser>['in']>, IntersectIfDefined<TOutputOut, inferParser<$Parser>['out']>>;
49
+ /**
50
+ * Add a meta data to the procedure.
51
+ * @link https://trpc.io/docs/v11/server/metadata
52
+ */
53
+ meta(meta: TMeta): ProcedureBuilder<TContext, TMeta, TContextOverrides, TInputIn, TInputOut, TOutputIn, TOutputOut>;
54
+ /**
55
+ * Add a middleware to the procedure.
56
+ * @link https://trpc.io/docs/v11/server/middlewares
57
+ */
58
+ use<$ContextOverridesOut>(fn: MiddlewareBuilder<Overwrite<TContext, TContextOverrides>, TMeta, $ContextOverridesOut, TInputOut> | MiddlewareFunction<TContext, TMeta, TContextOverrides, $ContextOverridesOut, TInputOut>): ProcedureBuilder<TContext, TMeta, Overwrite<TContextOverrides, $ContextOverridesOut>, TInputIn, TInputOut, TOutputIn, TOutputOut>;
59
+ /**
60
+ * Query procedure
61
+ * @link https://trpc.io/docs/v11/concepts#vocabulary
62
+ */
63
+ query<$Output>(resolver: ProcedureResolver<TContext, TMeta, TContextOverrides, TInputOut, TOutputIn, $Output>): QueryProcedure<{
64
+ input: DefaultValue<TInputIn, void>;
65
+ output: DefaultValue<TOutputOut, $Output>;
66
+ }>;
67
+ /**
68
+ * Mutation procedure
69
+ * @link https://trpc.io/docs/v11/concepts#vocabulary
70
+ */
71
+ mutation<$Output>(resolver: ProcedureResolver<TContext, TMeta, TContextOverrides, TInputOut, TOutputIn, $Output>): MutationProcedure<{
72
+ input: DefaultValue<TInputIn, void>;
73
+ output: DefaultValue<TOutputOut, $Output>;
74
+ }>;
75
+ /**
76
+ * Subscription procedure
77
+ * @link https://trpc.io/docs/v11/concepts#vocabulary
78
+ */
79
+ subscription<$Output>(resolver: ProcedureResolver<TContext, TMeta, TContextOverrides, TInputOut, TOutputIn, $Output>): SubscriptionProcedure<{
80
+ input: DefaultValue<TInputIn, void>;
81
+ output: DefaultValue<TOutputOut, $Output>;
82
+ }>;
83
+ /**
84
+ * @internal
85
+ */
86
+ _def: ProcedureBuilderDef<TMeta>;
87
+ }
88
+ type ProcedureBuilderResolver = (opts: ResolverOptions<any, any, any, any>) => Promise<unknown>;
89
+ export declare function createBuilder<TContext, TMeta>(initDef?: Partial<AnyProcedureBuilderDef>): ProcedureBuilder<TContext, TMeta, object, UnsetMarker, UnsetMarker, UnsetMarker, UnsetMarker>;
90
+ /**
91
+ * @internal
92
+ */
93
+ export interface ProcedureCallOptions {
94
+ ctx: unknown;
95
+ getRawInput: GetRawInputFn;
96
+ input?: unknown;
97
+ path: string;
98
+ type: ProcedureType;
99
+ }
100
+ export {};
101
+ //# sourceMappingURL=procedureBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"procedureBuilder.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/procedureBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,176 @@
1
+ 'use strict';
2
+
3
+ var TRPCError = require('./error/TRPCError.js');
4
+ var middleware = require('./middleware.js');
5
+ var parser = require('./parser.js');
6
+ var utils = require('./utils.js');
7
+
8
+ /** @internal */ const unsetMarker = Symbol('unsetMarker');
9
+ function createNewBuilder(def1, def2) {
10
+ const { middlewares =[] , inputs , meta , ...rest } = def2;
11
+ // TODO: maybe have a fn here to warn about calls
12
+ return createBuilder({
13
+ ...utils.mergeWithoutOverrides(def1, rest),
14
+ inputs: [
15
+ ...def1.inputs,
16
+ ...inputs ?? []
17
+ ],
18
+ middlewares: [
19
+ ...def1.middlewares,
20
+ ...middlewares
21
+ ],
22
+ meta: def1.meta && meta ? {
23
+ ...def1.meta,
24
+ ...meta
25
+ } : meta ?? def1.meta
26
+ });
27
+ }
28
+ function createBuilder(initDef = {}) {
29
+ const _def = {
30
+ procedure: true,
31
+ inputs: [],
32
+ middlewares: [],
33
+ ...initDef
34
+ };
35
+ const builder = {
36
+ _def,
37
+ input (input) {
38
+ const parser$1 = parser.getParseFn(input);
39
+ return createNewBuilder(_def, {
40
+ inputs: [
41
+ input
42
+ ],
43
+ middlewares: [
44
+ middleware.createInputMiddleware(parser$1)
45
+ ]
46
+ });
47
+ },
48
+ output (output) {
49
+ const parser$1 = parser.getParseFn(output);
50
+ return createNewBuilder(_def, {
51
+ output,
52
+ middlewares: [
53
+ middleware.createOutputMiddleware(parser$1)
54
+ ]
55
+ });
56
+ },
57
+ meta (meta) {
58
+ return createNewBuilder(_def, {
59
+ meta
60
+ });
61
+ },
62
+ use (middlewareBuilderOrFn) {
63
+ // Distinguish between a middleware builder and a middleware function
64
+ const middlewares = '_middlewares' in middlewareBuilderOrFn ? middlewareBuilderOrFn._middlewares : [
65
+ middlewareBuilderOrFn
66
+ ];
67
+ return createNewBuilder(_def, {
68
+ middlewares: middlewares
69
+ });
70
+ },
71
+ query (resolver) {
72
+ return createResolver({
73
+ ..._def,
74
+ type: 'query'
75
+ }, resolver);
76
+ },
77
+ mutation (resolver) {
78
+ return createResolver({
79
+ ..._def,
80
+ type: 'mutation'
81
+ }, resolver);
82
+ },
83
+ subscription (resolver) {
84
+ return createResolver({
85
+ ..._def,
86
+ type: 'subscription'
87
+ }, resolver);
88
+ }
89
+ };
90
+ return builder;
91
+ }
92
+ function createResolver(_def, resolver) {
93
+ const finalBuilder = createNewBuilder(_def, {
94
+ resolver,
95
+ middlewares: [
96
+ async function resolveMiddleware(opts) {
97
+ const data = await resolver(opts);
98
+ return {
99
+ marker: middleware.middlewareMarker,
100
+ ok: true,
101
+ data,
102
+ ctx: opts.ctx
103
+ };
104
+ }
105
+ ]
106
+ });
107
+ return createProcedureCaller(finalBuilder._def);
108
+ }
109
+ const codeblock = `
110
+ This is a client-only function.
111
+ If you want to call this function on the server, see https://trpc.io/docs/v11/server/server-side-calls
112
+ `.trim();
113
+ function createProcedureCaller(_def) {
114
+ async function procedure(opts) {
115
+ // is direct server-side call
116
+ if (!opts || !('getRawInput' in opts)) {
117
+ throw new Error(codeblock);
118
+ }
119
+ // run the middlewares recursively with the resolver as the last one
120
+ async function callRecursive(callOpts = {
121
+ index: 0,
122
+ ctx: opts.ctx
123
+ }) {
124
+ try {
125
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
126
+ const middleware = _def.middlewares[callOpts.index];
127
+ const result = await middleware({
128
+ ctx: callOpts.ctx,
129
+ type: opts.type,
130
+ path: opts.path,
131
+ getRawInput: callOpts.getRawInput ?? opts.getRawInput,
132
+ meta: _def.meta,
133
+ input: callOpts.input,
134
+ next (_nextOpts) {
135
+ const nextOpts = _nextOpts;
136
+ return callRecursive({
137
+ index: callOpts.index + 1,
138
+ ctx: nextOpts && 'ctx' in nextOpts ? {
139
+ ...callOpts.ctx,
140
+ ...nextOpts.ctx
141
+ } : callOpts.ctx,
142
+ input: nextOpts && 'input' in nextOpts ? nextOpts.input : callOpts.input,
143
+ getRawInput: nextOpts && 'getRawInput' in nextOpts ? nextOpts.getRawInput : callOpts.getRawInput
144
+ });
145
+ }
146
+ });
147
+ return result;
148
+ } catch (cause) {
149
+ return {
150
+ ok: false,
151
+ error: TRPCError.getTRPCErrorFromUnknown(cause),
152
+ marker: middleware.middlewareMarker
153
+ };
154
+ }
155
+ }
156
+ // there's always at least one "next" since we wrap this.resolver in a middleware
157
+ const result = await callRecursive();
158
+ if (!result) {
159
+ throw new TRPCError.TRPCError({
160
+ code: 'INTERNAL_SERVER_ERROR',
161
+ message: 'No result from middlewares - did you forget to `return next()`?'
162
+ });
163
+ }
164
+ if (!result.ok) {
165
+ // re-throw original error
166
+ throw result.error;
167
+ }
168
+ return result.data;
169
+ }
170
+ procedure._def = _def;
171
+ // FIXME typecast shouldn't be needed - fixittt
172
+ return procedure;
173
+ }
174
+
175
+ exports.createBuilder = createBuilder;
176
+ exports.unsetMarker = unsetMarker;
@@ -0,0 +1,173 @@
1
+ import { TRPCError, getTRPCErrorFromUnknown } from './error/TRPCError.mjs';
2
+ import { createInputMiddleware, createOutputMiddleware, middlewareMarker } from './middleware.mjs';
3
+ import { getParseFn } from './parser.mjs';
4
+ import { mergeWithoutOverrides } from './utils.mjs';
5
+
6
+ /** @internal */ const unsetMarker = Symbol('unsetMarker');
7
+ function createNewBuilder(def1, def2) {
8
+ const { middlewares =[] , inputs , meta , ...rest } = def2;
9
+ // TODO: maybe have a fn here to warn about calls
10
+ return createBuilder({
11
+ ...mergeWithoutOverrides(def1, rest),
12
+ inputs: [
13
+ ...def1.inputs,
14
+ ...inputs ?? []
15
+ ],
16
+ middlewares: [
17
+ ...def1.middlewares,
18
+ ...middlewares
19
+ ],
20
+ meta: def1.meta && meta ? {
21
+ ...def1.meta,
22
+ ...meta
23
+ } : meta ?? def1.meta
24
+ });
25
+ }
26
+ function createBuilder(initDef = {}) {
27
+ const _def = {
28
+ procedure: true,
29
+ inputs: [],
30
+ middlewares: [],
31
+ ...initDef
32
+ };
33
+ const builder = {
34
+ _def,
35
+ input (input) {
36
+ const parser = getParseFn(input);
37
+ return createNewBuilder(_def, {
38
+ inputs: [
39
+ input
40
+ ],
41
+ middlewares: [
42
+ createInputMiddleware(parser)
43
+ ]
44
+ });
45
+ },
46
+ output (output) {
47
+ const parser = getParseFn(output);
48
+ return createNewBuilder(_def, {
49
+ output,
50
+ middlewares: [
51
+ createOutputMiddleware(parser)
52
+ ]
53
+ });
54
+ },
55
+ meta (meta) {
56
+ return createNewBuilder(_def, {
57
+ meta
58
+ });
59
+ },
60
+ use (middlewareBuilderOrFn) {
61
+ // Distinguish between a middleware builder and a middleware function
62
+ const middlewares = '_middlewares' in middlewareBuilderOrFn ? middlewareBuilderOrFn._middlewares : [
63
+ middlewareBuilderOrFn
64
+ ];
65
+ return createNewBuilder(_def, {
66
+ middlewares: middlewares
67
+ });
68
+ },
69
+ query (resolver) {
70
+ return createResolver({
71
+ ..._def,
72
+ type: 'query'
73
+ }, resolver);
74
+ },
75
+ mutation (resolver) {
76
+ return createResolver({
77
+ ..._def,
78
+ type: 'mutation'
79
+ }, resolver);
80
+ },
81
+ subscription (resolver) {
82
+ return createResolver({
83
+ ..._def,
84
+ type: 'subscription'
85
+ }, resolver);
86
+ }
87
+ };
88
+ return builder;
89
+ }
90
+ function createResolver(_def, resolver) {
91
+ const finalBuilder = createNewBuilder(_def, {
92
+ resolver,
93
+ middlewares: [
94
+ async function resolveMiddleware(opts) {
95
+ const data = await resolver(opts);
96
+ return {
97
+ marker: middlewareMarker,
98
+ ok: true,
99
+ data,
100
+ ctx: opts.ctx
101
+ };
102
+ }
103
+ ]
104
+ });
105
+ return createProcedureCaller(finalBuilder._def);
106
+ }
107
+ const codeblock = `
108
+ This is a client-only function.
109
+ If you want to call this function on the server, see https://trpc.io/docs/v11/server/server-side-calls
110
+ `.trim();
111
+ function createProcedureCaller(_def) {
112
+ async function procedure(opts) {
113
+ // is direct server-side call
114
+ if (!opts || !('getRawInput' in opts)) {
115
+ throw new Error(codeblock);
116
+ }
117
+ // run the middlewares recursively with the resolver as the last one
118
+ async function callRecursive(callOpts = {
119
+ index: 0,
120
+ ctx: opts.ctx
121
+ }) {
122
+ try {
123
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
124
+ const middleware = _def.middlewares[callOpts.index];
125
+ const result = await middleware({
126
+ ctx: callOpts.ctx,
127
+ type: opts.type,
128
+ path: opts.path,
129
+ getRawInput: callOpts.getRawInput ?? opts.getRawInput,
130
+ meta: _def.meta,
131
+ input: callOpts.input,
132
+ next (_nextOpts) {
133
+ const nextOpts = _nextOpts;
134
+ return callRecursive({
135
+ index: callOpts.index + 1,
136
+ ctx: nextOpts && 'ctx' in nextOpts ? {
137
+ ...callOpts.ctx,
138
+ ...nextOpts.ctx
139
+ } : callOpts.ctx,
140
+ input: nextOpts && 'input' in nextOpts ? nextOpts.input : callOpts.input,
141
+ getRawInput: nextOpts && 'getRawInput' in nextOpts ? nextOpts.getRawInput : callOpts.getRawInput
142
+ });
143
+ }
144
+ });
145
+ return result;
146
+ } catch (cause) {
147
+ return {
148
+ ok: false,
149
+ error: getTRPCErrorFromUnknown(cause),
150
+ marker: middlewareMarker
151
+ };
152
+ }
153
+ }
154
+ // there's always at least one "next" since we wrap this.resolver in a middleware
155
+ const result = await callRecursive();
156
+ if (!result) {
157
+ throw new TRPCError({
158
+ code: 'INTERNAL_SERVER_ERROR',
159
+ message: 'No result from middlewares - did you forget to `return next()`?'
160
+ });
161
+ }
162
+ if (!result.ok) {
163
+ // re-throw original error
164
+ throw result.error;
165
+ }
166
+ return result.data;
167
+ }
168
+ procedure._def = _def;
169
+ // FIXME typecast shouldn't be needed - fixittt
170
+ return procedure;
171
+ }
172
+
173
+ export { createBuilder, unsetMarker };
@@ -0,0 +1,75 @@
1
+ import type { ErrorFormatter } from './error/formatter';
2
+ import type { TRPCErrorShape } from './rpc';
3
+ /**
4
+ * The initial generics that are used in the init function
5
+ * @internal
6
+ */
7
+ export interface RootConfigTypes {
8
+ ctx: object;
9
+ meta: object;
10
+ errorShape: unknown;
11
+ transformer: unknown;
12
+ }
13
+ /**
14
+ * The default check to see if we're in a server
15
+ */
16
+ export declare const isServerDefault: boolean;
17
+ /**
18
+ * The runtime config that are used and actually represents real values underneath
19
+ * @internal
20
+ */
21
+ export interface RuntimeConfig<TTypes extends RootConfigTypes> {
22
+ /**
23
+ * Use a data transformer
24
+ * @link https://trpc.io/docs/v11/data-transformers
25
+ */
26
+ transformer: TTypes['transformer'];
27
+ /**
28
+ * Use custom error formatting
29
+ * @link https://trpc.io/docs/v11/error-formatting
30
+ */
31
+ errorFormatter: ErrorFormatter<TTypes['ctx'], TRPCErrorShape<number> & {
32
+ [key: string]: any;
33
+ }>;
34
+ /**
35
+ * Allow `@trpc/server` to run in non-server environments
36
+ * @warning **Use with caution**, this should likely mainly be used within testing.
37
+ * @default false
38
+ */
39
+ allowOutsideOfServer: boolean;
40
+ /**
41
+ * Is this a server environment?
42
+ * @warning **Use with caution**, this should likely mainly be used within testing.
43
+ * @default typeof window === 'undefined' || 'Deno' in window || process.env.NODE_ENV === 'test'
44
+ */
45
+ isServer: boolean;
46
+ /**
47
+ * Is this development?
48
+ * Will be used to decide if the API should return stack traces
49
+ * @default process.env.NODE_ENV !== 'production'
50
+ */
51
+ isDev: boolean;
52
+ defaultMeta?: TTypes['meta'] extends object ? TTypes['meta'] : never;
53
+ }
54
+ /**
55
+ * @internal
56
+ */
57
+ export type CreateRootConfigTypes<TGenerics extends RootConfigTypes> = TGenerics;
58
+ /**
59
+ * The config that is resolved after `initTRPC.create()` has been called
60
+ * Combination of `InitTOptions` + `InitGenerics`
61
+ * @internal
62
+ */
63
+ export interface RootConfig<TGenerics extends RootConfigTypes> extends RuntimeConfig<TGenerics> {
64
+ $types: TGenerics;
65
+ }
66
+ /**
67
+ * @internal
68
+ */
69
+ export type AnyRootConfig = RootConfig<{
70
+ ctx: any;
71
+ meta: any;
72
+ errorShape: any;
73
+ transformer: any;
74
+ }>;
75
+ //# sourceMappingURL=rootConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rootConfig.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/rootConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,OAMmB,CAAC;AAElD;;;GAGG;AACH,MAAM,WAAW,aAAa,CAAC,MAAM,SAAS,eAAe;IAC3D;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;IACnC;;;OAGG;IACH,cAAc,EAAE,cAAc,CAC5B,MAAM,CAAC,KAAK,CAAC,EACb,cAAc,CAAC,MAAM,CAAC,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAChD,CAAC;IACF;;;;OAIG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,KAAK,EAAE,OAAO,CAAC;IAEf,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;CACtE;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,CAAC,SAAS,SAAS,eAAe,IACjE,SAAS,CAAC;AAEZ;;;;GAIG;AACH,MAAM,WAAW,UAAU,CAAC,SAAS,SAAS,eAAe,CAC3D,SAAQ,aAAa,CAAC,SAAS,CAAC;IAChC,MAAM,EAAE,SAAS,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC;IACrC,GAAG,EAAE,GAAG,CAAC;IACT,IAAI,EAAE,GAAG,CAAC;IACV,UAAU,EAAE,GAAG,CAAC;IAChB,WAAW,EAAE,GAAG,CAAC;CAClB,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * The default check to see if we're in a server
5
+ */ const isServerDefault = typeof window === 'undefined' || 'Deno' in window || // eslint-disable-next-line @typescript-eslint/dot-notation
6
+ globalThis.process?.env?.['NODE_ENV'] === 'test' || !!globalThis.process?.env?.['JEST_WORKER_ID'] || !!globalThis.process?.env?.['VITEST_WORKER_ID'];
7
+
8
+ exports.isServerDefault = isServerDefault;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The default check to see if we're in a server
3
+ */ const isServerDefault = typeof window === 'undefined' || 'Deno' in window || // eslint-disable-next-line @typescript-eslint/dot-notation
4
+ globalThis.process?.env?.['NODE_ENV'] === 'test' || !!globalThis.process?.env?.['JEST_WORKER_ID'] || !!globalThis.process?.env?.['VITEST_WORKER_ID'];
5
+
6
+ export { isServerDefault };
@@ -0,0 +1,85 @@
1
+ import type { AnyProcedure, inferProcedureInput, inferTransformedProcedureOutput, ProcedureArgs } from './procedure';
2
+ import type { ProcedureCallOptions } from './procedureBuilder';
3
+ import type { AnyRootConfig } from './rootConfig';
4
+ import type { MaybePromise } from './types';
5
+ /** @internal **/
6
+ export type ProcedureRecord = Record<string, AnyProcedure>;
7
+ export interface ProcedureRouterRecord {
8
+ [key: string]: AnyProcedure | AnyRouter;
9
+ }
10
+ export interface RouterDef<TConfig extends AnyRootConfig, TRecord extends ProcedureRouterRecord> {
11
+ _config: TConfig;
12
+ router: true;
13
+ procedure?: never;
14
+ procedures: TRecord;
15
+ record: TRecord;
16
+ }
17
+ export type AnyRouterDef<TConfig extends AnyRootConfig = AnyRootConfig> = RouterDef<TConfig, any>;
18
+ type DecorateProcedure<TProcedure extends AnyProcedure> = (input: ProcedureArgs<TProcedure['_def']>[0]) => Promise<TProcedure['_def']['_output_out']>;
19
+ /**
20
+ * @internal
21
+ */
22
+ type DecoratedProcedureRecord<TProcedures extends ProcedureRouterRecord> = {
23
+ [TKey in keyof TProcedures]: TProcedures[TKey] extends AnyRouter ? DecoratedProcedureRecord<TProcedures[TKey]['_def']['record']> : TProcedures[TKey] extends AnyProcedure ? DecorateProcedure<TProcedures[TKey]> : never;
24
+ };
25
+ /**
26
+ * @internal
27
+ */
28
+ export type RouterCaller<TDef extends AnyRouterDef> = (
29
+ /**
30
+ * @note
31
+ * If passing a function, we recommend it's a cached function
32
+ * e.g. wrapped in `React.cache` to avoid unnecessary computations
33
+ */
34
+ ctx: TDef['_config']['$types']['ctx'] | (() => MaybePromise<TDef['_config']['$types']['ctx']>)) => DecoratedProcedureRecord<TDef['record']>;
35
+ export interface Router<TDef extends AnyRouterDef> {
36
+ _def: TDef;
37
+ /**
38
+ * @deprecated use `t.createCallerFactory(router)` instead
39
+ * @link https://trpc.io/docs/v11/server/server-side-calls
40
+ */
41
+ createCaller: RouterCaller<TDef>;
42
+ }
43
+ export type AnyRouter = Router<AnyRouterDef>;
44
+ type inferRouterDef<TRouter extends AnyRouter> = TRouter extends Router<infer TParams> ? TParams extends AnyRouterDef<any> ? TParams : never : never;
45
+ type inferRouterConfig<TRouter extends AnyRouter> = inferRouterDef<TRouter>['_config'];
46
+ export type inferRouterContext<TRouter extends AnyRouter> = inferRouterConfig<TRouter>['$types']['ctx'];
47
+ export type inferRouterError<TRouter extends AnyRouter> = inferRouterConfig<TRouter>['$types']['errorShape'];
48
+ export type inferRouterMeta<TRouter extends AnyRouter> = inferRouterConfig<TRouter>['$types']['meta'];
49
+ type GetInferenceHelpers<TType extends 'input' | 'output', TRouter extends AnyRouter> = {
50
+ [TKey in keyof TRouter['_def']['record']]: TRouter['_def']['record'][TKey] extends infer TRouterOrProcedure ? TRouterOrProcedure extends AnyRouter ? GetInferenceHelpers<TType, TRouterOrProcedure> : TRouterOrProcedure extends AnyProcedure ? TType extends 'input' ? inferProcedureInput<TRouterOrProcedure> : inferTransformedProcedureOutput<TRouter['_def']['_config'], TRouterOrProcedure> : never : never;
51
+ };
52
+ export type inferRouterInputs<TRouter extends AnyRouter> = GetInferenceHelpers<'input', TRouter>;
53
+ export type inferRouterOutputs<TRouter extends AnyRouter> = GetInferenceHelpers<'output', TRouter>;
54
+ /**
55
+ * @internal
56
+ */
57
+ export type CreateRouterInner<TConfig extends AnyRootConfig, TProcRouterRecord extends ProcedureRouterRecord> = Router<RouterDef<TConfig, TProcRouterRecord>> &
58
+ /**
59
+ * This adds ability to call procedures directly but is primarily used for quick access in type inference
60
+ */
61
+ TProcRouterRecord;
62
+ /**
63
+ * @internal
64
+ */
65
+ export declare function createRouterFactory<TConfig extends AnyRootConfig>(config: TConfig): <TProcRouterRecord extends ProcedureRouterRecord>(procedures: TProcRouterRecord) => CreateRouterInner<TConfig, TProcRouterRecord>;
66
+ /**
67
+ * @internal
68
+ */
69
+ export declare function callProcedure(opts: ProcedureCallOptions & {
70
+ procedures: ProcedureRouterRecord;
71
+ }): Promise<unknown>;
72
+ export declare function createCallerFactory<TConfig extends AnyRootConfig>(): <TRouter extends Router<AnyRouterDef<TConfig>>>(router: TRouter) => RouterCaller<TRouter["_def"]>;
73
+ /** @internal */
74
+ type MergeRouters<TRouters extends AnyRouter[], TRouterDef extends AnyRouterDef = RouterDef<TRouters[0]['_def']['_config'], {}>> = TRouters extends [
75
+ infer Head extends AnyRouter,
76
+ ...infer Tail extends AnyRouter[]
77
+ ] ? MergeRouters<Tail, {
78
+ _config: TRouterDef['_config'];
79
+ router: true;
80
+ procedures: Head['_def']['procedures'] & TRouterDef['procedures'];
81
+ record: Head['_def']['record'] & TRouterDef['record'];
82
+ }> : Router<TRouterDef> & TRouterDef['record'];
83
+ export declare function mergeRouters<TRouters extends AnyRouter[]>(...routerList: [...TRouters]): MergeRouters<TRouters>;
84
+ export {};
85
+ //# sourceMappingURL=router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/router.ts"],"names":[],"mappings":"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"}