@trpc/server 10.0.0-alpha.8 → 10.0.0-proxy-alpha.53

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 (355) 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 -7
  10. package/adapters/express/dist/trpc-server-adapters-express.cjs.prod.js +7 -7
  11. package/adapters/express/dist/trpc-server-adapters-express.esm.js +7 -7
  12. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.dev.js +18 -11
  13. package/adapters/fastify/dist/trpc-server-adapters-fastify.cjs.prod.js +18 -11
  14. package/adapters/fastify/dist/trpc-server-adapters-fastify.esm.js +18 -11
  15. package/adapters/fastify/index.d.ts +1 -0
  16. package/adapters/fastify/index.js +1 -0
  17. package/adapters/fetch/index.d.ts +1 -0
  18. package/adapters/fetch/index.js +1 -0
  19. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.d.ts +1 -0
  20. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.dev.js +25 -0
  21. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.js +7 -0
  22. package/adapters/lambda/dist/trpc-server-adapters-lambda.cjs.prod.js +25 -0
  23. package/adapters/lambda/dist/trpc-server-adapters-lambda.esm.js +21 -0
  24. package/adapters/next/dist/trpc-server-adapters-next.cjs.dev.js +4 -4
  25. package/adapters/next/dist/trpc-server-adapters-next.cjs.prod.js +4 -4
  26. package/adapters/next/dist/trpc-server-adapters-next.esm.js +4 -4
  27. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.dev.js +4 -4
  28. package/adapters/node-http/dist/trpc-server-adapters-node-http.cjs.prod.js +4 -4
  29. package/adapters/node-http/dist/trpc-server-adapters-node-http.esm.js +4 -4
  30. package/adapters/node-http/index.js +1 -1
  31. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.dev.js +5 -5
  32. package/adapters/standalone/dist/trpc-server-adapters-standalone.cjs.prod.js +5 -5
  33. package/adapters/standalone/dist/trpc-server-adapters-standalone.esm.js +5 -5
  34. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.dev.js +24 -7
  35. package/adapters/ws/dist/trpc-server-adapters-ws.cjs.prod.js +24 -7
  36. package/adapters/ws/dist/trpc-server-adapters-ws.esm.js +24 -7
  37. package/dist/TRPCError-bcb38a84.js +61 -0
  38. package/dist/TRPCError-e6e632a5.mjs +57 -0
  39. package/dist/adapters/aws-lambda/index.d.ts +14 -0
  40. package/dist/adapters/aws-lambda/index.d.ts.map +1 -0
  41. package/dist/adapters/aws-lambda/index.js +153 -0
  42. package/dist/adapters/aws-lambda/index.mjs +149 -0
  43. package/dist/adapters/aws-lambda/utils.d.ts +35 -0
  44. package/dist/adapters/aws-lambda/utils.d.ts.map +1 -0
  45. package/dist/adapters/express.d.ts +1 -1
  46. package/dist/adapters/express.d.ts.map +1 -1
  47. package/dist/adapters/express.js +14 -13
  48. package/dist/adapters/express.mjs +14 -13
  49. package/dist/adapters/fastify/fastifyRequestHandler.d.ts +2 -2
  50. package/dist/adapters/fastify/fastifyRequestHandler.d.ts.map +1 -1
  51. package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts +2 -2
  52. package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts.map +1 -1
  53. package/dist/adapters/fastify/index.d.ts.map +1 -1
  54. package/dist/adapters/fastify/index.js +87 -0
  55. package/dist/adapters/fastify/index.mjs +82 -0
  56. package/dist/adapters/fetch/fetchRequestHandler.d.ts +8 -0
  57. package/dist/adapters/fetch/fetchRequestHandler.d.ts.map +1 -0
  58. package/dist/adapters/fetch/index.d.ts +3 -0
  59. package/dist/adapters/fetch/index.d.ts.map +1 -0
  60. package/dist/adapters/fetch/index.js +57 -0
  61. package/dist/adapters/fetch/index.mjs +53 -0
  62. package/dist/adapters/fetch/types.d.ts +21 -0
  63. package/dist/adapters/fetch/types.d.ts.map +1 -0
  64. package/dist/adapters/lambda/index.d.ts +12 -0
  65. package/dist/adapters/lambda/index.d.ts.map +1 -0
  66. package/dist/adapters/next.d.ts +2 -2
  67. package/dist/adapters/next.d.ts.map +1 -1
  68. package/dist/adapters/next.js +42 -46
  69. package/dist/adapters/next.mjs +42 -46
  70. package/dist/adapters/node-http/index.d.ts.map +1 -1
  71. package/dist/adapters/node-http/index.js +5 -4
  72. package/dist/adapters/node-http/index.mjs +5 -4
  73. package/dist/adapters/node-http/internals/getPostBody.d.ts +1 -1
  74. package/dist/adapters/node-http/internals/getPostBody.d.ts.map +1 -1
  75. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts +2 -2
  76. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +1 -1
  77. package/dist/adapters/node-http/types.d.ts +11 -9
  78. package/dist/adapters/node-http/types.d.ts.map +1 -1
  79. package/dist/adapters/standalone.d.ts +2 -2
  80. package/dist/adapters/standalone.d.ts.map +1 -1
  81. package/dist/adapters/standalone.js +30 -28
  82. package/dist/adapters/standalone.mjs +30 -27
  83. package/dist/adapters/ws.d.ts +8 -6
  84. package/dist/adapters/ws.d.ts.map +1 -1
  85. package/dist/adapters/ws.js +284 -317
  86. package/dist/adapters/ws.mjs +284 -317
  87. package/dist/assertNotBrowser.d.ts.map +1 -1
  88. package/dist/codes-1c24d919.js +47 -0
  89. package/dist/codes-aaa7d554.mjs +44 -0
  90. package/dist/core/index.d.ts +6 -0
  91. package/dist/core/index.d.ts.map +1 -0
  92. package/dist/core/initTRPC.d.ts +95 -0
  93. package/dist/core/initTRPC.d.ts.map +1 -0
  94. package/dist/core/internals/__generated__/mergeRoutersGeneric.d.ts +302 -0
  95. package/dist/core/internals/__generated__/mergeRoutersGeneric.d.ts.map +1 -0
  96. package/dist/core/internals/config.d.ts +36 -0
  97. package/dist/core/internals/config.d.ts.map +1 -0
  98. package/dist/core/internals/getParseFn.d.ts +9 -0
  99. package/dist/core/internals/getParseFn.d.ts.map +1 -0
  100. package/dist/core/internals/mergeRouters.d.ts +3 -0
  101. package/dist/core/internals/mergeRouters.d.ts.map +1 -0
  102. package/dist/core/internals/mergeWithoutOverrides.d.ts +5 -0
  103. package/dist/core/internals/mergeWithoutOverrides.d.ts.map +1 -0
  104. package/dist/core/internals/omitPrototype.d.ts +6 -0
  105. package/dist/core/internals/omitPrototype.d.ts.map +1 -0
  106. package/dist/core/internals/prefixObjectKeys.d.ts +2 -0
  107. package/dist/core/internals/prefixObjectKeys.d.ts.map +1 -0
  108. package/dist/core/internals/procedureBuilder.d.ts +124 -0
  109. package/dist/core/internals/procedureBuilder.d.ts.map +1 -0
  110. package/dist/core/internals/utils.d.ts +44 -0
  111. package/dist/core/internals/utils.d.ts.map +1 -0
  112. package/dist/core/middleware.d.ts +87 -0
  113. package/dist/core/middleware.d.ts.map +1 -0
  114. package/dist/core/parser.d.ts +25 -0
  115. package/dist/core/parser.d.ts.map +1 -0
  116. package/dist/core/procedure.d.ts +89 -0
  117. package/dist/core/procedure.d.ts.map +1 -0
  118. package/dist/core/router.d.ts +136 -0
  119. package/dist/core/router.d.ts.map +1 -0
  120. package/dist/core/types.d.ts +19 -0
  121. package/dist/core/types.d.ts.map +1 -0
  122. package/dist/{internals → deprecated/internals}/callProcedure.d.ts +5 -2
  123. package/dist/deprecated/internals/callProcedure.d.ts.map +1 -0
  124. package/dist/{internals → deprecated/internals}/middlewares.d.ts +21 -3
  125. package/dist/deprecated/internals/middlewares.d.ts.map +1 -0
  126. package/dist/deprecated/internals/procedure.d.ts +96 -0
  127. package/dist/deprecated/internals/procedure.d.ts.map +1 -0
  128. package/dist/deprecated/interop.d.ts +61 -0
  129. package/dist/deprecated/interop.d.ts.map +1 -0
  130. package/dist/deprecated/router.d.ts +194 -0
  131. package/dist/deprecated/router.d.ts.map +1 -0
  132. package/dist/error/TRPCError.d.ts +11 -0
  133. package/dist/error/TRPCError.d.ts.map +1 -0
  134. package/dist/error/formatter.d.ts +33 -0
  135. package/dist/error/formatter.d.ts.map +1 -0
  136. package/dist/{internals/errors.d.ts → error/utils.d.ts} +3 -2
  137. package/dist/error/utils.d.ts.map +1 -0
  138. package/dist/http/index.d.ts +1 -1
  139. package/dist/http/index.d.ts.map +1 -1
  140. package/dist/http/internals/getHTTPStatusCode.d.ts +2 -1
  141. package/dist/http/internals/getHTTPStatusCode.d.ts.map +1 -1
  142. package/dist/http/internals/types.d.ts +11 -8
  143. package/dist/http/internals/types.d.ts.map +1 -1
  144. package/dist/http/resolveHTTPResponse.d.ts +4 -4
  145. package/dist/http/resolveHTTPResponse.d.ts.map +1 -1
  146. package/dist/http/{ResponseMeta.d.ts → types.d.ts} +1 -1
  147. package/dist/http/types.d.ts.map +1 -0
  148. package/dist/index-47817162.mjs +26 -0
  149. package/dist/index-9d687d33.js +28 -0
  150. package/dist/index.d.ts +4 -5
  151. package/dist/index.d.ts.map +1 -1
  152. package/dist/index.js +78 -516
  153. package/dist/index.mjs +71 -508
  154. package/dist/internals/invert.d.ts.map +1 -1
  155. package/dist/internals/transformTRPCResponse.d.ts +5 -3
  156. package/dist/internals/transformTRPCResponse.d.ts.map +1 -1
  157. package/dist/internals/types.d.ts +23 -0
  158. package/dist/internals/types.d.ts.map +1 -0
  159. package/dist/internals.d.ts +11 -0
  160. package/dist/internals.d.ts.map +1 -0
  161. package/dist/nodeHTTPRequestHandler-2c467c02.mjs +80 -0
  162. package/dist/nodeHTTPRequestHandler-6609461a.js +82 -0
  163. package/dist/observable/index.d.ts +5 -0
  164. package/dist/observable/index.d.ts.map +1 -0
  165. package/dist/observable/index.js +157 -0
  166. package/dist/observable/index.mjs +148 -0
  167. package/dist/observable/internals/identity.d.ts +2 -0
  168. package/dist/observable/internals/identity.d.ts.map +1 -0
  169. package/dist/observable/internals/observableToPromise.d.ts +10 -0
  170. package/dist/observable/internals/observableToPromise.d.ts.map +1 -0
  171. package/dist/observable/internals/pipe.d.ts +4 -0
  172. package/dist/observable/internals/pipe.d.ts.map +1 -0
  173. package/dist/observable/observable.d.ts +5 -0
  174. package/dist/observable/observable.d.ts.map +1 -0
  175. package/dist/observable/operators/index.d.ts +4 -0
  176. package/dist/observable/operators/index.d.ts.map +1 -0
  177. package/dist/observable/operators/map.d.ts +3 -0
  178. package/dist/observable/operators/map.d.ts.map +1 -0
  179. package/dist/observable/operators/share.d.ts +6 -0
  180. package/dist/observable/operators/share.d.ts.map +1 -0
  181. package/dist/observable/operators/tap.d.ts +3 -0
  182. package/dist/observable/operators/tap.d.ts.map +1 -0
  183. package/dist/observable/types.d.ts +29 -0
  184. package/dist/observable/types.d.ts.map +1 -0
  185. package/dist/observable-b651bf11.js +84 -0
  186. package/dist/observable-e129ac9d.mjs +81 -0
  187. package/dist/resolveHTTPResponse-11d52bd0.mjs +255 -0
  188. package/dist/resolveHTTPResponse-29d4b64a.js +259 -0
  189. package/dist/router-3ee4babe.js +903 -0
  190. package/dist/router-a2a75de3.mjs +893 -0
  191. package/dist/rpc/codes.d.ts +2 -0
  192. package/dist/rpc/codes.d.ts.map +1 -1
  193. package/dist/rpc/envelopes.d.ts +64 -41
  194. package/dist/rpc/envelopes.d.ts.map +1 -1
  195. package/dist/rpc/index.d.ts.map +1 -1
  196. package/dist/rpc/index.js +1 -1
  197. package/dist/rpc/index.mjs +1 -1
  198. package/dist/rpc/internals/invert.d.ts +18 -0
  199. package/dist/rpc/internals/invert.d.ts.map +1 -0
  200. package/dist/shared/createProxy/index.d.ts +12 -0
  201. package/dist/shared/createProxy/index.d.ts.map +1 -0
  202. package/dist/shared/index.d.ts +2 -0
  203. package/dist/shared/index.d.ts.map +1 -0
  204. package/dist/shared/index.js +9 -0
  205. package/dist/shared/index.mjs +1 -0
  206. package/dist/subscription.d.ts +3 -52
  207. package/dist/subscription.d.ts.map +1 -1
  208. package/dist/subscription.js +34 -0
  209. package/dist/subscription.mjs +30 -0
  210. package/dist/transformTRPCResponse-11ac69cc.js +27 -0
  211. package/dist/transformTRPCResponse-c8138d5f.mjs +25 -0
  212. package/dist/transformer.d.ts +14 -0
  213. package/dist/transformer.d.ts.map +1 -1
  214. package/dist/types.d.ts +37 -10
  215. package/dist/types.d.ts.map +1 -1
  216. package/observable/index.d.ts +1 -0
  217. package/observable/index.js +1 -0
  218. package/package.json +53 -25
  219. package/rpc/dist/trpc-server-rpc.cjs.dev.js +1 -1
  220. package/rpc/dist/trpc-server-rpc.cjs.prod.js +1 -1
  221. package/rpc/dist/trpc-server-rpc.esm.js +1 -1
  222. package/rpc/index.js +1 -1
  223. package/shared/index.d.ts +1 -0
  224. package/shared/index.js +1 -0
  225. package/src/adapters/aws-lambda/index.ts +173 -0
  226. package/src/adapters/aws-lambda/utils.ts +92 -0
  227. package/src/adapters/express.ts +4 -4
  228. package/src/adapters/fastify/fastifyRequestHandler.ts +6 -8
  229. package/src/adapters/fastify/fastifyTRPCPlugin.ts +17 -9
  230. package/src/adapters/fetch/fetchRequestHandler.ts +61 -0
  231. package/src/adapters/fetch/index.ts +2 -0
  232. package/src/adapters/fetch/types.ts +28 -0
  233. package/src/adapters/lambda/index.ts +18 -0
  234. package/src/adapters/next.ts +10 -8
  235. package/src/adapters/node-http/internals/getPostBody.test.ts +2 -1
  236. package/src/adapters/node-http/internals/getPostBody.ts +1 -1
  237. package/src/adapters/node-http/nodeHTTPRequestHandler.ts +7 -7
  238. package/src/adapters/node-http/types.ts +11 -9
  239. package/src/adapters/standalone.ts +12 -4
  240. package/src/adapters/ws.ts +150 -91
  241. package/src/assertNotBrowser.ts +1 -0
  242. package/src/core/index.ts +15 -0
  243. package/src/core/initTRPC.ts +94 -0
  244. package/src/core/internals/__generated__/mergeRoutersGeneric.ts +406 -0
  245. package/src/core/internals/config.ts +43 -0
  246. package/src/core/internals/getParseFn.ts +47 -0
  247. package/src/core/internals/mergeRouters.ts +45 -0
  248. package/src/core/internals/mergeWithoutOverrides.ts +19 -0
  249. package/src/core/internals/omitPrototype.ts +9 -0
  250. package/src/core/internals/prefixObjectKeys.ts +9 -0
  251. package/src/core/internals/procedureBuilder.ts +430 -0
  252. package/src/core/internals/utils.ts +64 -0
  253. package/src/core/middleware.ts +96 -0
  254. package/src/core/parser.ts +45 -0
  255. package/src/core/procedure.ts +121 -0
  256. package/src/core/router.ts +351 -0
  257. package/src/core/types.ts +58 -0
  258. package/src/{internals → deprecated/internals}/callProcedure.ts +9 -3
  259. package/src/{internals → deprecated/internals}/middlewares.ts +23 -3
  260. package/src/deprecated/internals/procedure.ts +415 -0
  261. package/src/deprecated/interop.ts +272 -0
  262. package/src/{router.ts → deprecated/router.ts} +221 -108
  263. package/src/{TRPCError.ts → error/TRPCError.ts} +6 -14
  264. package/src/error/formatter.ts +51 -0
  265. package/src/{internals/errors.ts → error/utils.ts} +24 -5
  266. package/src/http/index.ts +1 -1
  267. package/src/http/internals/getHTTPStatusCode.ts +3 -2
  268. package/src/http/internals/types.ts +11 -14
  269. package/src/http/resolveHTTPResponse.ts +34 -39
  270. package/src/http/{ResponseMeta.ts → types.ts} +0 -0
  271. package/src/index.ts +4 -7
  272. package/src/internals/transformTRPCResponse.ts +21 -16
  273. package/src/internals/types.ts +24 -0
  274. package/src/internals.ts +14 -0
  275. package/src/observable/index.ts +4 -0
  276. package/src/observable/internals/identity.ts +3 -0
  277. package/src/observable/internals/observableToPromise.ts +49 -0
  278. package/src/observable/internals/pipe.ts +23 -0
  279. package/src/observable/observable.test.ts +101 -0
  280. package/src/observable/observable.ts +78 -0
  281. package/src/observable/operators/index.ts +3 -0
  282. package/src/observable/operators/map.test.ts +92 -0
  283. package/src/observable/operators/map.ts +25 -0
  284. package/src/observable/operators/share.test.ts +60 -0
  285. package/src/observable/operators/share.ts +67 -0
  286. package/src/observable/operators/tap.ts +26 -0
  287. package/src/observable/types.ts +69 -0
  288. package/src/rpc/codes.ts +2 -1
  289. package/src/rpc/envelopes.ts +94 -68
  290. package/src/rpc/internals/invert.ts +27 -0
  291. package/src/shared/createProxy/index.ts +38 -0
  292. package/src/shared/index.ts +1 -0
  293. package/src/subscription.ts +7 -125
  294. package/src/transformer.ts +28 -0
  295. package/src/types.ts +45 -15
  296. package/subscription/index.d.ts +1 -0
  297. package/subscription/index.js +1 -0
  298. package/adapters/fastify/package.json +0 -4
  299. package/dist/TRPCError.d.ts +0 -19
  300. package/dist/TRPCError.d.ts.map +0 -1
  301. package/dist/adapters/express.ts.js +0 -1
  302. package/dist/adapters/next.ts.js +0 -1
  303. package/dist/adapters/node-http/index.ts.js +0 -1
  304. package/dist/adapters/standalone.ts.js +0 -1
  305. package/dist/adapters/ws.ts.js +0 -1
  306. package/dist/codes-7a3d4f65.mjs +0 -56
  307. package/dist/codes-7f46544e.js +0 -60
  308. package/dist/deprecated/LegacyRouter.d.ts +0 -3
  309. package/dist/deprecated/LegacyRouter.d.ts.map +0 -1
  310. package/dist/deprecated/createHttpServer.d.ts +0 -19
  311. package/dist/deprecated/createHttpServer.d.ts.map +0 -1
  312. package/dist/deprecated/requestHandler.d.ts +0 -15
  313. package/dist/deprecated/requestHandler.d.ts.map +0 -1
  314. package/dist/http/ResponseMeta.d.ts.map +0 -1
  315. package/dist/index.ts.js +0 -1
  316. package/dist/internals/BaseHandlerOptions.d.ts +0 -13
  317. package/dist/internals/BaseHandlerOptions.d.ts.map +0 -1
  318. package/dist/internals/OnErrorFunction.d.ts +0 -11
  319. package/dist/internals/OnErrorFunction.d.ts.map +0 -1
  320. package/dist/internals/callProcedure.d.ts.map +0 -1
  321. package/dist/internals/errors.d.ts.map +0 -1
  322. package/dist/internals/middlewares.d.ts.map +0 -1
  323. package/dist/internals/procedure.d.ts +0 -74
  324. package/dist/internals/procedure.d.ts.map +0 -1
  325. package/dist/internals/wrapCallSafe.d.ts +0 -16
  326. package/dist/internals/wrapCallSafe.d.ts.map +0 -1
  327. package/dist/nodeHTTPRequestHandler-10e6d2f9.mjs +0 -394
  328. package/dist/nodeHTTPRequestHandler-d7c307d3.js +0 -399
  329. package/dist/router.d.ts +0 -176
  330. package/dist/router.d.ts.map +0 -1
  331. package/dist/rpc/index.ts.js +0 -1
  332. package/dist/subscription-5b7e1eba.js +0 -136
  333. package/dist/subscription-e1d42e69.mjs +0 -133
  334. package/dist/transformTRPCResponse-76e0c91e.mjs +0 -109
  335. package/dist/transformTRPCResponse-bd24f548.js +0 -114
  336. package/dist/ws/index.d.ts +0 -7
  337. package/dist/ws/index.d.ts.map +0 -1
  338. package/dist/ws/index.js +0 -15
  339. package/dist/ws/index.mjs +0 -11
  340. package/dist/ws/index.ts.js +0 -1
  341. package/src/deprecated/LegacyRouter.ts +0 -3
  342. package/src/deprecated/createHttpServer.ts +0 -29
  343. package/src/deprecated/requestHandler.ts +0 -26
  344. package/src/internals/BaseHandlerOptions.ts +0 -13
  345. package/src/internals/OnErrorFunction.ts +0 -11
  346. package/src/internals/procedure.ts +0 -283
  347. package/src/internals/wrapCallSafe.ts +0 -19
  348. package/src/ws/index.ts +0 -8
  349. package/ws/dist/trpc-server-ws.cjs.d.ts +0 -1
  350. package/ws/dist/trpc-server-ws.cjs.dev.js +0 -15
  351. package/ws/dist/trpc-server-ws.cjs.js +0 -7
  352. package/ws/dist/trpc-server-ws.cjs.prod.js +0 -15
  353. package/ws/dist/trpc-server-ws.esm.js +0 -11
  354. package/ws/index.d.ts +0 -1
  355. package/ws/index.js +0 -1
