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

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 +416 -75
  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 +233 -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,95 @@
1
+ 'use strict';
2
+
3
+ var createProxy = require('./createProxy.js');
4
+ var formatter = require('./error/formatter.js');
5
+ var middleware = require('./middleware.js');
6
+ var procedureBuilder = require('./procedureBuilder.js');
7
+ var rootConfig = require('./rootConfig.js');
8
+ var router = require('./router.js');
9
+ var transformer = require('./transformer.js');
10
+
11
+ /**
12
+ * TODO: This can be improved:
13
+ * - We should be able to chain `.meta()`/`.context()` only once
14
+ * - Simplify typings
15
+ * - Doesn't need to be a class but it doesn't really hurt either
16
+ */ class TRPCBuilder {
17
+ /**
18
+ * Add a context shape as a generic to the root object
19
+ * @link https://trpc.io/docs/v11/server/context
20
+ */ context() {
21
+ return new TRPCBuilder();
22
+ }
23
+ /**
24
+ * Add a meta shape as a generic to the root object
25
+ * @link https://trpc.io/docs/v11/quickstart
26
+ */ meta() {
27
+ return new TRPCBuilder();
28
+ }
29
+ /**
30
+ * Create the root object
31
+ * @link https://trpc.io/docs/v11/server/routers#initialize-trpc
32
+ */ create(options) {
33
+ return createTRPCInner()(options);
34
+ }
35
+ }
36
+ /**
37
+ * Builder to initialize the tRPC root object - use this exactly once per backend
38
+ * @link https://trpc.io/docs/v11/quickstart
39
+ */ const initTRPC = new TRPCBuilder();
40
+ function createTRPCInner() {
41
+ return function initTRPCInner(runtime) {
42
+ const errorFormatter = runtime?.errorFormatter ?? formatter.defaultFormatter;
43
+ const transformer$1 = transformer.getDataTransformer(runtime?.transformer ?? transformer.defaultTransformer);
44
+ const config = {
45
+ transformer: transformer$1,
46
+ isDev: runtime?.isDev ?? // eslint-disable-next-line @typescript-eslint/dot-notation
47
+ globalThis.process?.env?.['NODE_ENV'] !== 'production',
48
+ allowOutsideOfServer: runtime?.allowOutsideOfServer ?? false,
49
+ errorFormatter,
50
+ isServer: runtime?.isServer ?? rootConfig.isServerDefault,
51
+ /**
52
+ * @internal
53
+ */ $types: createProxy.createFlatProxy((key)=>{
54
+ throw new Error(`Tried to access "$types.${key}" which is not available at runtime`);
55
+ })
56
+ };
57
+ {
58
+ // Server check
59
+ const isServer = runtime?.isServer ?? rootConfig.isServerDefault;
60
+ if (!isServer && runtime?.allowOutsideOfServer !== true) {
61
+ throw new Error(`You're trying to use @trpc/server in a non-server environment. This is not supported by default.`);
62
+ }
63
+ }
64
+ return {
65
+ /**
66
+ * These are just types, they can't be used
67
+ * @internal
68
+ */ _config: config,
69
+ /**
70
+ * Builder object for creating procedures
71
+ * @link https://trpc.io/docs/v11/server/procedures
72
+ */ procedure: procedureBuilder.createBuilder({
73
+ meta: runtime?.defaultMeta
74
+ }),
75
+ /**
76
+ * Create reusable middlewares
77
+ * @link https://trpc.io/docs/v11/server/middlewares
78
+ */ middleware: middleware.createMiddlewareFactory(),
79
+ /**
80
+ * Create a router
81
+ * @link https://trpc.io/docs/v11/server/routers
82
+ */ router: router.createRouterFactory(config),
83
+ /**
84
+ * Merge Routers
85
+ * @link https://trpc.io/docs/v11/server/merging-routers
86
+ */ mergeRouters: router.mergeRouters,
87
+ /**
88
+ * Create a server-side caller for a router
89
+ * @link https://trpc.io/docs/v11/server/server-side-calls
90
+ */ createCallerFactory: router.createCallerFactory()
91
+ };
92
+ };
93
+ }
94
+
95
+ exports.initTRPC = initTRPC;
@@ -0,0 +1,93 @@
1
+ import { createFlatProxy } from './createProxy.mjs';
2
+ import { defaultFormatter } from './error/formatter.mjs';
3
+ import { createMiddlewareFactory } from './middleware.mjs';
4
+ import { createBuilder } from './procedureBuilder.mjs';
5
+ import { isServerDefault } from './rootConfig.mjs';
6
+ import { createRouterFactory, mergeRouters, createCallerFactory } from './router.mjs';
7
+ import { getDataTransformer, defaultTransformer } from './transformer.mjs';
8
+
9
+ /**
10
+ * TODO: This can be improved:
11
+ * - We should be able to chain `.meta()`/`.context()` only once
12
+ * - Simplify typings
13
+ * - Doesn't need to be a class but it doesn't really hurt either
14
+ */ class TRPCBuilder {
15
+ /**
16
+ * Add a context shape as a generic to the root object
17
+ * @link https://trpc.io/docs/v11/server/context
18
+ */ context() {
19
+ return new TRPCBuilder();
20
+ }
21
+ /**
22
+ * Add a meta shape as a generic to the root object
23
+ * @link https://trpc.io/docs/v11/quickstart
24
+ */ meta() {
25
+ return new TRPCBuilder();
26
+ }
27
+ /**
28
+ * Create the root object
29
+ * @link https://trpc.io/docs/v11/server/routers#initialize-trpc
30
+ */ create(options) {
31
+ return createTRPCInner()(options);
32
+ }
33
+ }
34
+ /**
35
+ * Builder to initialize the tRPC root object - use this exactly once per backend
36
+ * @link https://trpc.io/docs/v11/quickstart
37
+ */ const initTRPC = new TRPCBuilder();
38
+ function createTRPCInner() {
39
+ return function initTRPCInner(runtime) {
40
+ const errorFormatter = runtime?.errorFormatter ?? defaultFormatter;
41
+ const transformer = getDataTransformer(runtime?.transformer ?? defaultTransformer);
42
+ const config = {
43
+ transformer,
44
+ isDev: runtime?.isDev ?? // eslint-disable-next-line @typescript-eslint/dot-notation
45
+ globalThis.process?.env?.['NODE_ENV'] !== 'production',
46
+ allowOutsideOfServer: runtime?.allowOutsideOfServer ?? false,
47
+ errorFormatter,
48
+ isServer: runtime?.isServer ?? isServerDefault,
49
+ /**
50
+ * @internal
51
+ */ $types: createFlatProxy((key)=>{
52
+ throw new Error(`Tried to access "$types.${key}" which is not available at runtime`);
53
+ })
54
+ };
55
+ {
56
+ // Server check
57
+ const isServer = runtime?.isServer ?? isServerDefault;
58
+ if (!isServer && runtime?.allowOutsideOfServer !== true) {
59
+ throw new Error(`You're trying to use @trpc/server in a non-server environment. This is not supported by default.`);
60
+ }
61
+ }
62
+ return {
63
+ /**
64
+ * These are just types, they can't be used
65
+ * @internal
66
+ */ _config: config,
67
+ /**
68
+ * Builder object for creating procedures
69
+ * @link https://trpc.io/docs/v11/server/procedures
70
+ */ procedure: createBuilder({
71
+ meta: runtime?.defaultMeta
72
+ }),
73
+ /**
74
+ * Create reusable middlewares
75
+ * @link https://trpc.io/docs/v11/server/middlewares
76
+ */ middleware: createMiddlewareFactory(),
77
+ /**
78
+ * Create a router
79
+ * @link https://trpc.io/docs/v11/server/routers
80
+ */ router: createRouterFactory(config),
81
+ /**
82
+ * Merge Routers
83
+ * @link https://trpc.io/docs/v11/server/merging-routers
84
+ */ mergeRouters,
85
+ /**
86
+ * Create a server-side caller for a router
87
+ * @link https://trpc.io/docs/v11/server/server-side-calls
88
+ */ createCallerFactory: createCallerFactory()
89
+ };
90
+ };
91
+ }
92
+
93
+ export { initTRPC };
@@ -0,0 +1,105 @@
1
+ import { TRPCError } from './error/TRPCError';
2
+ import type { ParseFn } from './parser';
3
+ import type { ProcedureType } from './procedure';
4
+ import type { GetRawInputFn, Overwrite, Simplify } from './types';
5
+ /** @internal */
6
+ export declare const middlewareMarker: "middlewareMarker" & {
7
+ __brand: 'middlewareMarker';
8
+ };
9
+ type MiddlewareMarker = typeof middlewareMarker;
10
+ interface MiddlewareResultBase {
11
+ /**
12
+ * All middlewares should pass through their `next()`'s output.
13
+ * Requiring this marker makes sure that can't be forgotten at compile-time.
14
+ */
15
+ readonly marker: MiddlewareMarker;
16
+ }
17
+ interface MiddlewareOKResult<_TContextOverride> extends MiddlewareResultBase {
18
+ ok: true;
19
+ data: unknown;
20
+ }
21
+ interface MiddlewareErrorResult<_TContextOverride> extends MiddlewareResultBase {
22
+ ok: false;
23
+ error: TRPCError;
24
+ }
25
+ /**
26
+ * @internal
27
+ */
28
+ export type MiddlewareResult<_TContextOverride> = MiddlewareErrorResult<_TContextOverride> | MiddlewareOKResult<_TContextOverride>;
29
+ /**
30
+ * @internal
31
+ */
32
+ export interface MiddlewareBuilder<TContext, TMeta, TContextOverrides, TInputIn> {
33
+ /**
34
+ * Create a new builder based on the current middleware builder
35
+ */
36
+ unstable_pipe<$ContextOverridesOut>(fn: MiddlewareFunction<TContext, TMeta, TContextOverrides, $ContextOverridesOut, TInputIn> | MiddlewareBuilder<Overwrite<TContext, TContextOverrides>, TMeta, $ContextOverridesOut, TInputIn>): MiddlewareBuilder<TContext, TMeta, Overwrite<TContextOverrides, $ContextOverridesOut>, TInputIn>;
37
+ /**
38
+ * List of middlewares within this middleware builder
39
+ */
40
+ _middlewares: MiddlewareFunction<TContext, TMeta, TContextOverrides, object, TInputIn>[];
41
+ }
42
+ /**
43
+ * @internal
44
+ */
45
+ export type MiddlewareFunction<TContext, TMeta, TContextOverridesIn, $ContextOverridesOut, TInputIn> = {
46
+ (opts: {
47
+ ctx: Simplify<Overwrite<TContext, TContextOverridesIn>>;
48
+ type: ProcedureType;
49
+ path: string;
50
+ input: TInputIn;
51
+ getRawInput: GetRawInputFn;
52
+ meta: TMeta | undefined;
53
+ next: {
54
+ (): Promise<MiddlewareResult<TContextOverridesIn>>;
55
+ <$ContextOverride>(opts: {
56
+ ctx?: $ContextOverride;
57
+ input?: unknown;
58
+ }): Promise<MiddlewareResult<$ContextOverride>>;
59
+ (opts: {
60
+ getRawInput: GetRawInputFn;
61
+ }): Promise<MiddlewareResult<TContextOverridesIn>>;
62
+ };
63
+ }): Promise<MiddlewareResult<$ContextOverridesOut>>;
64
+ _type?: string | undefined;
65
+ };
66
+ export type AnyMiddlewareFunction = MiddlewareFunction<any, any, any, any, any>;
67
+ export type AnyMiddlewareBuilder = MiddlewareBuilder<any, any, any, any>;
68
+ /**
69
+ * @internal
70
+ */
71
+ export declare function createMiddlewareFactory<TContext, TMeta, TInputIn = unknown>(): <$ContextOverrides>(fn: MiddlewareFunction<TContext, TMeta, object, $ContextOverrides, TInputIn>) => MiddlewareBuilder<TContext, TMeta, $ContextOverrides, TInputIn>;
72
+ /**
73
+ * Create a standalone middleware
74
+ * @link https://trpc.io/docs/v11/server/middlewares#experimental-standalone-middlewares
75
+ */
76
+ export declare const experimental_standaloneMiddleware: <TCtx extends {
77
+ ctx?: object | undefined;
78
+ meta?: object | undefined;
79
+ input?: unknown;
80
+ }>() => {
81
+ create: <$ContextOverrides>(fn: MiddlewareFunction<TCtx extends {
82
+ ctx: infer T extends object;
83
+ } ? T : any, TCtx extends {
84
+ meta: infer T_1 extends object;
85
+ } ? T_1 : object, object, $ContextOverrides, TCtx extends {
86
+ input: infer T_2;
87
+ } ? T_2 : unknown>) => MiddlewareBuilder<TCtx extends {
88
+ ctx: infer T extends object;
89
+ } ? T : any, TCtx extends {
90
+ meta: infer T_1 extends object;
91
+ } ? T_1 : object, $ContextOverrides, TCtx extends {
92
+ input: infer T_2;
93
+ } ? T_2 : unknown>;
94
+ };
95
+ /**
96
+ * @internal
97
+ * Please note, `trpc-openapi` uses this function.
98
+ */
99
+ export declare function createInputMiddleware<TInput>(parse: ParseFn<TInput>): AnyMiddlewareFunction;
100
+ /**
101
+ * @internal
102
+ */
103
+ export declare function createOutputMiddleware<TOutput>(parse: ParseFn<TOutput>): AnyMiddlewareFunction;
104
+ export {};
105
+ //# sourceMappingURL=middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/middleware.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ 'use strict';
2
+
3
+ var TRPCError = require('./error/TRPCError.js');
4
+ var utils = require('./utils.js');
5
+
6
+ /** @internal */ const middlewareMarker = 'middlewareMarker';
7
+ /**
8
+ * @internal
9
+ */ function createMiddlewareFactory() {
10
+ function createMiddlewareInner(middlewares) {
11
+ return {
12
+ _middlewares: middlewares,
13
+ unstable_pipe (middlewareBuilderOrFn) {
14
+ const pipedMiddleware = '_middlewares' in middlewareBuilderOrFn ? middlewareBuilderOrFn._middlewares : [
15
+ middlewareBuilderOrFn
16
+ ];
17
+ return createMiddlewareInner([
18
+ ...middlewares,
19
+ ...pipedMiddleware
20
+ ]);
21
+ }
22
+ };
23
+ }
24
+ function createMiddleware(fn) {
25
+ return createMiddlewareInner([
26
+ fn
27
+ ]);
28
+ }
29
+ return createMiddleware;
30
+ }
31
+ /**
32
+ * Create a standalone middleware
33
+ * @link https://trpc.io/docs/v11/server/middlewares#experimental-standalone-middlewares
34
+ */ const experimental_standaloneMiddleware = ()=>({
35
+ create: createMiddlewareFactory()
36
+ });
37
+ /**
38
+ * @internal
39
+ * Please note, `trpc-openapi` uses this function.
40
+ */ function createInputMiddleware(parse) {
41
+ const inputMiddleware = async function inputValidatorMiddleware(opts) {
42
+ let parsedInput;
43
+ const rawInput = await opts.getRawInput();
44
+ try {
45
+ parsedInput = await parse(rawInput);
46
+ } catch (cause) {
47
+ throw new TRPCError.TRPCError({
48
+ code: 'BAD_REQUEST',
49
+ cause
50
+ });
51
+ }
52
+ // Multiple input parsers
53
+ const combinedInput = utils.isObject(opts.input) && utils.isObject(parsedInput) ? {
54
+ ...opts.input,
55
+ ...parsedInput
56
+ } : parsedInput;
57
+ return opts.next({
58
+ input: combinedInput
59
+ });
60
+ };
61
+ inputMiddleware._type = 'input';
62
+ return inputMiddleware;
63
+ }
64
+ /**
65
+ * @internal
66
+ */ function createOutputMiddleware(parse) {
67
+ const outputMiddleware = async function outputValidatorMiddleware({ next }) {
68
+ const result = await next();
69
+ if (!result.ok) {
70
+ // pass through failures without validating
71
+ return result;
72
+ }
73
+ try {
74
+ const data = await parse(result.data);
75
+ return {
76
+ ...result,
77
+ data
78
+ };
79
+ } catch (cause) {
80
+ throw new TRPCError.TRPCError({
81
+ message: 'Output validation failed',
82
+ code: 'INTERNAL_SERVER_ERROR',
83
+ cause
84
+ });
85
+ }
86
+ };
87
+ outputMiddleware._type = 'output';
88
+ return outputMiddleware;
89
+ }
90
+
91
+ exports.createInputMiddleware = createInputMiddleware;
92
+ exports.createMiddlewareFactory = createMiddlewareFactory;
93
+ exports.createOutputMiddleware = createOutputMiddleware;
94
+ exports.experimental_standaloneMiddleware = experimental_standaloneMiddleware;
95
+ exports.middlewareMarker = middlewareMarker;
@@ -0,0 +1,89 @@
1
+ import { TRPCError } from './error/TRPCError.mjs';
2
+ import { isObject } from './utils.mjs';
3
+
4
+ /** @internal */ const middlewareMarker = 'middlewareMarker';
5
+ /**
6
+ * @internal
7
+ */ function createMiddlewareFactory() {
8
+ function createMiddlewareInner(middlewares) {
9
+ return {
10
+ _middlewares: middlewares,
11
+ unstable_pipe (middlewareBuilderOrFn) {
12
+ const pipedMiddleware = '_middlewares' in middlewareBuilderOrFn ? middlewareBuilderOrFn._middlewares : [
13
+ middlewareBuilderOrFn
14
+ ];
15
+ return createMiddlewareInner([
16
+ ...middlewares,
17
+ ...pipedMiddleware
18
+ ]);
19
+ }
20
+ };
21
+ }
22
+ function createMiddleware(fn) {
23
+ return createMiddlewareInner([
24
+ fn
25
+ ]);
26
+ }
27
+ return createMiddleware;
28
+ }
29
+ /**
30
+ * Create a standalone middleware
31
+ * @link https://trpc.io/docs/v11/server/middlewares#experimental-standalone-middlewares
32
+ */ const experimental_standaloneMiddleware = ()=>({
33
+ create: createMiddlewareFactory()
34
+ });
35
+ /**
36
+ * @internal
37
+ * Please note, `trpc-openapi` uses this function.
38
+ */ function createInputMiddleware(parse) {
39
+ const inputMiddleware = async function inputValidatorMiddleware(opts) {
40
+ let parsedInput;
41
+ const rawInput = await opts.getRawInput();
42
+ try {
43
+ parsedInput = await parse(rawInput);
44
+ } catch (cause) {
45
+ throw new TRPCError({
46
+ code: 'BAD_REQUEST',
47
+ cause
48
+ });
49
+ }
50
+ // Multiple input parsers
51
+ const combinedInput = isObject(opts.input) && isObject(parsedInput) ? {
52
+ ...opts.input,
53
+ ...parsedInput
54
+ } : parsedInput;
55
+ return opts.next({
56
+ input: combinedInput
57
+ });
58
+ };
59
+ inputMiddleware._type = 'input';
60
+ return inputMiddleware;
61
+ }
62
+ /**
63
+ * @internal
64
+ */ function createOutputMiddleware(parse) {
65
+ const outputMiddleware = async function outputValidatorMiddleware({ next }) {
66
+ const result = await next();
67
+ if (!result.ok) {
68
+ // pass through failures without validating
69
+ return result;
70
+ }
71
+ try {
72
+ const data = await parse(result.data);
73
+ return {
74
+ ...result,
75
+ data
76
+ };
77
+ } catch (cause) {
78
+ throw new TRPCError({
79
+ message: 'Output validation failed',
80
+ code: 'INTERNAL_SERVER_ERROR',
81
+ cause
82
+ });
83
+ }
84
+ };
85
+ outputMiddleware._type = 'output';
86
+ return outputMiddleware;
87
+ }
88
+
89
+ export { createInputMiddleware, createMiddlewareFactory, createOutputMiddleware, experimental_standaloneMiddleware, middlewareMarker };
@@ -0,0 +1,30 @@
1
+ export type ParserZodEsque<TInput, TParsedInput> = {
2
+ _input: TInput;
3
+ _output: TParsedInput;
4
+ };
5
+ export type ParserMyZodEsque<TInput> = {
6
+ parse: (input: any) => TInput;
7
+ };
8
+ export type ParserSuperstructEsque<TInput> = {
9
+ create: (input: unknown) => TInput;
10
+ };
11
+ export type ParserCustomValidatorEsque<TInput> = (input: unknown) => Promise<TInput> | TInput;
12
+ export type ParserYupEsque<TInput> = {
13
+ validateSync: (input: unknown) => TInput;
14
+ };
15
+ export type ParserScaleEsque<TInput> = {
16
+ assert(value: unknown): asserts value is TInput;
17
+ };
18
+ export type ParserWithoutInput<TInput> = ParserCustomValidatorEsque<TInput> | ParserMyZodEsque<TInput> | ParserScaleEsque<TInput> | ParserSuperstructEsque<TInput> | ParserYupEsque<TInput>;
19
+ export type ParserWithInputOutput<TInput, TParsedInput> = ParserZodEsque<TInput, TParsedInput>;
20
+ export type Parser = ParserWithInputOutput<any, any> | ParserWithoutInput<any>;
21
+ export type inferParser<TParser extends Parser> = TParser extends ParserWithInputOutput<infer $TIn, infer $TOut> ? {
22
+ in: $TIn;
23
+ out: $TOut;
24
+ } : TParser extends ParserWithoutInput<infer $InOut> ? {
25
+ in: $InOut;
26
+ out: $InOut;
27
+ } : never;
28
+ export type ParseFn<TType> = (value: unknown) => Promise<TType> | TType;
29
+ export declare function getParseFn<TType>(procedureParser: Parser): ParseFn<TType>;
30
+ //# sourceMappingURL=parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/parser.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,cAAc,CAAC,MAAM,EAAE,YAAY,IAAI;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,YAAY,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,MAAM,IAAI;IACrC,KAAK,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,sBAAsB,CAAC,MAAM,IAAI;IAC3C,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,0BAA0B,CAAC,MAAM,IAAI,CAC/C,KAAK,EAAE,OAAO,KACX,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAE9B,MAAM,MAAM,cAAc,CAAC,MAAM,IAAI;IACnC,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,MAAM,IAAI;IACrC,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC;CACjD,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,MAAM,IACjC,0BAA0B,CAAC,MAAM,CAAC,GAClC,gBAAgB,CAAC,MAAM,CAAC,GACxB,gBAAgB,CAAC,MAAM,CAAC,GACxB,sBAAsB,CAAC,MAAM,CAAC,GAC9B,cAAc,CAAC,MAAM,CAAC,CAAC;AAE3B,MAAM,MAAM,qBAAqB,CAAC,MAAM,EAAE,YAAY,IAAI,cAAc,CACtE,MAAM,EACN,YAAY,CACb,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;AAE/E,MAAM,MAAM,WAAW,CAAC,OAAO,SAAS,MAAM,IAC5C,OAAO,SAAS,qBAAqB,CAAC,MAAM,IAAI,EAAE,MAAM,KAAK,CAAC,GAC1D;IACE,EAAE,EAAE,IAAI,CAAC;IACT,GAAG,EAAE,KAAK,CAAC;CACZ,GACD,OAAO,SAAS,kBAAkB,CAAC,MAAM,MAAM,CAAC,GAChD;IACE,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;CACb,GACD,KAAK,CAAC;AAEZ,MAAM,MAAM,OAAO,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AAExE,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAsCzE"}
@@ -0,0 +1,37 @@
1
+ 'use strict';
2
+
3
+ // zod / @decs/typeschema
4
+ function getParseFn(procedureParser) {
5
+ const parser = procedureParser;
6
+ if (typeof parser === 'function') {
7
+ // ParserCustomValidatorEsque
8
+ return parser;
9
+ }
10
+ if (typeof parser.parseAsync === 'function') {
11
+ // ParserZodEsque
12
+ return parser.parseAsync.bind(parser);
13
+ }
14
+ if (typeof parser.parse === 'function') {
15
+ // ParserZodEsque
16
+ // ParserValibotEsque (<= v0.12.X)
17
+ return parser.parse.bind(parser);
18
+ }
19
+ if (typeof parser.validateSync === 'function') {
20
+ // ParserYupEsque
21
+ return parser.validateSync.bind(parser);
22
+ }
23
+ if (typeof parser.create === 'function') {
24
+ // ParserSuperstructEsque
25
+ return parser.create.bind(parser);
26
+ }
27
+ if (typeof parser.assert === 'function') {
28
+ // ParserScaleEsque
29
+ return (value)=>{
30
+ parser.assert(value);
31
+ return value;
32
+ };
33
+ }
34
+ throw new Error('Could not find a validator fn');
35
+ }
36
+
37
+ exports.getParseFn = getParseFn;
@@ -0,0 +1,35 @@
1
+ // zod / @decs/typeschema
2
+ function getParseFn(procedureParser) {
3
+ const parser = procedureParser;
4
+ if (typeof parser === 'function') {
5
+ // ParserCustomValidatorEsque
6
+ return parser;
7
+ }
8
+ if (typeof parser.parseAsync === 'function') {
9
+ // ParserZodEsque
10
+ return parser.parseAsync.bind(parser);
11
+ }
12
+ if (typeof parser.parse === 'function') {
13
+ // ParserZodEsque
14
+ // ParserValibotEsque (<= v0.12.X)
15
+ return parser.parse.bind(parser);
16
+ }
17
+ if (typeof parser.validateSync === 'function') {
18
+ // ParserYupEsque
19
+ return parser.validateSync.bind(parser);
20
+ }
21
+ if (typeof parser.create === 'function') {
22
+ // ParserSuperstructEsque
23
+ return parser.create.bind(parser);
24
+ }
25
+ if (typeof parser.assert === 'function') {
26
+ // ParserScaleEsque
27
+ return (value)=>{
28
+ parser.assert(value);
29
+ return value;
30
+ };
31
+ }
32
+ throw new Error('Could not find a validator fn');
33
+ }
34
+
35
+ export { getParseFn };
@@ -0,0 +1,72 @@
1
+ import type { inferObservableValue } from '../observable';
2
+ import type { ProcedureCallOptions } from './procedureBuilder';
3
+ import type { Serialize } from './serialize';
4
+ import type { DefaultDataTransformer } from './transformer';
5
+ import type { inferConfig, TRPCInferrable } from './TRPCInferrable';
6
+ export declare const procedureTypes: readonly ["query", "mutation", "subscription"];
7
+ /**
8
+ * @public
9
+ */
10
+ export type ProcedureType = (typeof procedureTypes)[number];
11
+ type ClientContext = Record<string, unknown>;
12
+ /**
13
+ * @internal
14
+ */
15
+ export interface ProcedureOptions {
16
+ /**
17
+ * Client-side context
18
+ */
19
+ context?: ClientContext;
20
+ signal?: AbortSignal;
21
+ }
22
+ /**
23
+ * @internal
24
+ */
25
+ export type ProcedureArgs<TParams extends AnyProcedure['_def']> = void extends TParams['_input_in'] ? [input?: undefined | void, opts?: ProcedureOptions] : undefined extends TParams['_input_in'] ? [input?: TParams['_input_in'] | void, opts?: ProcedureOptions] : [input: TParams['_input_in'], opts?: ProcedureOptions];
26
+ interface BuiltProcedureDef {
27
+ input: unknown;
28
+ output: unknown;
29
+ }
30
+ /**
31
+ *
32
+ * @internal
33
+ */
34
+ export interface Procedure<TType extends ProcedureType, TDef extends BuiltProcedureDef> {
35
+ _def: {
36
+ _input_in: TDef['input'];
37
+ _output_out: TDef['output'];
38
+ procedure: true;
39
+ type: TType;
40
+ /**
41
+ * @internal
42
+ * Meta is not inferrable on individual procedures, only on the router
43
+ */
44
+ meta: unknown;
45
+ };
46
+ /**
47
+ * @internal
48
+ */
49
+ (opts: ProcedureCallOptions): Promise<unknown>;
50
+ }
51
+ export interface QueryProcedure<TDef extends BuiltProcedureDef> extends Procedure<'query', TDef> {
52
+ }
53
+ export interface MutationProcedure<TDef extends BuiltProcedureDef> extends Procedure<'mutation', TDef> {
54
+ }
55
+ export interface SubscriptionProcedure<TDef extends BuiltProcedureDef> extends Procedure<'subscription', TDef> {
56
+ }
57
+ export type AnyQueryProcedure = QueryProcedure<any>;
58
+ export type AnyMutationProcedure = MutationProcedure<any>;
59
+ export type AnySubscriptionProcedure = SubscriptionProcedure<any>;
60
+ export type AnyProcedure = Procedure<ProcedureType, any>;
61
+ /**
62
+ * @internal
63
+ */
64
+ export type inferTransformedProcedureOutput<TInferrable extends TRPCInferrable, TProcedure extends AnyProcedure> = inferConfig<TInferrable>['transformer'] extends DefaultDataTransformer ? Serialize<TProcedure['_def']['_output_out']> : TProcedure['_def']['_output_out'];
65
+ /** @internal */
66
+ export type inferTransformedSubscriptionOutput<TInferrable extends TRPCInferrable, TProcedure extends AnyProcedure> = inferConfig<TInferrable>['transformer'] extends DefaultDataTransformer ? Serialize<inferObservableValue<TProcedure['_def']['_output_out']>> : inferObservableValue<TProcedure['_def']['_output_out']>;
67
+ export type inferHandlerInput<TProcedure extends AnyProcedure> = ProcedureArgs<inferProcedureParams<TProcedure>>;
68
+ export type inferProcedureInput<TProcedure extends AnyProcedure> = inferProcedureParams<TProcedure>['_input_in'];
69
+ export type inferProcedureParams<TProcedure> = TProcedure extends AnyProcedure ? TProcedure['_def'] : never;
70
+ export type inferProcedureOutput<TProcedure> = inferProcedureParams<TProcedure>['_output_out'];
71
+ export {};
72
+ //# sourceMappingURL=procedure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"procedure.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/procedure.ts"],"names":[],"mappings":"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"}