@trpc/server 10.0.0-alpha.4 → 10.0.0-alpha.42

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 (345) hide show
  1. package/README.md +79 -1
  2. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.d.ts +1 -0
  3. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.dev.js +190 -0
  4. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.js +7 -0
  5. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.cjs.prod.js +190 -0
  6. package/adapters/aws-lambda/dist/trpc-server-adapters-aws-lambda.esm.js +186 -0
  7. package/adapters/aws-lambda/index.d.ts +1 -0
  8. package/adapters/aws-lambda/index.js +1 -0
  9. package/adapters/express/dist/trpc-server-adapters-express.cjs.dev.js +7 -6
  10. package/adapters/express/dist/trpc-server-adapters-express.cjs.prod.js +7 -6
  11. package/adapters/express/dist/trpc-server-adapters-express.esm.js +7 -6
  12. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.d.ts +1 -0
  13. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.dev.js +109 -0
  14. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.js +7 -0
  15. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.prod.js +109 -0
  16. package/adapters/fastify/dist/trpc-server-adapters-fastify.esm.js +104 -0
  17. package/adapters/fastify/index.d.ts +1 -0
  18. package/adapters/fastify/index.js +1 -0
  19. package/adapters/fetch/index.d.ts +1 -0
  20. package/adapters/fetch/index.js +1 -0
  21. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.d.ts +1 -0
  22. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.dev.js +25 -0
  23. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.js +7 -0
  24. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.prod.js +25 -0
  25. package/adapters/lambda/dist/trpc-server-adapters-lambda.esm.js +21 -0
  26. package/adapters/next/dist/trpc-server-adapters-next.cjs.dev.js +4 -3
  27. package/adapters/next/dist/trpc-server-adapters-next.cjs.prod.js +4 -3
  28. package/adapters/next/dist/trpc-server-adapters-next.esm.js +4 -3
  29. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.dev.js +4 -3
  30. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.prod.js +4 -3
  31. package/adapters/node-http/dist/trpc-server-adapters-node-http.esm.js +4 -3
  32. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.dev.js +5 -4
  33. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.prod.js +5 -4
  34. package/adapters/standalone/dist/trpc-server-adapters-standalone.esm.js +5 -4
  35. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.dev.js +6 -5
  36. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.prod.js +6 -5
  37. package/adapters/ws/dist/trpc-server-adapters-ws.esm.js +6 -5
  38. package/dist/TRPCError-9050a68d.js +69 -0
  39. package/dist/TRPCError-97212592.mjs +65 -0
  40. package/dist/adapters/aws-lambda/index.d.ts +14 -0
  41. package/dist/adapters/aws-lambda/index.d.ts.map +1 -0
  42. package/dist/adapters/aws-lambda/index.js +190 -0
  43. package/dist/adapters/aws-lambda/index.mjs +186 -0
  44. package/dist/{ws → adapters/aws-lambda}/index.ts.js +0 -0
  45. package/dist/adapters/aws-lambda/utils.d.ts +35 -0
  46. package/dist/adapters/aws-lambda/utils.d.ts.map +1 -0
  47. package/dist/adapters/express.d.ts +1 -1
  48. package/dist/adapters/express.d.ts.map +1 -1
  49. package/dist/adapters/express.js +8 -7
  50. package/dist/adapters/express.mjs +8 -7
  51. package/dist/adapters/fastify/fastifyRequestHandler.d.ts +13 -0
  52. package/dist/adapters/fastify/fastifyRequestHandler.d.ts.map +1 -0
  53. package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts +12 -0
  54. package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts.map +1 -0
  55. package/dist/adapters/fastify/index.d.ts +3 -0
  56. package/dist/adapters/fastify/index.d.ts.map +1 -0
  57. package/dist/adapters/fastify/index.js +108 -0
  58. package/dist/adapters/fastify/index.mjs +103 -0
  59. package/dist/adapters/fastify/index.ts.js +1 -0
  60. package/dist/adapters/fetch/fetchRequestHandler.d.ts +8 -0
  61. package/dist/adapters/fetch/fetchRequestHandler.d.ts.map +1 -0
  62. package/dist/adapters/fetch/index.d.ts +3 -0
  63. package/dist/adapters/fetch/index.d.ts.map +1 -0
  64. package/dist/adapters/fetch/index.js +69 -0
  65. package/dist/adapters/fetch/index.mjs +65 -0
  66. package/dist/adapters/fetch/index.ts.js +1 -0
  67. package/dist/adapters/fetch/types.d.ts +21 -0
  68. package/dist/adapters/fetch/types.d.ts.map +1 -0
  69. package/dist/adapters/lambda/index.d.ts +12 -0
  70. package/dist/adapters/lambda/index.d.ts.map +1 -0
  71. package/dist/adapters/next.d.ts +2 -2
  72. package/dist/adapters/next.d.ts.map +1 -1
  73. package/dist/adapters/next.js +9 -9
  74. package/dist/adapters/next.mjs +8 -8
  75. package/dist/adapters/node-http/index.js +5 -4
  76. package/dist/adapters/node-http/index.mjs +5 -4
  77. package/dist/adapters/node-http/internals/getPostBody.d.ts +1 -1
  78. package/dist/adapters/node-http/internals/getPostBody.d.ts.map +1 -1
  79. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts +2 -2
  80. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +1 -1
  81. package/dist/adapters/node-http/types.d.ts +11 -9
  82. package/dist/adapters/node-http/types.d.ts.map +1 -1
  83. package/dist/adapters/standalone.d.ts +2 -2
  84. package/dist/adapters/standalone.d.ts.map +1 -1
  85. package/dist/adapters/standalone.js +11 -7
  86. package/dist/adapters/standalone.mjs +11 -6
  87. package/dist/adapters/ws.d.ts +8 -6
  88. package/dist/adapters/ws.d.ts.map +1 -1
  89. package/dist/adapters/ws.js +123 -90
  90. package/dist/adapters/ws.mjs +118 -85
  91. package/dist/assertNotBrowser.d.ts.map +1 -1
  92. package/dist/core/index.d.ts +6 -0
  93. package/dist/core/index.d.ts.map +1 -0
  94. package/dist/core/initTRPC.d.ts +87 -0
  95. package/dist/core/initTRPC.d.ts.map +1 -0
  96. package/dist/core/internals/__generated__/mergeRoutersGeneric.d.ts +282 -0
  97. package/dist/core/internals/__generated__/mergeRoutersGeneric.d.ts.map +1 -0
  98. package/dist/core/internals/config.d.ts +36 -0
  99. package/dist/core/internals/config.d.ts.map +1 -0
  100. package/dist/core/internals/getParseFn.d.ts +9 -0
  101. package/dist/core/internals/getParseFn.d.ts.map +1 -0
  102. package/dist/core/internals/mergeRouters.d.ts +3 -0
  103. package/dist/core/internals/mergeRouters.d.ts.map +1 -0
  104. package/dist/core/internals/mergeWithoutOverrides.d.ts +5 -0
  105. package/dist/core/internals/mergeWithoutOverrides.d.ts.map +1 -0
  106. package/dist/core/internals/omitPrototype.d.ts +6 -0
  107. package/dist/core/internals/omitPrototype.d.ts.map +1 -0
  108. package/dist/core/internals/prefixObjectKeys.d.ts +2 -0
  109. package/dist/core/internals/prefixObjectKeys.d.ts.map +1 -0
  110. package/dist/core/internals/procedureBuilder.d.ts +122 -0
  111. package/dist/core/internals/procedureBuilder.d.ts.map +1 -0
  112. package/dist/core/internals/utils.d.ts +44 -0
  113. package/dist/core/internals/utils.d.ts.map +1 -0
  114. package/dist/core/middleware.d.ts +87 -0
  115. package/dist/core/middleware.d.ts.map +1 -0
  116. package/dist/core/parser.d.ts +25 -0
  117. package/dist/core/parser.d.ts.map +1 -0
  118. package/dist/core/procedure.d.ts +88 -0
  119. package/dist/core/procedure.d.ts.map +1 -0
  120. package/dist/core/router.d.ts +128 -0
  121. package/dist/core/router.d.ts.map +1 -0
  122. package/dist/core/types.d.ts +19 -0
  123. package/dist/core/types.d.ts.map +1 -0
  124. package/dist/{internals → deprecated/internals}/callProcedure.d.ts +5 -2
  125. package/dist/deprecated/internals/callProcedure.d.ts.map +1 -0
  126. package/dist/{internals → deprecated/internals}/middlewares.d.ts +21 -3
  127. package/dist/deprecated/internals/middlewares.d.ts.map +1 -0
  128. package/dist/deprecated/internals/procedure.d.ts +96 -0
  129. package/dist/deprecated/internals/procedure.d.ts.map +1 -0
  130. package/dist/deprecated/interop.d.ts +34 -0
  131. package/dist/deprecated/interop.d.ts.map +1 -0
  132. package/dist/deprecated/router.d.ts +194 -0
  133. package/dist/deprecated/router.d.ts.map +1 -0
  134. package/dist/{codes-7a3d4f65.mjs → envelopes-af8c2959.mjs} +30 -1
  135. package/dist/{codes-7f46544e.js → envelopes-b6dd0367.js} +29 -1
  136. package/dist/error/TRPCError.d.ts +11 -0
  137. package/dist/error/TRPCError.d.ts.map +1 -0
  138. package/dist/error/formatter.d.ts +33 -0
  139. package/dist/error/formatter.d.ts.map +1 -0
  140. package/dist/{internals/errors.d.ts → error/utils.d.ts} +3 -2
  141. package/dist/error/utils.d.ts.map +1 -0
  142. package/dist/http/index.d.ts +1 -1
  143. package/dist/http/index.d.ts.map +1 -1
  144. package/dist/http/internals/getHTTPStatusCode.d.ts +2 -1
  145. package/dist/http/internals/getHTTPStatusCode.d.ts.map +1 -1
  146. package/dist/http/internals/types.d.ts +11 -8
  147. package/dist/http/internals/types.d.ts.map +1 -1
  148. package/dist/http/resolveHTTPResponse.d.ts +4 -4
  149. package/dist/http/resolveHTTPResponse.d.ts.map +1 -1
  150. package/dist/http/{ResponseMeta.d.ts → types.d.ts} +1 -1
  151. package/dist/http/types.d.ts.map +1 -0
  152. package/dist/index-1a25ccbd.js +33 -0
  153. package/dist/index-a3bd54c7.mjs +31 -0
  154. package/dist/index.d.ts +4 -5
  155. package/dist/index.d.ts.map +1 -1
  156. package/dist/index.js +95 -496
  157. package/dist/index.mjs +88 -488
  158. package/dist/internals/transformTRPCResponse.d.ts +5 -3
  159. package/dist/internals/transformTRPCResponse.d.ts.map +1 -1
  160. package/dist/internals/types.d.ts +23 -0
  161. package/dist/internals/types.d.ts.map +1 -0
  162. package/dist/internals.d.ts +11 -0
  163. package/dist/internals.d.ts.map +1 -0
  164. package/dist/nodeHTTPRequestHandler-65cf2218.mjs +105 -0
  165. package/dist/nodeHTTPRequestHandler-6b7c8622.js +107 -0
  166. package/dist/observable/index.d.ts +5 -0
  167. package/dist/observable/index.d.ts.map +1 -0
  168. package/dist/observable/index.js +204 -0
  169. package/dist/observable/index.mjs +195 -0
  170. package/dist/observable/index.ts.js +1 -0
  171. package/dist/observable/internals/identity.d.ts +2 -0
  172. package/dist/observable/internals/identity.d.ts.map +1 -0
  173. package/dist/observable/internals/observableToPromise.d.ts +10 -0
  174. package/dist/observable/internals/observableToPromise.d.ts.map +1 -0
  175. package/dist/observable/internals/pipe.d.ts +4 -0
  176. package/dist/observable/internals/pipe.d.ts.map +1 -0
  177. package/dist/observable/observable.d.ts +5 -0
  178. package/dist/observable/observable.d.ts.map +1 -0
  179. package/dist/observable/operators/index.d.ts +4 -0
  180. package/dist/observable/operators/index.d.ts.map +1 -0
  181. package/dist/observable/operators/map.d.ts +3 -0
  182. package/dist/observable/operators/map.d.ts.map +1 -0
  183. package/dist/observable/operators/share.d.ts +6 -0
  184. package/dist/observable/operators/share.d.ts.map +1 -0
  185. package/dist/observable/operators/tap.d.ts +3 -0
  186. package/dist/observable/operators/tap.d.ts.map +1 -0
  187. package/dist/observable/types.d.ts +29 -0
  188. package/dist/observable/types.d.ts.map +1 -0
  189. package/dist/observable-341a0506.js +109 -0
  190. package/dist/observable-cfedfa30.mjs +106 -0
  191. package/dist/{nodeHTTPRequestHandler-10e6d2f9.mjs → resolveHTTPResponse-95634936.mjs} +32 -133
  192. package/dist/{nodeHTTPRequestHandler-d7c307d3.js → resolveHTTPResponse-fcc8f644.js} +37 -139
  193. package/dist/router-6665b0ee.mjs +1093 -0
  194. package/dist/router-9d12560f.js +1103 -0
  195. package/dist/rpc/codes.d.ts +2 -0
  196. package/dist/rpc/codes.d.ts.map +1 -1
  197. package/dist/rpc/envelopes.d.ts +62 -40
  198. package/dist/rpc/envelopes.d.ts.map +1 -1
  199. package/dist/rpc/index.js +7 -3
  200. package/dist/rpc/index.mjs +1 -1
  201. package/dist/rpc/internals/invert.d.ts +18 -0
  202. package/dist/rpc/internals/invert.d.ts.map +1 -0
  203. package/dist/shared/createProxy/index.d.ts +12 -0
  204. package/dist/shared/createProxy/index.d.ts.map +1 -0
  205. package/dist/shared/index.d.ts +2 -0
  206. package/dist/shared/index.d.ts.map +1 -0
  207. package/dist/shared/index.js +9 -0
  208. package/dist/shared/index.mjs +1 -0
  209. package/dist/shared/index.ts.js +1 -0
  210. package/dist/subscription.d.ts +3 -52
  211. package/dist/subscription.d.ts.map +1 -1
  212. package/dist/subscription.js +44 -0
  213. package/dist/subscription.mjs +40 -0
  214. package/dist/subscription.ts.js +1 -0
  215. package/dist/transformTRPCResponse-0c261655.js +29 -0
  216. package/dist/transformTRPCResponse-747b9a68.mjs +27 -0
  217. package/dist/transformer.d.ts +14 -0
  218. package/dist/transformer.d.ts.map +1 -1
  219. package/dist/types.d.ts +35 -8
  220. package/dist/types.d.ts.map +1 -1
  221. package/observable/index.d.ts +1 -0
  222. package/observable/index.js +1 -0
  223. package/package.json +57 -16
  224. package/rpc/dist/trpc-server-rpc.cjs.dev.js +1 -1
  225. package/rpc/dist/trpc-server-rpc.cjs.prod.js +1 -1
  226. package/rpc/dist/trpc-server-rpc.esm.js +1 -1
  227. package/shared/index.d.ts +1 -0
  228. package/shared/index.js +1 -0
  229. package/src/adapters/aws-lambda/index.ts +173 -0
  230. package/src/adapters/aws-lambda/utils.ts +92 -0
  231. package/src/adapters/express.ts +4 -4
  232. package/src/adapters/fastify/fastifyRequestHandler.ts +77 -0
  233. package/src/adapters/fastify/fastifyTRPCPlugin.ts +56 -0
  234. package/src/adapters/fastify/index.ts +2 -0
  235. package/src/adapters/fetch/fetchRequestHandler.ts +61 -0
  236. package/src/adapters/fetch/index.ts +2 -0
  237. package/src/adapters/fetch/types.ts +28 -0
  238. package/src/adapters/lambda/index.ts +18 -0
  239. package/src/adapters/next.ts +10 -8
  240. package/src/adapters/node-http/internals/getPostBody.test.ts +2 -1
  241. package/src/adapters/node-http/internals/getPostBody.ts +1 -1
  242. package/src/adapters/node-http/nodeHTTPRequestHandler.ts +7 -7
  243. package/src/adapters/node-http/types.ts +11 -9
  244. package/src/adapters/standalone.ts +12 -4
  245. package/src/adapters/ws.ts +135 -91
  246. package/src/assertNotBrowser.ts +1 -0
  247. package/src/core/index.ts +11 -0
  248. package/src/core/initTRPC.ts +95 -0
  249. package/src/core/internals/__generated__/mergeRoutersGeneric.ts +386 -0
  250. package/src/core/internals/config.ts +43 -0
  251. package/src/core/internals/getParseFn.ts +47 -0
  252. package/src/core/internals/mergeRouters.ts +45 -0
  253. package/src/core/internals/mergeWithoutOverrides.ts +19 -0
  254. package/src/core/internals/omitPrototype.ts +9 -0
  255. package/src/core/internals/prefixObjectKeys.ts +9 -0
  256. package/src/core/internals/procedureBuilder.ts +398 -0
  257. package/src/core/internals/utils.ts +64 -0
  258. package/src/core/middleware.ts +96 -0
  259. package/src/core/parser.ts +45 -0
  260. package/src/core/procedure.ts +120 -0
  261. package/src/core/router.ts +366 -0
  262. package/src/core/types.ts +58 -0
  263. package/src/{internals → deprecated/internals}/callProcedure.ts +9 -3
  264. package/src/{internals → deprecated/internals}/middlewares.ts +23 -3
  265. package/src/deprecated/internals/procedure.ts +415 -0
  266. package/src/deprecated/interop.ts +229 -0
  267. package/src/{router.ts → deprecated/router.ts} +219 -104
  268. package/src/{TRPCError.ts → error/TRPCError.ts} +6 -14
  269. package/src/error/formatter.ts +51 -0
  270. package/src/{internals/errors.ts → error/utils.ts} +21 -5
  271. package/src/http/index.ts +1 -1
  272. package/src/http/internals/getHTTPStatusCode.ts +3 -2
  273. package/src/http/internals/types.ts +11 -14
  274. package/src/http/resolveHTTPResponse.ts +29 -38
  275. package/src/http/{ResponseMeta.ts → types.ts} +0 -0
  276. package/src/index.ts +4 -7
  277. package/src/internals/transformTRPCResponse.ts +21 -16
  278. package/src/internals/types.ts +24 -0
  279. package/src/internals.ts +14 -0
  280. package/src/observable/index.ts +4 -0
  281. package/src/observable/internals/identity.ts +3 -0
  282. package/src/observable/internals/observableToPromise.ts +49 -0
  283. package/src/observable/internals/pipe.ts +23 -0
  284. package/src/observable/observable.test.ts +101 -0
  285. package/src/observable/observable.ts +78 -0
  286. package/src/observable/operators/index.ts +3 -0
  287. package/src/observable/operators/map.test.ts +92 -0
  288. package/src/observable/operators/map.ts +25 -0
  289. package/src/observable/operators/share.test.ts +60 -0
  290. package/src/observable/operators/share.ts +67 -0
  291. package/src/observable/operators/tap.ts +26 -0
  292. package/src/observable/types.ts +69 -0
  293. package/src/rpc/codes.ts +2 -1
  294. package/src/rpc/envelopes.ts +88 -69
  295. package/src/rpc/internals/invert.ts +27 -0
  296. package/src/shared/createProxy/index.ts +38 -0
  297. package/src/shared/index.ts +1 -0
  298. package/src/subscription.ts +7 -125
  299. package/src/transformer.ts +28 -0
  300. package/src/types.ts +40 -9
  301. package/dist/TRPCError.d.ts +0 -19
  302. package/dist/TRPCError.d.ts.map +0 -1
  303. package/dist/deprecated/LegacyRouter.d.ts +0 -3
  304. package/dist/deprecated/LegacyRouter.d.ts.map +0 -1
  305. package/dist/deprecated/createHttpServer.d.ts +0 -19
  306. package/dist/deprecated/createHttpServer.d.ts.map +0 -1
  307. package/dist/deprecated/requestHandler.d.ts +0 -15
  308. package/dist/deprecated/requestHandler.d.ts.map +0 -1
  309. package/dist/http/ResponseMeta.d.ts.map +0 -1
  310. package/dist/internals/BaseHandlerOptions.d.ts +0 -13
  311. package/dist/internals/BaseHandlerOptions.d.ts.map +0 -1
  312. package/dist/internals/OnErrorFunction.d.ts +0 -11
  313. package/dist/internals/OnErrorFunction.d.ts.map +0 -1
  314. package/dist/internals/callProcedure.d.ts.map +0 -1
  315. package/dist/internals/errors.d.ts.map +0 -1
  316. package/dist/internals/middlewares.d.ts.map +0 -1
  317. package/dist/internals/procedure.d.ts +0 -74
  318. package/dist/internals/procedure.d.ts.map +0 -1
  319. package/dist/internals/wrapCallSafe.d.ts +0 -16
  320. package/dist/internals/wrapCallSafe.d.ts.map +0 -1
  321. package/dist/router.d.ts +0 -176
  322. package/dist/router.d.ts.map +0 -1
  323. package/dist/subscription-5b7e1eba.js +0 -136
  324. package/dist/subscription-e1d42e69.mjs +0 -133
  325. package/dist/transformTRPCResponse-76e0c91e.mjs +0 -109
  326. package/dist/transformTRPCResponse-bd24f548.js +0 -114
  327. package/dist/ws/index.d.ts +0 -7
  328. package/dist/ws/index.d.ts.map +0 -1
  329. package/dist/ws/index.js +0 -15
  330. package/dist/ws/index.mjs +0 -11
  331. package/src/deprecated/LegacyRouter.ts +0 -3
  332. package/src/deprecated/createHttpServer.ts +0 -29
  333. package/src/deprecated/requestHandler.ts +0 -26
  334. package/src/internals/BaseHandlerOptions.ts +0 -13
  335. package/src/internals/OnErrorFunction.ts +0 -11
  336. package/src/internals/procedure.ts +0 -283
  337. package/src/internals/wrapCallSafe.ts +0 -19
  338. package/src/ws/index.ts +0 -8
  339. package/ws/dist/trpc-server-ws.cjs.d.ts +0 -1
  340. package/ws/dist/trpc-server-ws.cjs.dev.js +0 -15
  341. package/ws/dist/trpc-server-ws.cjs.js +0 -7
  342. package/ws/dist/trpc-server-ws.cjs.prod.js +0 -15
  343. package/ws/dist/trpc-server-ws.esm.js +0 -11
  344. package/ws/index.d.ts +0 -1
  345. package/ws/index.js +0 -1