@@ -0,0 +1,38 @@
1
+ interface ProxyCallbackOptions {
2
+ path: string[];
3
+ args: unknown[];
4
+ }
5
+ type ProxyCallback = (opts: ProxyCallbackOptions) => unknown;
6
+
7
+ function createProxyInner(callback: ProxyCallback, ...path: string[]) {
8
+ const proxy: unknown = new Proxy(
9
+ () => {
10
+ // noop
11
+ },
12
+ {
13
+ get(_obj, name) {
14
+ if (typeof name === 'string') {
15
+ return createProxyInner(callback, ...path, name);
16
+ }
17
+
18
+ throw new Error('Not supported');
19
+ },
20
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
21
+ apply(_1, _2, args) {
22
+ return callback({
23
+ args,
24
+ path,
25
+ });
26
+ },
27
+ },
28
+ );
29
+
30
+ return proxy;
31
+ }
32
+
33
+ /**
34
+ * Creates a proxy that calls the callback with the path and arguments
35
+ * @internal
36
+ */
37
+ export const createProxy = (callback: ProxyCallback) =>
38
+ createProxyInner(callback);
@@ -0,0 +1 @@
1
+ export * from './createProxy';
@@ -1,135 +1,17 @@
1
- import { EventEmitter } from 'events';
2
- import { getErrorFromUnknown } from './internals/errors';
1
+ import { getErrorFromUnknown } from './error/utils';
2
+ import { Observable, Observer, observable } from './observable';
3
3
 