@@ -0,0 +1,122 @@
1
+ import { MaybePromise } from '../../types';
2
+ import { MiddlewareFunction } from '../middleware';
3
+ import { Parser, inferParser } from '../parser';
4
+ import { MutationProcedure, ProcedureParams, QueryProcedure, SubscriptionProcedure } from '../procedure';
5
+ import { ProcedureType } from '../types';
6
+ import { RootConfig } from './config';
7
+ import { ParseFn } from './getParseFn';
8
+ import { ResolveOptions } from './utils';
9
+ import { DefaultValue as FallbackValue, Overwrite, UnsetMarker } from './utils';
10
+ declare type CreateProcedureReturnInput<TPrev extends ProcedureParams, TNext extends ProcedureParams> = ProcedureBuilder<{
11
+ _config: TPrev['_config'];
12
+ _meta: TPrev['_meta'];
13
+ _ctx_in: TPrev['_ctx_in'];
14
+ _ctx_out: Overwrite<TPrev['_ctx_out'], TNext['_ctx_out']>;
15
+ _input_in: FallbackValue<TNext['_input_in'], TPrev['_input_in']>;
16
+ _input_out: FallbackValue<TNext['_input_out'], TPrev['_input_out']>;
17
+ _output_in: FallbackValue<TNext['_output_in'], TPrev['_output_in']>;
18
+ _output_out: FallbackValue<TNext['_output_out'], TPrev['_output_out']>;
19
+ }>;
20
+ export interface ProcedureBuilder<TParams extends ProcedureParams> {
21
+ /**
22
+ * Add an input parser to the procedure.
23
+ */
24
+ input<$TParser extends Parser>(schema: $TParser): ProcedureBuilder<{
25
+ _config: TParams['_config'];
26
+ _meta: TParams['_meta'];
27
+ _ctx_in: TParams['_ctx_in'];
28
+ _ctx_out: TParams['_ctx_out'];
29
+ _input_in: inferParser<$TParser>['in'];
30
+ _input_out: inferParser<$TParser>['out'];
31
+ _output_in: TParams['_output_in'];
32
+ _output_out: TParams['_output_out'];
33
+ }>;
34
+ /**
35
+ * Add an output parser to the procedure.
36
+ */
37
+ output<$TParser extends Parser>(schema: $TParser): ProcedureBuilder<{
38
+ _config: TParams['_config'];
39
+ _meta: TParams['_meta'];
40
+ _ctx_in: TParams['_ctx_in'];
41
+ _ctx_out: TParams['_ctx_out'];
42
+ _input_in: TParams['_input_in'];
43
+ _input_out: TParams['_input_out'];
44
+ _output_in: inferParser<$TParser>['in'];
45
+ _output_out: inferParser<$TParser>['out'];
46
+ }>;
47
+ /**
48
+ * Add a meta data to the procedure.
49
+ */
50
+ meta(meta: TParams['_meta']): ProcedureBuilder<TParams>;
51
+ /**
52
+ * Add a middleware to the procedure.
53
+ */
54
+ use<$TParams extends ProcedureParams>(fn: MiddlewareFunction<TParams, $TParams>): CreateProcedureReturnInput<TParams, $TParams>;
55
+ /**
56
+ * Extend the procedure with another procedure.
57
+ * @warning The TypeScript inference fails when chaining concatenated procedures.
58
+ */
59
+ unstable_concat<$ProcedureReturnInput extends AnyProcedureBuilder>(proc: $ProcedureReturnInput): $ProcedureReturnInput extends ProcedureBuilder<infer $TParams> ? CreateProcedureReturnInput<TParams, $TParams> : never;
60
+ /**
61
+ * Query procedure
62
+ */
63
+ query<$TOutput>(resolver: (opts: ResolveOptions<TParams>) => MaybePromise<FallbackValue<TParams['_output_in'], $TOutput>>): UnsetMarker extends TParams['_output_out'] ? QueryProcedure<Overwrite<TParams, {
64
+ _output_in: $TOutput;
65
+ _output_out: $TOutput;
66
+ }>> : QueryProcedure<TParams>;
67
+ /**
68
+ * Mutation procedure
69
+ */
70
+ mutation<$TOutput>(resolver: (opts: ResolveOptions<TParams>) => MaybePromise<FallbackValue<TParams['_output_in'], $TOutput>>): UnsetMarker extends TParams['_output_out'] ? MutationProcedure<Overwrite<TParams, {
71
+ _output_in: $TOutput;
72
+ _output_out: $TOutput;
73
+ }>> : MutationProcedure<TParams>;
74
+ /**
75
+ * Mutation procedure
76
+ */
77
+ subscription<$TOutput>(resolver: (opts: ResolveOptions<TParams>) => MaybePromise<FallbackValue<TParams['_output_in'], $TOutput>>): UnsetMarker extends TParams['_output_out'] ? SubscriptionProcedure<Overwrite<TParams, {
78
+ _output_in: $TOutput;
79
+ _output_out: $TOutput;
80
+ }>> : SubscriptionProcedure<TParams>;
81
+ /**
82
+ * @internal
83
+ */
84
+ _def: {
85
+ input?: Parser;
86
+ output?: Parser;
87
+ meta?: Record<string, unknown>;
88
+ resolver?: ProcedureBuilderResolver;
89
+ middlewares: ProcedureBuilderMiddleware[];
90
+ mutation?: boolean;
91
+ query?: boolean;
92
+ subscription?: boolean;
93
+ };
94
+ }
95
+ declare type AnyProcedureBuilder = ProcedureBuilder<any>;
96
+ export declare type ProcedureBuilderDef = AnyProcedureBuilder['_def'];
97
+ export declare type ProcedureBuilderMiddleware = MiddlewareFunction<any, any>;
98
+ export declare type ProcedureBuilderResolver = (opts: ResolveOptions<any>) => Promise<unknown>;
99
+ export declare function createBuilder<TConfig extends RootConfig>(initDef?: ProcedureBuilderDef): ProcedureBuilder<{
100
+ _config: TConfig;
101
+ _ctx_in: TConfig['ctx'];
102
+ _ctx_out: TConfig['ctx'];
103
+ _input_in: UnsetMarker;
104
+ _input_out: UnsetMarker;
105
+ _output_in: UnsetMarker;
106
+ _output_out: UnsetMarker;
107
+ _meta: TConfig['meta'];
108
+ }>;
109
+ export declare function createInputMiddleware<T>(parse: ParseFn<T>): ProcedureBuilderMiddleware;
110
+ export declare function createOutputMiddleware<T>(parse: ParseFn<T>): ProcedureBuilderMiddleware;
111
+ /**
112
+ * @internal
113
+ */
114
+ export interface ProcedureCallOptions {
115
+ ctx: unknown;
116
+ rawInput: unknown;
117
+ input?: unknown;
118
+ path: string;
119
+ type: ProcedureType;
120
+ }
121
+ export {};
122
+ //# sourceMappingURL=procedureBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"procedureBuilder.d.ts","sourceRoot":"","sources":["../../../src/core/internals/procedureBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import { ProcedureParams } from '../procedure';
2
+ /**
3
+ * @internal
4
+ */
5
+ export declare type Overwrite<T, U> = Omit<T, keyof U> & U;
6
+ /**
7
+ * @internal
8
+ */
9
+ export declare type DefaultValue<TValue, TFallback> = UnsetMarker extends TValue ? TFallback : TValue;
10
+ /**
11
+ * @internal
12
+ */
13
+ export declare const middlewareMarker: "middlewareMarker" & {
14
+ __brand: 'middlewareMarker';
15
+ };
16
+ /**
17
+ * @internal
18
+ */
19
+ export declare type MiddlewareMarker = typeof middlewareMarker;
20
+ /**
21
+ * @internal
22
+ */
23
+ export declare const unsetMarker: unique symbol;
24
+ /**
25
+ * @internal
26
+ */
27
+ export declare type UnsetMarker = typeof unsetMarker;
28
+ /**
29
+ * @internal
30
+ */
31
+ export interface ResolveOptions<TParams extends ProcedureParams> {
32
+ ctx: TParams['_ctx_out'];
33
+ input: TParams['_input_out'];
34
+ }
35
+ /**
36
+ * @internal
37
+ */
38
+ export declare type ValidateShape<TActualShape, TExpectedShape> = TActualShape extends TExpectedShape ? Exclude<keyof TActualShape, keyof TExpectedShape> extends never ? TActualShape : TExpectedShape : never;
39
+ /**
40
+ * @internal
41
+ */
42
+ export declare type PickFirstDefined<T, K> = undefined extends T ? undefined extends K ? never : K : T;
43
+ export declare type EnsureRecord<T> = T extends Record<string, any> ? T : Record<string, never>;
44
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/core/internals/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C;;GAEG;AACH,oBAAY,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;AACnD;;GAEG;AACH,oBAAY,YAAY,CAAC,MAAM,EAAE,SAAS,IAAI,WAAW,SAAS,MAAM,GACpE,SAAS,GACT,MAAM,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,gBAAgB;aAClB,kBAAkB;CAC5B,CAAC;AAEF;;GAEG;AACH,oBAAY,gBAAgB,GAAG,OAAO,gBAAgB,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,WAAW,eAAwB,CAAC;AACjD;;GAEG;AACH,oBAAY,WAAW,GAAG,OAAO,WAAW,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,OAAO,SAAS,eAAe;IAC7D,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACzB,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,oBAAY,aAAa,CAAC,YAAY,EAAE,cAAc,IACpD,YAAY,SAAS,cAAc,GAC/B,OAAO,CAAC,MAAM,YAAY,EAAE,MAAM,cAAc,CAAC,SAAS,KAAK,GAC7D,YAAY,GACZ,cAAc,GAChB,KAAK,CAAC;AAEZ;;GAEG;AACH,oBAAY,gBAAgB,CAAC,CAAC,EAAE,CAAC,IAAI,SAAS,SAAS,CAAC,GACpD,SAAS,SAAS,CAAC,GACjB,KAAK,GACL,CAAC,GACH,CAAC,CAAC;AAEN,oBAAY,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACvD,CAAC,GACD,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC"}
@@ -0,0 +1,87 @@
1
+ import { RootConfig } from './internals/config';
2
+ import { MiddlewareMarker } from './internals/utils';
3
+ import { ProcedureParams } from './procedure';
4
+ import { ProcedureType } from './types';
5
+ /**
6
+ * @internal
7
+ */
8
+ interface MiddlewareResultBase {
9
+ /**
10
+ * All middlewares should pass through their `next()`'s output.
11
+ * Requiring this marker makes sure that can't be forgotten at compile-time.
12
+ */
13
+ readonly marker: MiddlewareMarker;
14
+ }
15
+ /**
16
+ * @internal
17
+ */
18
+ interface MiddlewareOKResult<_TParams extends ProcedureParams> extends MiddlewareResultBase {
19
+ ok: true;
20
+ data: unknown;
21
+ }
22
+ /**
23
+ * @internal
24
+ */
25
+ interface MiddlewareErrorResult<_TParams extends ProcedureParams> extends MiddlewareResultBase {
26
+ ok: false;
27
+ error: Error;
28
+ }
29
+ /**
30
+ * @internal
31
+ */
32
+ export declare type MiddlewareResult<TParams extends ProcedureParams> = MiddlewareOKResult<TParams> | MiddlewareErrorResult<TParams>;
33
+ /**
34
+ * @internal
35
+ */
36
+ export declare type MiddlewareFunction<TParams extends ProcedureParams, TParamsAfter extends ProcedureParams> = (opts: {
37
+ ctx: TParams['_ctx_out'];
38
+ type: ProcedureType;
39
+ path: string;
40
+ input: TParams['_input_out'];
41
+ rawInput: unknown;
42
+ meta: TParams['_meta'];
43
+ next: {
44
+ (): Promise<MiddlewareResult<TParams>>;
45
+ <$TContext>(opts: {
46
+ ctx: $TContext;
47
+ }): Promise<MiddlewareResult<{
48
+ _config: any;
49
+ _ctx_in: TParams['_ctx_in'];
50
+ _ctx_out: $TContext;
51
+ _input_in: TParams['_input_in'];
52
+ _input_out: TParams['_input_out'];
53
+ _output_in: TParams['_output_in'];
54
+ _output_out: TParams['_output_out'];
55
+ _meta: TParams['_meta'];
56
+ }>>;
57
+ };
58
+ }) => Promise<MiddlewareResult<TParamsAfter>>;
59
+ /**
60
+ * @internal
61
+ */
62
+ export declare function createMiddlewareFactory<TConfig extends RootConfig>(): <$TNewParams extends ProcedureParams<{
63
+ transformer: import("..").CombinedDataTransformer;
64
+ errorShape: import("..").DefaultErrorShape;
65
+ ctx: Record<string, unknown>;
66
+ meta: Record<string, unknown>;
67
+ }, unknown, unknown, unknown, unknown, unknown, unknown, unknown>>(fn: MiddlewareFunction<{
68
+ _config: TConfig;
69
+ _ctx_in: TConfig['ctx'];
70
+ _ctx_out: TConfig['ctx'];
71
+ _input_out: unknown;
72
+ _input_in: unknown;
73
+ _output_in: unknown;
74
+ _output_out: unknown;
75
+ _meta: TConfig['meta'];
76
+ }, $TNewParams>) => MiddlewareFunction<{
77
+ _config: TConfig;
78
+ _ctx_in: TConfig['ctx'];
79
+ _ctx_out: TConfig['ctx'];
80
+ _input_out: unknown;
81
+ _input_in: unknown;
82
+ _output_in: unknown;
83
+ _output_out: unknown;
84
+ _meta: TConfig['meta'];
85
+ }, $TNewParams>;
86
+ export {};
87
+ //# sourceMappingURL=middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/core/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC;;GAEG;AACH,UAAU,oBAAoB;IAC5B;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;CACnC;AAED;;GAEG;AACH,UAAU,kBAAkB,CAAC,QAAQ,SAAS,eAAe,CAC3D,SAAQ,oBAAoB;IAC5B,EAAE,EAAE,IAAI,CAAC;IACT,IAAI,EAAE,OAAO,CAAC;CAEf;AAED;;GAEG;AACH,UAAU,qBAAqB,CAAC,QAAQ,SAAS,eAAe,CAC9D,SAAQ,oBAAoB;IAC5B,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,KAAK,CAAC;CAEd;AAED;;GAEG;AACH,oBAAY,gBAAgB,CAAC,OAAO,SAAS,eAAe,IACxD,kBAAkB,CAAC,OAAO,CAAC,GAC3B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAEnC;;GAEG;AACH,oBAAY,kBAAkB,CAC5B,OAAO,SAAS,eAAe,EAC/B,YAAY,SAAS,eAAe,IAClC,CAAC,IAAI,EAAE;IACT,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACzB,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACvB,IAAI,EAAE;QACJ,IAAI,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;QACvC,CAAC,SAAS,EAAE,IAAI,EAAE;YAAE,GAAG,EAAE,SAAS,CAAA;SAAE,GAAG,OAAO,CAC5C,gBAAgB,CAAC;YACf,OAAO,EAAE,GAAG,CAAC;YACb,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YAC5B,QAAQ,EAAE,SAAS,CAAC;YACpB,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YAChC,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;YAClC,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;YAClC,WAAW,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;YACpC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;SACzB,CAAC,CACH,CAAC;KACH,CAAC;CACH,KAAK,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC;AAE9C;;GAEG;AAEH,wBAAgB,uBAAuB,CAAC,OAAO,SAAS,UAAU;;;;;;aAIjD,OAAO;aACP,OAAO,CAAC,KAAK,CAAC;cACb,OAAO,CAAC,KAAK,CAAC;gBACZ,OAAO;eACR,OAAO;gBACN,OAAO;iBACN,OAAO;WACb,OAAO,CAAC,MAAM,CAAC;;aAPb,OAAO;aACP,OAAO,CAAC,KAAK,CAAC;cACb,OAAO,CAAC,KAAK,CAAC;gBACZ,OAAO;eACR,OAAO;gBACN,OAAO;iBACN,OAAO;WACb,OAAO,CAAC,MAAM,CAAC;gBAO7B"}
@@ -0,0 +1,25 @@
1
+ export declare type ParserZodEsque<TInput, TParsedInput> = {
2
+ _input: TInput;
3
+ _output: TParsedInput;
4
+ };
5
+ export declare type ParserMyZodEsque<TInput> = {
6
+ parse: (input: any) => TInput;
7
+ };
8
+ export declare type ParserSuperstructEsque<TInput> = {
9
+ create: (input: unknown) => TInput;
10
+ };
11
+ export declare type ParserCustomValidatorEsque<TInput> = (input: unknown) => TInput | Promise<TInput>;
12
+ export declare type ParserYupEsque<TInput> = {
13
+ validateSync: (input: unknown) => TInput;
14
+ };
15
+ export declare type ParserWithoutInput<TInput> = ParserYupEsque<TInput> | ParserSuperstructEsque<TInput> | ParserCustomValidatorEsque<TInput> | ParserMyZodEsque<TInput>;
16
+ export declare type ParserWithInputOutput<TInput, TParsedInput> = ParserZodEsque<TInput, TParsedInput>;
17
+ export declare type Parser = ParserWithoutInput<any> | ParserWithInputOutput<any, any>;
18
+ export declare type inferParser<TParser extends Parser> = TParser extends ParserWithInputOutput<infer $TIn, infer $TOut> ? {
19
+ in: $TIn;
20
+ out: $TOut;
21
+ } : TParser extends ParserWithoutInput<infer $InOut> ? {
22
+ in: $InOut;
23
+ out: $InOut;
24
+ } : never;
25
+ //# sourceMappingURL=parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/core/parser.ts"],"names":[],"mappings":"AAAA,oBAAY,cAAc,CAAC,MAAM,EAAE,YAAY,IAAI;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,YAAY,CAAC;CACvB,CAAC;AAEF,oBAAY,gBAAgB,CAAC,MAAM,IAAI;IACrC,KAAK,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,CAAC;CAC/B,CAAC;AAEF,oBAAY,sBAAsB,CAAC,MAAM,IAAI;IAC3C,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;CACpC,CAAC;AAEF,oBAAY,0BAA0B,CAAC,MAAM,IAAI,CAC/C,KAAK,EAAE,OAAO,KACX,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAE9B,oBAAY,cAAc,CAAC,MAAM,IAAI;IACnC,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;CAC1C,CAAC;AACF,oBAAY,kBAAkB,CAAC,MAAM,IACjC,cAAc,CAAC,MAAM,CAAC,GACtB,sBAAsB,CAAC,MAAM,CAAC,GAC9B,0BAA0B,CAAC,MAAM,CAAC,GAClC,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAE7B,oBAAY,qBAAqB,CAAC,MAAM,EAAE,YAAY,IAAI,cAAc,CACtE,MAAM,EACN,YAAY,CACb,CAAC;AAEF,oBAAY,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAE/E,oBAAY,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"}
@@ -0,0 +1,88 @@
1
+ import { DefaultErrorShape } from '../error/formatter';
2
+ import { CombinedDataTransformer } from '../transformer';
3
+ import { RootConfig } from './internals/config';
4
+ import { ProcedureBuilderDef, ProcedureCallOptions } from './internals/procedureBuilder';
5
+ import { UnsetMarker } from './internals/utils';
6
+ declare type ClientContext = Record<string, unknown>;
7
+ /**
8
+ * @internal
9
+ */
10
+ export interface ProcedureOptions {
11
+ /**
12
+ * Client-side context
13
+ */
14
+ context?: ClientContext;
15
+ }
16
+ /**
17
+ * FIXME: this should only take 1 generic argument instead of a list
18
+ * @internal
19
+ */
20
+ export interface ProcedureParams<TConfig extends RootConfig = {
21
+ transformer: CombinedDataTransformer;
22
+ errorShape: DefaultErrorShape;
23
+ ctx: Record<string, unknown>;
24
+ meta: Record<string, unknown>;
25
+ }, TContextIn = unknown, TContextOut = unknown, TInputIn = unknown, TInputOut = unknown, TOutputIn = unknown, TOutputOut = unknown, TMeta = unknown> {
26
+ _config: TConfig;
27
+ /**
28
+ * @internal
29
+ */
30
+ _meta: TMeta;
31
+ /**
32
+ * @internal
33
+ */
34
+ _ctx_in: TContextIn;
35
+ /**
36
+ * @internal
37
+ */
38
+ _ctx_out: TContextOut;
39
+ /**
40
+ * @internal
41
+ */
42
+ _input_in: TInputIn;
43
+ /**
44
+ * @internal
45
+ */
46
+ _input_out: TInputOut;
47
+ /**
48
+ * @internal
49
+ */
50
+ _output_in: TOutputIn;
51
+ /**
52
+ * @internal
53
+ */
54
+ _output_out: TOutputOut;
55
+ }
56
+ /**
57
+ * @internal
58
+ */
59
+ export declare type ProcedureArgs<TParams extends ProcedureParams> = TParams['_input_in'] extends UnsetMarker ? [input?: undefined | void, opts?: ProcedureOptions] : undefined extends TParams['_input_in'] ? [input?: TParams['_input_in'] | void, opts?: ProcedureOptions] : [input: TParams['_input_in'], opts?: ProcedureOptions];
60
+ /**
61
+ *
62
+ * @internal
63
+ */
64
+ export interface ProcedureBase<TParams extends ProcedureParams> {
65
+ _def: TParams & ProcedureBuilderDef;
66
+ /**
67
+ * @deprecated use `._def.meta` instead
68
+ */
69
+ meta?: TParams['_meta'];
70
+ _procedure: true;
71
+ /**
72
+ * @internal
73
+ */
74
+ (opts: ProcedureCallOptions): Promise<unknown>;
75
+ }
76
+ export interface QueryProcedure<TParams extends ProcedureParams> extends ProcedureBase<TParams> {
77
+ _query: true;
78
+ }
79
+ export interface MutationProcedure<TParams extends ProcedureParams> extends ProcedureBase<TParams> {
80
+ _mutation: true;
81
+ }
82
+ export interface SubscriptionProcedure<TParams extends ProcedureParams> extends ProcedureBase<TParams> {
83
+ _subscription: true;
84
+ }
85
+ export declare type Procedure<TParams extends ProcedureParams> = QueryProcedure<TParams> | MutationProcedure<TParams> | SubscriptionProcedure<TParams>;
86
+ export declare type AnyProcedure = Procedure<any>;
87
+ export {};
88
+ //# sourceMappingURL=procedure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"procedure.d.ts","sourceRoot":"","sources":["../../src/core/procedure.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,128 @@
1
+ import { inferProcedureOutput } from '.';
2
+ import { Filter, Prefixer } from '..';
3
+ import { TRPCError } from '../error/TRPCError';
4
+ import { ErrorFormatter } from '../error/formatter';
5
+ import { TRPCErrorShape } from '../rpc';
6
+ import { CombinedDataTransformer } from '../transformer';
7
+ import { RootConfig } from './internals/config';
8
+ import { ProcedureCallOptions } from './internals/procedureBuilder';
9
+ import { MutationProcedure, Procedure, ProcedureArgs, QueryProcedure, SubscriptionProcedure } from './procedure';
10
+ import { ProcedureType } from './types';
11
+ declare type ProcedureRecord = Record<string, Procedure<any>>;
12
+ export declare type ProcedureRouterRecord = Record<string, Procedure<any> | AnyRouter>;
13
+ export interface ProcedureStructure {
14
+ queries: Record<string, QueryProcedure<any>>;
15
+ mutations: Record<string, MutationProcedure<any>>;
16
+ subscriptions: Record<string, SubscriptionProcedure<any>>;
17
+ procedures: ProcedureRecord;
18
+ }
19
+ declare type ObjKeyof<T> = T extends object ? keyof T : never;
20
+ declare type KeyofKeyof<T> = ObjKeyof<T> | {
21
+ [K in keyof T]: ObjKeyof<T[K]>;
22
+ }[keyof T];
23
+ declare type StripNever<T> = Pick<T, {
24
+ [K in keyof T]: [T[K]] extends [never] ? never : K;
25
+ }[keyof T]>;
26
+ declare type Lookup<T, K> = T extends any ? (K extends keyof T ? T[K] : never) : never;
27
+ declare type SimpleFlatten<T> = T extends object ? StripNever<{
28
+ [K in KeyofKeyof<T>]: Exclude<K extends keyof T ? T[K] : never, object> | {
29
+ [P in keyof T]: Lookup<T[P], K>;
30
+ }[keyof T];
31
+ }> : T;
32
+ declare type PrefixedProcedures<T extends ProcedureRouterRecord> = {
33
+ [K in keyof T]: T[K] extends AnyRouter ? T[K] extends Procedure<any> ? never : Prefixer<T[K]['_def']['procedures'], `${K & string}.`> : never;
34
+ };
35
+ export interface RouterDef<TContext, TErrorShape extends TRPCErrorShape<number>, TMeta extends Record<string, unknown>, TRecord extends ProcedureRouterRecord> {
36
+ router: true;
37
+ /**
38
+ * @internal
39
+ */
40
+ _ctx: TContext;
41
+ /**
42
+ * @internal
43
+ */
44
+ _errorShape: TErrorShape;
45
+ /**
46
+ * @internal
47
+ */
48
+ _meta: TMeta;
49
+ errorFormatter: ErrorFormatter<TContext, TErrorShape>;
50
+ transformer: CombinedDataTransformer;
51
+ procedures: Filter<TRecord, Procedure<any>> & SimpleFlatten<PrefixedProcedures<TRecord>>;
52
+ routers: Filter<TRecord, Router<any>>;
53
+ record: TRecord;
54
+ subscriptions: Filter<TRecord, SubscriptionProcedure<any>> & Filter<SimpleFlatten<PrefixedProcedures<TRecord>>, SubscriptionProcedure<any>>;
55
+ queries: Filter<TRecord, QueryProcedure<any>> & Filter<SimpleFlatten<PrefixedProcedures<TRecord>>, QueryProcedure<any>>;
56
+ mutations: Filter<TRecord, MutationProcedure<any>> & Filter<SimpleFlatten<PrefixedProcedures<TRecord>>, MutationProcedure<any>>;
57
+ }
58
+ export declare type AnyRouterDef<TContext = any> = RouterDef<TContext, any, any, any>;
59
+ /**
60
+ * @internal
61
+ */
62
+ export declare type inferHandlerInput<TProcedure extends Procedure<any>> = TProcedure extends Procedure<infer TDef> ? undefined extends TDef['_input_in'] ? unknown extends TDef['_input_in'] ? [(null | undefined)?] : [(TDef['_input_in'] | null | undefined)?] : [TDef['_input_in']] : [(undefined | null)?];
63
+ /**
64
+ * @internal
65
+ */
66
+ declare type inferHandlerFn<TProcedures extends Record<string, Procedure<any>>> = <TProcedure extends TProcedures[TPath], TPath extends keyof TProcedures & string>(path: TPath, ...args: inferHandlerInput<TProcedure>) => Promise<inferProcedureOutput<TProcedure>>;
67
+ declare type DecorateProcedure<TProcedure extends Procedure<any>> = (input: ProcedureArgs<TProcedure['_def']>[0]) => Promise<TProcedure['_def']['_output_out']>;
68
+ declare type assertProcedure<T> = T extends Procedure<any> ? T : never;
69
+ /**
70
+ * @internal
71
+ */
72
+ declare type DecoratedProcedureRecord<TProcedures extends ProcedureRouterRecord> = {
73
+ [TKey in keyof TProcedures]: TProcedures[TKey] extends AnyRouter ? DecoratedProcedureRecord<TProcedures[TKey]['_def']['record']> : DecorateProcedure<assertProcedure<TProcedures[TKey]>>;
74
+ };
75
+ /**
76
+ * @internal
77
+ */
78
+ declare type RouterCaller<TDef extends AnyRouterDef> = (ctx: TDef['_ctx']) => {
79
+ /**
80
+ * @deprecated
81
+ */
82
+ query: inferHandlerFn<TDef['queries']>;
83
+ /**
84
+ * @deprecated
85
+ */
86
+ mutation: inferHandlerFn<TDef['mutations']>;
87
+ /**
88
+ * @deprecated
89
+ */
90
+ subscription: inferHandlerFn<TDef['subscriptions']>;
91
+ } & DecoratedProcedureRecord<TDef['record']>;
92
+ export interface Router<TDef extends AnyRouterDef> {
93
+ _def: RouterDef<TDef['_ctx'], TDef['_errorShape'], TDef['_meta'], TDef['record']>;
94
+ /** @deprecated **/
95
+ errorFormatter: TDef['errorFormatter'];
96
+ /** @deprecated **/
97
+ transformer: TDef['transformer'];
98
+ createCaller: RouterCaller<TDef>;
99
+ getErrorShape(opts: {
100
+ error: TRPCError;
101
+ type: ProcedureType | 'unknown';
102
+ path: string | undefined;
103
+ input: unknown;
104
+ ctx: undefined | TDef['_ctx'];
105
+ }): TDef['_errorShape'];
106
+ }
107
+ /**
108
+ * @internal
109
+ */
110
+ export declare type RouterDefaultOptions<TContext> = Pick<AnyRouterDef<TContext>, 'transformer' | 'errorFormatter'>;
111
+ /**
112
+ * @internal
113
+ */
114
+ export declare type RouterBuildOptions<TContext> = Partial<Pick<AnyRouterDef<TContext>, 'procedures'>>;
115
+ export declare type AnyRouter = Router<any>;
116
+ /**
117
+ *
118
+ * @internal
119
+ */
120
+ export declare function createRouterFactory<TConfig extends RootConfig>(defaults?: RouterDefaultOptions<TConfig['ctx']>): <TProcRouterRecord extends ProcedureRouterRecord>(opts: TProcRouterRecord) => Router<RouterDef<TConfig["ctx"], TConfig["errorShape"], TConfig["meta"], TProcRouterRecord>> & TProcRouterRecord;
121
+ /**
122
+ * @internal
123
+ */
124
+ export declare function callProcedure(opts: ProcedureCallOptions & {
125
+ procedures: ProcedureRouterRecord;
126
+ }): Promise<unknown>;
127
+ export {};
128
+ //# sourceMappingURL=router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/core/router.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { inferObservableValue } from '../observable';
2
+ import { Procedure, ProcedureArgs } from './procedure';
3
+ import { AnyRouter, AnyRouterDef, Router } from './router';
4
+ export declare type inferRouterDef<TRouter extends AnyRouter> = TRouter extends Router<infer TParams> ? TParams extends AnyRouterDef<any> ? TParams : never : never;
5
+ export declare type inferRouterContext<TRouter extends AnyRouter> = inferRouterDef<TRouter>['_ctx'];
6
+ export declare type inferRouterError<TRouter extends AnyRouter> = inferRouterDef<TRouter>['_errorShape'];
7
+ export declare type inferRouterMeta<TRouter extends AnyRouter> = inferRouterDef<TRouter>['_meta'];
8
+ export declare const procedureTypes: readonly ["query", "mutation", "subscription"];
9
+ /**
10
+ * @public
11
+ */
12
+ export declare type ProcedureType = typeof procedureTypes[number];
13
+ export declare type inferHandlerInput<TProcedure extends Procedure<any>> = ProcedureArgs<inferProcedureParams<TProcedure>>;
14
+ export declare type inferProcedureInput<TProcedure extends Procedure<any>> = inferHandlerInput<TProcedure>[0];
15
+ export declare type inferProcedureParams<TProcedure> = TProcedure extends Procedure<any> ? TProcedure['_def'] : never;
16
+ export declare type inferProcedureOutput<TProcedure> = inferProcedureParams<TProcedure>['_output_out'];
17
+ export declare type inferSubscriptionOutput<TRouter extends AnyRouter, TPath extends keyof TRouter['_def']['subscriptions'] & string> = inferObservableValue<inferProcedureOutput<TRouter['_def']['subscriptions'][TPath]>>;
18
+ export declare type inferProcedureClientError<T extends Procedure<any>> = inferProcedureParams<T>['_config']['errorShape'];
19
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAE3D,oBAAY,cAAc,CAAC,OAAO,SAAS,SAAS,IAAI,OAAO,SAAS,MAAM,CAC5E,MAAM,OAAO,CACd,GACG,OAAO,SAAS,YAAY,CAAC,GAAG,CAAC,GAC/B,OAAO,GACP,KAAK,GACP,KAAK,CAAC;AAEV,oBAAY,kBAAkB,CAAC,OAAO,SAAS,SAAS,IACtD,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAClC,oBAAY,gBAAgB,CAAC,OAAO,SAAS,SAAS,IACpD,cAAc,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC;AACzC,oBAAY,eAAe,CAAC,OAAO,SAAS,SAAS,IACnD,cAAc,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;AAEnC,eAAO,MAAM,cAAc,gDAAiD,CAAC;AAC7E;;GAEG;AACH,oBAAY,aAAa,GAAG,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;AAE1D,oBAAY,iBAAiB,CAAC,UAAU,SAAS,SAAS,CAAC,GAAG,CAAC,IAC7D,aAAa,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC;AAElD,oBAAY,mBAAmB,CAAC,UAAU,SAAS,SAAS,CAAC,GAAG,CAAC,IAC/D,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAcnC,oBAAY,oBAAoB,CAAC,UAAU,IAAI,UAAU,SAAS,SAAS,CAAC,GAAG,CAAC,GAC5E,UAAU,CAAC,MAAM,CAAC,GAClB,KAAK,CAAC;AACV,oBAAY,oBAAoB,CAAC,UAAU,IACzC,oBAAoB,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC,CAAC;AAElD,oBAAY,uBAAuB,CACjC,OAAO,SAAS,SAAS,EACzB,KAAK,SAAS,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,GAAG,MAAM,IAC3D,oBAAoB,CACtB,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,CAC9D,CAAC;AAEF,oBAAY,yBAAyB,CAAC,CAAC,SAAS,SAAS,CAAC,GAAG,CAAC,IAC5D,oBAAoB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC"}
@@ -1,10 +1,13 @@
1
+ import { Observable } from '../../observable';
1
2
  import { AnyRouter, ProcedureType } from '../router';
2
- import { Subscription } from '../subscription';
3
+ /**
4
+ * @deprecated
5
+ */
3
6
  export declare function callProcedure<TRouter extends AnyRouter<TContext>, TContext>(opts: {
4
7
  path: string;
5
8
  input: unknown;
6
9
  router: TRouter;
7
10
  ctx: TContext;
8
11
  type: ProcedureType;
9
- }): Promise<unknown | Subscription<TRouter>>;
12
+ }): Promise<unknown | Observable<TRouter, any>>;
10
13
  //# sourceMappingURL=callProcedure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"callProcedure.d.ts","sourceRoot":"","sources":["../../../src/deprecated/internals/callProcedure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAErD;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,SAAS,SAAS,CAAC,QAAQ,CAAC,EACnC,QAAQ,EACR,IAAI,EAAE;IACN,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,QAAQ,CAAC;IACd,IAAI,EAAE,aAAa,CAAC;CACrB,GAAG,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAmB9C"}
@@ -1,6 +1,11 @@
1
+ import { TRPCError } from '../../error/TRPCError';
1
2
  import { ProcedureType } from '../router';
2
- import { TRPCError } from '../TRPCError';
3
- export declare const middlewareMarker: unique symbol;
3
+ /**
4
+ * @deprecated
5
+ */
6
+ export declare const middlewareMarker: "middlewareMarker" & {
7
+ __brand: 'middlewareMarker';
8
+ };
4
9
  interface MiddlewareResultBase<TContext> {
5
10
  /**
6
11
  * All middlewares should pass through their `next()`'s output.
@@ -9,20 +14,33 @@ interface MiddlewareResultBase<TContext> {
9
14
  readonly marker: typeof middlewareMarker;
10
15
  ctx: TContext;
11
16
  }
17
+ /**
18
+ * @deprecated
19
+ */
12
20
  interface MiddlewareOKResult<TContext> extends MiddlewareResultBase<TContext> {
13
21
  ok: true;
14
22
  data: unknown;
15
23
  }
24
+ /**
25
+ * @deprecated
26
+ */
16
27
  interface MiddlewareErrorResult<TContext> extends MiddlewareResultBase<TContext> {
17
28
  ok: false;
18
29
  error: TRPCError;
19
30
  }
31
+ /**
32
+ * @deprecated
33
+ */
20
34
  export declare type MiddlewareResult<TContext> = MiddlewareOKResult<TContext> | MiddlewareErrorResult<TContext>;
21
- export declare type MiddlewareFunction<TInputContext, TContext> = (opts: {
35
+ /**
36
+ * @deprecated
37
+ */
38
+ export declare type MiddlewareFunction<TInputContext, TContext, TMeta> = (opts: {
22
39
  ctx: TInputContext;
23
40
  type: ProcedureType;
24
41
  path: string;
25
42
  rawInput: unknown;
43
+ meta?: TMeta;
26
44
  next: {
27
45
  (): Promise<MiddlewareResult<TInputContext>>;
28
46
  <T>(opts: {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../../../src/deprecated/internals/middlewares.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C;;GAEG;AACH,eAAO,MAAM,gBAAgB;aAClB,kBAAkB;CAC5B,CAAC;AAEF,UAAU,oBAAoB,CAAC,QAAQ;IACrC;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,gBAAgB,CAAC;IACzC,GAAG,EAAE,QAAQ,CAAC;CACf;AAED;;GAEG;AACH,UAAU,kBAAkB,CAAC,QAAQ,CAAE,SAAQ,oBAAoB,CAAC,QAAQ,CAAC;IAC3E,EAAE,EAAE,IAAI,CAAC;IACT,IAAI,EAAE,OAAO,CAAC;CAEf;AAED;;GAEG;AACH,UAAU,qBAAqB,CAAC,QAAQ,CACtC,SAAQ,oBAAoB,CAAC,QAAQ,CAAC;IACtC,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,SAAS,CAAC;CAElB;AAED;;GAEG;AACH,oBAAY,gBAAgB,CAAC,QAAQ,IACjC,kBAAkB,CAAC,QAAQ,CAAC,GAC5B,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AAEpC;;GAEG;AACH,oBAAY,kBAAkB,CAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE;IACtE,GAAG,EAAE,aAAa,CAAC;IACnB,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,IAAI,EAAE;QACJ,IAAI,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC,EAAE,IAAI,EAAE;YAAE,GAAG,EAAE,CAAC,CAAA;SAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;KACrD,CAAC;CACH,KAAK,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC"}