4
- interface SubscriptionEvents<TOutput> {
5
- data: (data: TOutput) => void;
6
- destroy: () => void;
7
- error: (error: Error) => void;
8
- }
9
- declare interface SubscriptionEventEmitter<TOutput> {
10
- on<U extends keyof SubscriptionEvents<TOutput>>(
11
- event: U,
12
- listener: SubscriptionEvents<TOutput>[U],
13
- ): this;
14
-
15
- once<U extends keyof SubscriptionEvents<TOutput>>(
16
- event: U,
17
- listener: SubscriptionEvents<TOutput>[U],
18
- ): this;
19
-
20
- emit<U extends keyof SubscriptionEvents<TOutput>>(
21
- event: U,
22
- ...args: Parameters<SubscriptionEvents<TOutput>[U]>
23
- ): boolean;
24
- }
25
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
26
- class SubscriptionEventEmitter<TOutput> extends EventEmitter {}
27
-
28
- type UnsubscribeFn = () => void;
29
- type EmitFn<TOutput> = (data: TOutput) => void;
30
-
31
- export type SubscriptionEmit<TOutput> = {
32
- data: EmitFn<TOutput>;
33
- error: EmitFn<Error>;
34
- };
35
- export type SubscriptionCallback<TOutput> = (
36
- emit: SubscriptionEmit<TOutput>,
37
- ) => UnsubscribeFn | Promise<UnsubscribeFn>;
38
-
39
- /**
40
- * @beta
41
- */
42
- export class Subscription<TOutput = unknown> {
43
- private readonly events: SubscriptionEventEmitter<TOutput>;
44
- private callback;
45
- private isDestroyed: boolean;
46
-
47
- constructor(callback: SubscriptionCallback<TOutput>) {
48
- this.isDestroyed = false;
49
- this.events = new SubscriptionEventEmitter<TOutput>();
50
- this.callback = callback;
51
- }
52
-
53
- public destroy() {
54
- if (this.isDestroyed) {
55
- return;
56
- }
57
- // debug('Subscription.destroy()', reason);
58
- this.isDestroyed = true;
59
- this.events.emit('destroy');
60
- this.events.removeAllListeners();
61
- }
62
-
63
- public async start() {
64
- /* istanbul ignore next */
65
- if (this.isDestroyed) {
66
- throw new Error('Called start() on a destroyed subscription');
67
- }
68
- try {
69
- const emit: SubscriptionEmit<TOutput> = {
70
- error: (err) => this.emitError(err),
71
- data: (data) => this.emitOutput(data),
72
- };
73
- const cancel = await this.callback(emit);
74
- if (
75
- this.isDestroyed
76
- /* istanbul ignore next */
77
- ) {
78
- cancel();
79
- } else {
80
- this.events.on('destroy', cancel);
81
- }
82
- } catch (
83
- cause
84
- /* istanbul ignore next */
85
- ) {
86
- this.emitError(getErrorFromUnknown(cause));
87
- }
88
- }
89
-
90
- /* istanbul ignore next */
91
- /**
92
- * @deprecated This method is just here to help with `inferSubscriptionOutput` which I can't get working without it
93
- */
94
- public output(): TOutput {
95
- throw new Error('Not in use');
96
- }
97
-
98
- /**
99
- * Emit data
100
- */
101
- emitOutput(data: TOutput) {
102
- this.events.emit('data', data);
103
- }
104
- /**
105
- * Emit error
106
- */
107
- emitError(err: Error) {
108
- this.events.emit('error', err);
109
- }
110
-
111
- on(...args: Parameters<SubscriptionEventEmitter<TOutput>['on']>) {
112
- return this.events.on(...args);
113
- }
114
- off(...args: Parameters<SubscriptionEventEmitter<TOutput>['off']>) {
115
- return this.events.off(...args);
116
- }
117
- }
118
-
119
- /**
120
- * @alpha Might be removed
121
- */
122
4
  export function subscriptionPullFactory<TOutput>(opts: {
123
5
  /**
124
6
  * The interval of how often the function should run
125
7
  */
126
8
  intervalMs: number;
127
- pull(emit: SubscriptionEmit<TOutput>): void | Promise<void>;
128
- }): Subscription<TOutput> {
9
+ pull(emit: Observer<TOutput, unknown>): void | Promise<void>;
10
+ }): Observable<TOutput, unknown> {
129
11
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
130
12
  let timer: any;
131
13
  let stopped = false;
132
- async function _pull(emit: SubscriptionEmit<TOutput>) {
14
+ async function _pull(emit: Observer<TOutput, unknown>) {
133
15
  /* istanbul ignore next */
134
16
  if (stopped) {
135
17
  return;
@@ -146,8 +28,8 @@ export function subscriptionPullFactory<TOutput>(opts: {
146
28
  }
147
29
  }
148
30
 
149
- return new Subscription<TOutput>((emit) => {
150
- _pull(emit);
31
+ return observable<TOutput>((emit) => {
32
+ _pull(emit).catch((err) => emit.error(getErrorFromUnknown(err)));
151
33
  return () => {
152
34
  clearTimeout(timer);
153
35
  stopped = true;
@@ -35,3 +35,31 @@ export type DataTransformerOptions = DataTransformer | CombinedDataTransformer;
35
35
  export type ClientDataTransformerOptions =
36
36
  | DataTransformer
37
37
  | CombinedDataTransformerClient;
38
+
39
+ /**
40
+ * @internal
41
+ */
42
+ export function getDataTransformer(
43
+ transformer: DataTransformerOptions,
44
+ ): CombinedDataTransformer {
45
+ if ('input' in transformer) {
46
+ return transformer;
47
+ }
48
+ return { input: transformer, output: transformer };
49
+ }
50
+
51
+ /**
52
+ * @internal
53
+ */
54
+ export type DefaultDataTransformer = CombinedDataTransformer & {
55
+ _default: true;
56
+ };
57
+
58
+ /**
59
+ * @internal
60
+ */
61
+ export const defaultTransformer: DefaultDataTransformer = {
62
+ _default: true,
63
+ input: { serialize: (obj) => obj, deserialize: (obj) => obj },
64
+ output: { serialize: (obj) => obj, deserialize: (obj) => obj },
65
+ };
package/src/types.ts CHANGED
@@ -1,4 +1,3 @@
1
- /* eslint-disable @typescript-eslint/ban-types */
2
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
3
2
 
4
3
  /**
@@ -8,26 +7,17 @@ export type Prefix<K extends string, T extends string> = `${K}${T}`;
8
7
 
9
8
  /**
10
9
  * @internal
11
- * @deprecated will be removed in next major
12
10
  */
13
11
  export type identity<T> = T;
14
12
 
15
13
  /**
16
14
  * @internal
17
- * @deprecated will be removed in next major
18
15
  */
19
- export type format<T> = {
20
- [k in keyof T]: T[k];
21
- };
22
-
23
- /**
24
- * @internal
25
- */
26
- export type flatten<T, Q> = identity<{
27
- [k in keyof T | keyof Q]: k extends keyof T
28
- ? T[k]
29
- : k extends keyof Q
30
- ? Q[k]
16
+ export type FlatOverwrite<T, K> = identity<{
17
+ [TKey in keyof K | keyof T]: TKey extends keyof K
18
+ ? K[TKey]
19
+ : TKey extends keyof T
20
+ ? T[TKey]
31
21
  : never;
32
22
  }>;
33
23
 
@@ -55,3 +45,43 @@ export type ThenArg<T> = T extends PromiseLike<infer U> ? ThenArg<U> : T;
55
45
  * @public
56
46
  */
57
47
  export type Dict<T> = Record<string, T | undefined>;
48
+
49
+ /**
50
+ * @public
51
+ */
52
+ export type MaybePromise<T> = T | Promise<T>;
53
+
54
+ /**
55
+ * @internal
56
+ *
57
+ * Creates a "lower-priority" type inference.
58
+ * https://github.com/microsoft/TypeScript/issues/14829#issuecomment-322267089
59
+ */
60
+ export type InferLast<T> = T & { [K in keyof T]: T[K] };
61
+
62
+ /**
63
+ * @public
64
+ */
65
+ export type inferAsyncReturnType<TFunction extends (...args: any) => any> =
66
+ ThenArg<ReturnType<TFunction>>;
67
+
68
+ type FilterKeys<T extends object, K> = {
69
+ [TKey in keyof T]: T[TKey] extends K ? TKey : never;
70
+ }[keyof T];
71
+
72
+ /**
73
+ * @internal
74
+ */
75
+ export type Filter<T extends object, K> = Pick<T, FilterKeys<T, K>>;
76
+
77
+ /**
78
+ * @internal
79
+ */
80
+ export type NeverKeys<T> = {
81
+ [TKey in keyof T]: T[TKey] extends never ? TKey : never;
82
+ }[keyof T];
83
+
84
+ /**
85
+ * @internal
86
+ */
87
+ export type OmitNeverKeys<T> = Omit<T, NeverKeys<T>>;
@@ -0,0 +1 @@
1
+ export * from '../dist/subscription';
@@ -0,0 +1 @@
1
+ module.exports = require('../dist/subscription');
@@ -1,4 +0,0 @@
1
- {
2
- "main": "dist/trpc-server-adapters-fastify.cjs.js",
3
- "module": "dist/trpc-server-adapters-fastify.esm.js"
4
- }
@@ -1,19 +0,0 @@
1
- import { TRPC_ERROR_CODE_KEY } from './rpc/codes';
2
- export declare class TRPCError extends Error {
3
- /**
4
- * @deprecated use `cause`
5
- */
6
- readonly originalError?: unknown;
7
- readonly cause?: unknown;
8
- readonly code: "PARSE_ERROR" | "BAD_REQUEST" | "INTERNAL_SERVER_ERROR" | "UNAUTHORIZED" | "FORBIDDEN" | "NOT_FOUND" | "METHOD_NOT_SUPPORTED" | "TIMEOUT" | "PRECONDITION_FAILED" | "PAYLOAD_TOO_LARGE" | "CLIENT_CLOSED_REQUEST";
9
- constructor(opts: {
10
- message?: string;
11
- code: TRPC_ERROR_CODE_KEY;
12
- /**
13
- * @deprecated use `cause`
14
- */
15
- originalError?: unknown;
16
- cause?: unknown;
17
- });
18
- }
19
- //# sourceMappingURL=TRPCError.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TRPCError.d.ts","sourceRoot":"","sources":["../src/TRPCError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGlD,qBAAa,SAAU,SAAQ,KAAK;IAClC;;OAEG;IACH,SAAgB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxC,SAAgB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChC,SAAgB,IAAI,oNAAC;gBAET,IAAI,EAAE;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,mBAAmB,CAAC;QAC1B;;WAEG;QACH,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB;CAeF"}
@@ -1 +0,0 @@
1
-
@@ -1 +0,0 @@
1
-
@@ -1 +0,0 @@
1
-
@@ -1 +0,0 @@
1
-
@@ -1 +0,0 @@
1
-
@@ -1,56 +0,0 @@
1
- function invert(obj) {
2
- const newObj = Object.create(null);
3
-
4
- for (const key in obj) {
5
- const v = obj[key];
6
- newObj[v] = key;
7
- }
8
-
9
- return newObj;
10
- }
11
-
12
- /**
13
- * JSON-RPC 2.0 Error codes
14
- *
15
- * `-32000` to `-32099` are reserved for implementation-defined server-errors.
16
- * For tRPC we're copying the last digits of HTTP 4XX errors.
17
- */
18
-
19
- const TRPC_ERROR_CODES_BY_KEY = {
20
- /**
21
- * Invalid JSON was received by the server.
22
- * An error occurred on the server while parsing the JSON text.
23
- */
24
- PARSE_ERROR: -32700,
25
-
26
- /**
27
- * The JSON sent is not a valid Request object.
28
- */
29
- BAD_REQUEST: -32600,
30
- // 400
31
-
32
- /**
33
- * Internal JSON-RPC error.
34
- */
35
- INTERNAL_SERVER_ERROR: -32603,
36
- // Implementation specific errors
37
- UNAUTHORIZED: -32001,
38
- // 401
39
- FORBIDDEN: -32003,
40
- // 403
41
- NOT_FOUND: -32004,
42
- // 404
43
- METHOD_NOT_SUPPORTED: -32005,
44
- // 405
45
- TIMEOUT: -32008,
46
- // 408
47
- PRECONDITION_FAILED: -32012,
48
- // 412
49
- PAYLOAD_TOO_LARGE: -32013,
50
- // 413
51
- CLIENT_CLOSED_REQUEST: -32099 // 499
52
-
53
- };
54
- const TRPC_ERROR_CODES_BY_NUMBER = /*#__PURE__*/invert(TRPC_ERROR_CODES_BY_KEY);
55
-
56
- export { TRPC_ERROR_CODES_BY_KEY as T, TRPC_ERROR_CODES_BY_NUMBER as a, invert as i };
@@ -1,60 +0,0 @@
1
- 'use strict';
2
-
3
- function invert(obj) {
4
- const newObj = Object.create(null);
5
-
6
- for (const key in obj) {
7
- const v = obj[key];
8
- newObj[v] = key;
9
- }
10
-
11
- return newObj;
12
- }
13
-
14
- /**
15
- * JSON-RPC 2.0 Error codes
16
- *
17
- * `-32000` to `-32099` are reserved for implementation-defined server-errors.
18
- * For tRPC we're copying the last digits of HTTP 4XX errors.
19
- */
20
-
21
- const TRPC_ERROR_CODES_BY_KEY = {
22
- /**
23
- * Invalid JSON was received by the server.
24
- * An error occurred on the server while parsing the JSON text.
25
- */
26
- PARSE_ERROR: -32700,
27
-
28
- /**
29
- * The JSON sent is not a valid Request object.
30
- */
31
- BAD_REQUEST: -32600,
32
- // 400
33
-
34
- /**
35
- * Internal JSON-RPC error.
36
- */
37
- INTERNAL_SERVER_ERROR: -32603,
38
- // Implementation specific errors
39
- UNAUTHORIZED: -32001,
40
- // 401
41
- FORBIDDEN: -32003,
42
- // 403
43
- NOT_FOUND: -32004,
44
- // 404
45
- METHOD_NOT_SUPPORTED: -32005,
46
- // 405
47
- TIMEOUT: -32008,
48
- // 408
49
- PRECONDITION_FAILED: -32012,
50
- // 412
51
- PAYLOAD_TOO_LARGE: -32013,
52
- // 413
53
- CLIENT_CLOSED_REQUEST: -32099 // 499
54
-
55
- };
56
- const TRPC_ERROR_CODES_BY_NUMBER = /*#__PURE__*/invert(TRPC_ERROR_CODES_BY_KEY);
57
-
58
- exports.TRPC_ERROR_CODES_BY_KEY = TRPC_ERROR_CODES_BY_KEY;
59
- exports.TRPC_ERROR_CODES_BY_NUMBER = TRPC_ERROR_CODES_BY_NUMBER;
60
- exports.invert = invert;
@@ -1,3 +0,0 @@
1
- export * from '../router';
2
- export { LegacyRouter as Router } from '../router';
3
- //# sourceMappingURL=LegacyRouter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LegacyRouter.d.ts","sourceRoot":"","sources":["../../src/deprecated/LegacyRouter.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAE1B,OAAO,EAAE,YAAY,IAAI,MAAM,EAAE,MAAM,WAAW,CAAC"}
@@ -1,19 +0,0 @@
1
- import { createHTTPHandler, CreateHTTPHandlerOptions, createHTTPServer, CreateHTTPContextOptions } from '../adapters/standalone';
2
- import { AnyRouter } from '../router';
3
- /**
4
- * @deprecated use `createHTTPServer` from `@trpc/server/adapters/standalone`
5
- */
6
- export declare const createHttpServer: typeof createHTTPServer;
7
- /**
8
- * @deprecated use `createHTTPHandler` from `@trpc/server/adapters/standalone`
9
- */
10
- export declare const createHttpHandler: typeof createHTTPHandler;
11
- /**
12
- * @deprecated use `CreateHTTPHandlerOptions` from `@trpc/server/adapters/standalone`
13
- */
14
- export declare type CreateHttpHandlerOptions<TRouter extends AnyRouter> = CreateHTTPHandlerOptions<TRouter>;
15
- /**
16
- * @deprecated use `CreateHTTPContextOptions` from `@trpc/server/adapters/standalone`
17
- */
18
- export declare type CreateHttpContextOptions = CreateHTTPContextOptions;
19
- //# sourceMappingURL=createHttpServer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createHttpServer.d.ts","sourceRoot":"","sources":["../../src/deprecated/createHttpServer.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,gBAAgB,yBAAmB,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,iBAAiB,0BAAoB,CAAC;AAEnD;;GAEG;AACH,oBAAY,wBAAwB,CAAC,OAAO,SAAS,SAAS,IAC5D,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAEpC;;GAEG;AACH,oBAAY,wBAAwB,GAAG,wBAAwB,CAAC"}
@@ -1,15 +0,0 @@
1
- import { nodeHTTPRequestHandler as requestHandlerInner, NodeHTTPCreateContextFn, NodeHTTPCreateContextFnOptions } from '../adapters/node-http';
2
- import type { AnyRouter } from '../';
3
- /**
4
- * @deprecated use `nodeHTTPRequestHandler` from `@trpc/server/adapters/node-http`
5
- */
6
- export declare const requestHandler: typeof requestHandlerInner;
7
- /**
8
- * @deprecated use `NodeHTTPCreateContextFn` from `@trpc/server/adapters/node-http`
9
- */
10
- export declare type CreateContextFn<TRouter extends AnyRouter, TRequest, TResponse> = NodeHTTPCreateContextFn<TRouter, TRequest, TResponse>;
11
- /**
12
- * @deprecated use `NodeHTTPCreateContextFnOptions` from `@trpc/server/adapters/node-http`
13
- */
14
- export declare type CreateContextFnOptions<TRequest, TResponse> = NodeHTTPCreateContextFnOptions<TRequest, TResponse>;
15
- //# sourceMappingURL=requestHandler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"requestHandler.d.ts","sourceRoot":"","sources":["../../src/deprecated/requestHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,IAAI,mBAAmB,EAC7C,uBAAuB,EACvB,8BAA8B,EAC/B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAErC;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,OAAO,mBAAyC,CAAC;AAE9E;;GAEG;AACH,oBAAY,eAAe,CACzB,OAAO,SAAS,SAAS,EACzB,QAAQ,EACR,SAAS,IACP,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AAE1D;;GAEG;AACH,oBAAY,sBAAsB,CAAC,QAAQ,EAAE,SAAS,IACpD,8BAA8B,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ResponseMeta.d.ts","sourceRoot":"","sources":["../../src/http/ResponseMeta.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC"}
package/dist/index.ts.js DELETED
@@ -1 +0,0 @@
1
-
@@ -1,13 +0,0 @@
1
- import { OnErrorFunction } from './OnErrorFunction';
2
- import { AnyRouter } from '../router';
3
- /**
4
- * Base interface for any response handler
5
- */
6
- export interface BaseHandlerOptions<TRouter extends AnyRouter, TRequest> {
7
- onError?: OnErrorFunction<TRouter, TRequest>;
8
- batching?: {
9
- enabled: boolean;
10
- };
11
- router: TRouter;
12
- }
13
- //# sourceMappingURL=BaseHandlerOptions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BaseHandlerOptions.d.ts","sourceRoot":"","sources":["../../src/internals/BaseHandlerOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,OAAO,SAAS,SAAS,EAAE,QAAQ;IACrE,OAAO,CAAC,EAAE,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE;QACT,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,MAAM,EAAE,OAAO,CAAC;CACjB"}
@@ -1,11 +0,0 @@
1
- import { AnyRouter, inferRouterContext, ProcedureType } from '../router';
2
- import { TRPCError } from '../TRPCError';
3
- export declare type OnErrorFunction<TRouter extends AnyRouter, TRequest> = (opts: {
4
- error: TRPCError;
5
- type: ProcedureType | 'unknown';
6
- path: string | undefined;
7
- req: TRequest;
8
- input: unknown;
9
- ctx: undefined | inferRouterContext<TRouter>;
10
- }) => void;
11
- //# sourceMappingURL=OnErrorFunction.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OnErrorFunction.d.ts","sourceRoot":"","sources":["../../src/internals/OnErrorFunction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,oBAAY,eAAe,CAAC,OAAO,SAAS,SAAS,EAAE,QAAQ,IAAI,CAAC,IAAI,EAAE;IACxE,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,aAAa,GAAG,SAAS,CAAC;IAChC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,GAAG,EAAE,QAAQ,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;CAC9C,KAAK,IAAI,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"callProcedure.d.ts","sourceRoot":"","sources":["../../src/internals/callProcedure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,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,YAAY,CAAC,OAAO,CAAC,CAAC,CAgB3C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/internals/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,MAAM,GACf,MAAM,CASR;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAgB7D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"middlewares.d.ts","sourceRoot":"","sources":["../../src/internals/middlewares.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,eAAO,MAAM,gBAAgB,eAA6B,CAAC;AAC3D,UAAU,oBAAoB,CAAC,QAAQ;IACrC;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,gBAAgB,CAAC;IACzC,GAAG,EAAE,QAAQ,CAAC;CACf;AAED,UAAU,kBAAkB,CAAC,QAAQ,CAAE,SAAQ,oBAAoB,CAAC,QAAQ,CAAC;IAC3E,EAAE,EAAE,IAAI,CAAC;IACT,IAAI,EAAE,OAAO,CAAC;CAEf;AACD,UAAU,qBAAqB,CAAC,QAAQ,CACtC,SAAQ,oBAAoB,CAAC,QAAQ,CAAC;IACtC,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,SAAS,CAAC;CAElB;AAED,oBAAY,gBAAgB,CAAC,QAAQ,IACjC,kBAAkB,CAAC,QAAQ,CAAC,GAC5B,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AAEpC,oBAAY,kBAAkB,CAAC,aAAa,EAAE,QAAQ,IAAI,CAAC,IAAI,EAAE;IAC/D,GAAG,EAAE,aAAa,CAAC;IACnB,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,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"}
@@ -1,74 +0,0 @@
1
- import { ProcedureType } from '../router';
2
- import { MiddlewareFunction } from './middlewares';
3
- export declare type ProcedureInputParserZodEsque<TInput, TParsedInput> = {
4
- _input: TInput;
5
- _output: TParsedInput;
6
- };
7
- export declare type ProcedureInputParserMyZodEsque<TInput> = {
8
- parse: (input: any) => TInput;
9
- };
10
- export declare type ProcedureInputParserSuperstructEsque<TInput> = {
11
- create: (input: unknown) => TInput;
12
- };
13
- export declare type ProcedureInputParserCustomValidatorEsque<TInput> = (input: unknown) => TInput | Promise<TInput>;
14
- export declare type ProcedureInputParserYupEsque<TInput> = {
15
- validateSync: (input: unknown) => TInput;
16
- };
17
- export declare type ProcedureInputParser<TInput> = ProcedureInputParserYupEsque<TInput> | ProcedureInputParserSuperstructEsque<TInput> | ProcedureInputParserCustomValidatorEsque<TInput> | ProcedureInputParserMyZodEsque<TInput>;
18
- export declare type ProcedureInputParserWithInputOutput<TInput, TParsedInput> = ProcedureInputParserZodEsque<TInput, TParsedInput>;
19
- export declare type ProcedureResolver<TContext, TParsedInput, TOutput> = (opts: {
20
- ctx: TContext;
21
- input: TParsedInput;
22
- type: ProcedureType;
23
- }) => Promise<TOutput> | TOutput;
24
- interface ProcedureOptions<TContext, TParsedInput, TOutput> {
25
- middlewares: Array<MiddlewareFunction<any, any>>;
26
- resolver: ProcedureResolver<TContext, TParsedInput, TOutput>;
27
- inputParser: ProcedureInputParser<TParsedInput>;
28
- }
29
- /**
30
- * @internal
31
- */
32
- export interface ProcedureCallOptions<TContext> {
33
- ctx: TContext;
34
- rawInput: unknown;
35
- path: string;
36
- type: ProcedureType;
37
- }
38
- /**
39
- * @internal
40
- */
41
- export declare class Procedure<TInputContext, TContext, TInput, TParsedInput, TOutput> {
42
- private middlewares;
43
- private resolver;
44
- private readonly inputParser;
45
- private parse;
46
- constructor(opts: ProcedureOptions<TContext, TParsedInput, TOutput>);
47
- private parseInput;
48
- /**
49
- * Trigger middlewares in order, parse raw input & call resolver
50
- * @internal
51
- */
52
- call(opts: ProcedureCallOptions<TInputContext>): Promise<TOutput>;
53
- /**
54
- * Create new procedure with passed middlewares
55
- * @param middlewares
56
- */
57
- inheritMiddlewares(middlewares: MiddlewareFunction<TInputContext, TContext>[]): this;
58
- }
59
- export declare type CreateProcedureWithInput<TContext, TInput, TParsedInput, TOutput> = {
60
- input: ProcedureInputParser<TInput>;
61
- resolve: ProcedureResolver<TContext, TParsedInput, TOutput>;
62
- };
63
- export declare type CreateProcedureWithInputOutputParser<TContext, TInput, TParsedInput, TOutput> = {
64
- input: ProcedureInputParserWithInputOutput<TInput, TParsedInput>;
65
- resolve: ProcedureResolver<TContext, TParsedInput, TOutput>;
66
- };
67
- export declare type CreateProcedureWithoutInput<TContext, TOutput> = {
68
- resolve: ProcedureResolver<TContext, undefined, TOutput>;
69
- };
70
- export declare type CreateProcedureOptions<TContext, TInput = undefined, TParsedInput = undefined, TOutput = undefined> = CreateProcedureWithInput<TContext, TInput, TParsedInput, TOutput> | CreateProcedureWithInputOutputParser<TContext, TInput, TParsedInput, TOutput> | CreateProcedureWithoutInput<TContext, TOutput>;
71
- export declare function createProcedure<TContext, TInput, TParsedInput, TOutput>(opts: CreateProcedureOptions<TContext, TInput, TParsedInput, TOutput>): Procedure<unknown, TContext, TInput, TParsedInput, TOutput>;
72
- export declare type inferProcedureFromOptions<TInputContext, TOptions extends CreateProcedureOptions<any, any, any, any>> = TOptions extends CreateProcedureOptions<infer TContext, infer TInput, infer TParsedInput, infer TOutput> ? Procedure<TInputContext, TContext, unknown extends TInput ? undefined : TInput, unknown extends TParsedInput ? undefined : TParsedInput, TOutput> : never;
73
- export {};
74
- //# sourceMappingURL=procedure.d.ts.map