@trpc/server 11.0.0-next.91 → 11.0.0-rc.329

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 (467) hide show
  1. package/README.md +6 -6
  2. package/adapters/next-app-dir/index.d.ts +1 -0
  3. package/adapters/next-app-dir/index.js +1 -0
  4. package/dist/@trpc/server/http.d.ts +8 -0
  5. package/dist/@trpc/server/http.d.ts.map +1 -0
  6. package/dist/@trpc/server/index.d.ts +61 -0
  7. package/dist/@trpc/server/index.d.ts.map +1 -0
  8. package/dist/@trpc/server/rpc.d.ts +3 -0
  9. package/dist/@trpc/server/rpc.d.ts.map +1 -0
  10. package/dist/adapters/aws-lambda/index.d.ts +11 -2
  11. package/dist/adapters/aws-lambda/index.d.ts.map +1 -1
  12. package/dist/adapters/aws-lambda/index.js +28 -106
  13. package/dist/adapters/aws-lambda/index.mjs +15 -91
  14. package/dist/adapters/aws-lambda/utils.d.ts +14 -14
  15. package/dist/adapters/aws-lambda/utils.d.ts.map +1 -1
  16. package/dist/adapters/aws-lambda/utils.js +101 -0
  17. package/dist/adapters/aws-lambda/utils.mjs +94 -0
  18. package/dist/adapters/express.d.ts +11 -2
  19. package/dist/adapters/express.d.ts.map +1 -1
  20. package/dist/adapters/express.js +2 -14
  21. package/dist/adapters/express.mjs +2 -12
  22. package/dist/adapters/fastify/fastifyRequestHandler.d.ts +4 -4
  23. package/dist/adapters/fastify/fastifyRequestHandler.d.ts.map +1 -1
  24. package/dist/adapters/fastify/fastifyRequestHandler.js +81 -0
  25. package/dist/adapters/fastify/fastifyRequestHandler.mjs +79 -0
  26. package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts +13 -4
  27. package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts.map +1 -1
  28. package/dist/adapters/fastify/fastifyTRPCPlugin.js +48 -0
  29. package/dist/adapters/fastify/fastifyTRPCPlugin.mjs +46 -0
  30. package/dist/adapters/fastify/index.js +4 -125
  31. package/dist/adapters/fastify/index.mjs +2 -125
  32. package/dist/adapters/fetch/fetchRequestHandler.d.ts +11 -2
  33. package/dist/adapters/fetch/fetchRequestHandler.d.ts.map +1 -1
  34. package/dist/adapters/fetch/fetchRequestHandler.js +119 -0
  35. package/dist/adapters/fetch/fetchRequestHandler.mjs +117 -0
  36. package/dist/adapters/fetch/index.js +2 -106
  37. package/dist/adapters/fetch/index.mjs +1 -107
  38. package/dist/adapters/fetch/types.d.ts +13 -4
  39. package/dist/adapters/fetch/types.d.ts.map +1 -1
  40. package/dist/adapters/next-app-dir/formDataToObject.d.ts +2 -0
  41. package/dist/adapters/next-app-dir/formDataToObject.d.ts.map +1 -0
  42. package/dist/adapters/next-app-dir/formDataToObject.js +34 -0
  43. package/dist/adapters/next-app-dir/formDataToObject.mjs +32 -0
  44. package/dist/adapters/next-app-dir/nextAppDirCaller.d.ts +24 -0
  45. package/dist/adapters/next-app-dir/nextAppDirCaller.d.ts.map +1 -0
  46. package/dist/adapters/next-app-dir/nextAppDirCaller.js +86 -0
  47. package/dist/adapters/next-app-dir/nextAppDirCaller.mjs +84 -0
  48. package/dist/adapters/next-app-dir/notFound.d.ts +7 -0
  49. package/dist/adapters/next-app-dir/notFound.d.ts.map +1 -0
  50. package/dist/adapters/next-app-dir/notFound.js +16 -0
  51. package/dist/adapters/next-app-dir/notFound.mjs +14 -0
  52. package/dist/adapters/next-app-dir/redirect.d.ts +18 -0
  53. package/dist/adapters/next-app-dir/redirect.d.ts.map +1 -0
  54. package/dist/adapters/next-app-dir/redirect.js +34 -0
  55. package/dist/adapters/next-app-dir/redirect.mjs +31 -0
  56. package/dist/adapters/next-app-dir/rethrowNextErrors.d.ts +6 -0
  57. package/dist/adapters/next-app-dir/rethrowNextErrors.d.ts.map +1 -0
  58. package/dist/adapters/next-app-dir/rethrowNextErrors.js +23 -0
  59. package/dist/adapters/next-app-dir/rethrowNextErrors.mjs +21 -0
  60. package/dist/adapters/next-app-dir.d.ts +4 -0
  61. package/dist/adapters/next-app-dir.d.ts.map +1 -0
  62. package/dist/adapters/next-app-dir.js +11 -0
  63. package/dist/adapters/next-app-dir.mjs +3 -0
  64. package/dist/adapters/next.d.ts +16 -3
  65. package/dist/adapters/next.d.ts.map +1 -1
  66. package/dist/adapters/next.js +20 -19
  67. package/dist/adapters/next.mjs +19 -16
  68. package/dist/adapters/node-http/content-type/form-data/fileUploadHandler.d.ts +6 -3
  69. package/dist/adapters/node-http/content-type/form-data/fileUploadHandler.d.ts.map +1 -1
  70. package/dist/adapters/node-http/content-type/form-data/fileUploadHandler.js +161 -0
  71. package/dist/adapters/node-http/content-type/form-data/fileUploadHandler.mjs +157 -0
  72. package/dist/adapters/node-http/content-type/form-data/index.d.ts +6 -8
  73. package/dist/adapters/node-http/content-type/form-data/index.d.ts.map +1 -1
  74. package/dist/adapters/node-http/content-type/form-data/index.js +21 -647
  75. package/dist/adapters/node-http/content-type/form-data/index.mjs +10 -632
  76. package/dist/adapters/node-http/content-type/form-data/memoryUploadHandler.d.ts +2 -2
  77. package/dist/adapters/node-http/content-type/form-data/memoryUploadHandler.d.ts.map +1 -1
  78. package/dist/adapters/node-http/content-type/form-data/memoryUploadHandler.js +29 -0
  79. package/dist/adapters/node-http/content-type/form-data/memoryUploadHandler.mjs +27 -0
  80. package/dist/adapters/node-http/content-type/form-data/streamSlice.d.ts +2 -1
  81. package/dist/adapters/node-http/content-type/form-data/streamSlice.d.ts.map +1 -1
  82. package/dist/adapters/node-http/content-type/form-data/streamSlice.js +46 -0
  83. package/dist/adapters/node-http/content-type/form-data/streamSlice.mjs +44 -0
  84. package/dist/adapters/node-http/content-type/form-data/uploadHandler.d.ts +2 -2
  85. package/dist/adapters/node-http/content-type/form-data/uploadHandler.d.ts.map +1 -1
  86. package/dist/adapters/node-http/content-type/form-data/uploadHandler.js +30 -0
  87. package/dist/adapters/node-http/content-type/form-data/uploadHandler.mjs +26 -0
  88. package/dist/adapters/node-http/content-type/json/getPostBody.d.ts +2 -2
  89. package/dist/adapters/node-http/content-type/json/getPostBody.d.ts.map +1 -1
  90. package/dist/adapters/node-http/content-type/json/getPostBody.js +54 -0
  91. package/dist/adapters/node-http/content-type/json/getPostBody.mjs +52 -0
  92. package/dist/adapters/node-http/content-type/json/index.js +6 -42
  93. package/dist/adapters/node-http/content-type/json/index.mjs +5 -39
  94. package/dist/adapters/node-http/index.js +1 -14
  95. package/dist/adapters/node-http/index.mjs +1 -12
  96. package/dist/adapters/node-http/internals/contentType.d.ts +3 -3
  97. package/dist/adapters/node-http/internals/contentType.d.ts.map +1 -1
  98. package/dist/{contentType-8c16408e.js → adapters/node-http/internals/contentType.js} +1 -0
  99. package/dist/{contentType-3194ed5f.mjs → adapters/node-http/internals/contentType.mjs} +2 -1
  100. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts +11 -2
  101. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +1 -1
  102. package/dist/{nodeHTTPRequestHandler-18f3370e.js → adapters/node-http/nodeHTTPRequestHandler.js} +19 -10
  103. package/dist/{nodeHTTPRequestHandler-0986c5a1.mjs → adapters/node-http/nodeHTTPRequestHandler.mjs} +19 -10
  104. package/dist/adapters/node-http/types.d.ts +18 -9
  105. package/dist/adapters/node-http/types.d.ts.map +1 -1
  106. package/dist/adapters/standalone.d.ts +11 -2
  107. package/dist/adapters/standalone.d.ts.map +1 -1
  108. package/dist/adapters/standalone.js +10 -22
  109. package/dist/adapters/standalone.mjs +10 -16
  110. package/dist/adapters/ws.d.ts +18 -20
  111. package/dist/adapters/ws.d.ts.map +1 -1
  112. package/dist/adapters/ws.js +35 -74
  113. package/dist/adapters/ws.mjs +29 -66
  114. package/dist/bundle-analysis.json +386 -482
  115. package/dist/http.d.ts +2 -0
  116. package/dist/http.d.ts.map +1 -0
  117. package/dist/http.js +18 -0
  118. package/dist/http.mjs +7 -0
  119. package/dist/index.d.ts +1 -14
  120. package/dist/index.d.ts.map +1 -1
  121. package/dist/index.js +17 -86
  122. package/dist/index.mjs +9 -81
  123. package/dist/observable/index.d.ts +4 -4
  124. package/dist/observable/index.d.ts.map +1 -1
  125. package/dist/observable/index.js +6 -149
  126. package/dist/observable/index.mjs +2 -147
  127. package/dist/observable/observable.d.ts +9 -1
  128. package/dist/observable/observable.d.ts.map +1 -1
  129. package/dist/{observable-464116ac.js → observable/observable.js} +50 -20
  130. package/dist/{observable-ade1bad8.mjs → observable/observable.mjs} +50 -21
  131. package/dist/observable/operators.d.ts +8 -0
  132. package/dist/observable/operators.d.ts.map +1 -0
  133. package/dist/observable/operators.js +99 -0
  134. package/dist/observable/operators.mjs +95 -0
  135. package/dist/observable/types.d.ts +2 -5
  136. package/dist/observable/types.d.ts.map +1 -1
  137. package/dist/rpc.d.ts +2 -0
  138. package/dist/rpc.d.ts.map +1 -0
  139. package/dist/rpc.js +12 -0
  140. package/dist/rpc.mjs +4 -0
  141. package/dist/shared.d.ts +26 -0
  142. package/dist/shared.d.ts.map +1 -0
  143. package/dist/shared.js +11 -0
  144. package/dist/shared.mjs +4 -0
  145. package/dist/unstable-core-do-not-import/clientish/inference.d.ts +17 -0
  146. package/dist/unstable-core-do-not-import/clientish/inference.d.ts.map +1 -0
  147. package/dist/unstable-core-do-not-import/clientish/inferrable.d.ts +32 -0
  148. package/dist/unstable-core-do-not-import/clientish/inferrable.d.ts.map +1 -0
  149. package/dist/unstable-core-do-not-import/clientish/serialize.d.ts +62 -0
  150. package/dist/unstable-core-do-not-import/clientish/serialize.d.ts.map +1 -0
  151. package/dist/{shared/createProxy/index.d.ts → unstable-core-do-not-import/createProxy.d.ts} +1 -1
  152. package/dist/unstable-core-do-not-import/createProxy.d.ts.map +1 -0
  153. package/dist/{index-784ff647.js → unstable-core-do-not-import/createProxy.js} +0 -51
  154. package/dist/unstable-core-do-not-import/createProxy.mjs +49 -0
  155. package/dist/{error → unstable-core-do-not-import/error}/TRPCError.d.ts +3 -2
  156. package/dist/unstable-core-do-not-import/error/TRPCError.d.ts.map +1 -0
  157. package/dist/{TRPCError-ae7b67e8.js → unstable-core-do-not-import/error/TRPCError.js} +25 -25
  158. package/dist/{TRPCError-816ff32e.mjs → unstable-core-do-not-import/error/TRPCError.mjs} +24 -25
  159. package/dist/{error → unstable-core-do-not-import/error}/formatter.d.ts +11 -6
  160. package/dist/unstable-core-do-not-import/error/formatter.d.ts.map +1 -0
  161. package/dist/unstable-core-do-not-import/error/formatter.js +7 -0
  162. package/dist/unstable-core-do-not-import/error/formatter.mjs +5 -0
  163. package/dist/unstable-core-do-not-import/error/getErrorShape.d.ts +15 -0
  164. package/dist/unstable-core-do-not-import/error/getErrorShape.d.ts.map +1 -0
  165. package/dist/unstable-core-do-not-import/error/getErrorShape.js +32 -0
  166. package/dist/unstable-core-do-not-import/error/getErrorShape.mjs +30 -0
  167. package/dist/unstable-core-do-not-import/http/batchStreamFormatter.d.ts.map +1 -0
  168. package/dist/{batchStreamFormatter-fc1ffb26.mjs → unstable-core-do-not-import/http/batchStreamFormatter.mjs} +1 -1
  169. package/dist/{http → unstable-core-do-not-import/http}/contentType.d.ts +3 -3
  170. package/dist/unstable-core-do-not-import/http/contentType.d.ts.map +1 -0
  171. package/dist/{contentType-90bad7bb.js → unstable-core-do-not-import/http/contentType.js} +1 -1
  172. package/dist/{contentType-93515a46.mjs → unstable-core-do-not-import/http/contentType.mjs} +2 -2
  173. package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.d.ts +5 -0
  174. package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.d.ts.map +1 -0
  175. package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.js +53 -0
  176. package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.mjs +50 -0
  177. package/dist/unstable-core-do-not-import/http/index.d.ts +12 -0
  178. package/dist/unstable-core-do-not-import/http/index.d.ts.map +1 -0
  179. package/dist/{http → unstable-core-do-not-import/http}/resolveHTTPResponse.d.ts +4 -5
  180. package/dist/unstable-core-do-not-import/http/resolveHTTPResponse.d.ts.map +1 -0
  181. package/dist/{resolveHTTPResponse-5def1b0c.js → unstable-core-do-not-import/http/resolveHTTPResponse.js} +60 -63
  182. package/dist/{resolveHTTPResponse-55c648bd.mjs → unstable-core-do-not-import/http/resolveHTTPResponse.mjs} +54 -57
  183. package/dist/unstable-core-do-not-import/http/toURL.d.ts +2 -0
  184. package/dist/unstable-core-do-not-import/http/toURL.d.ts.map +1 -0
  185. package/dist/unstable-core-do-not-import/http/toURL.js +8 -0
  186. package/dist/unstable-core-do-not-import/http/toURL.mjs +6 -0
  187. package/dist/unstable-core-do-not-import/http/types.d.ts +109 -0
  188. package/dist/unstable-core-do-not-import/http/types.d.ts.map +1 -0
  189. package/dist/unstable-core-do-not-import/initTRPC.d.ts +102 -0
  190. package/dist/unstable-core-do-not-import/initTRPC.d.ts.map +1 -0
  191. package/dist/unstable-core-do-not-import/initTRPC.js +82 -0
  192. package/dist/unstable-core-do-not-import/initTRPC.mjs +80 -0
  193. package/dist/unstable-core-do-not-import/middleware.d.ts +106 -0
  194. package/dist/unstable-core-do-not-import/middleware.d.ts.map +1 -0
  195. package/dist/unstable-core-do-not-import/middleware.js +96 -0
  196. package/dist/unstable-core-do-not-import/middleware.mjs +90 -0
  197. package/dist/{core → unstable-core-do-not-import}/parser.d.ts +3 -7
  198. package/dist/unstable-core-do-not-import/parser.d.ts.map +1 -0
  199. package/dist/unstable-core-do-not-import/parser.js +37 -0
  200. package/dist/unstable-core-do-not-import/parser.mjs +35 -0
  201. package/dist/{core → unstable-core-do-not-import}/procedure.d.ts +26 -27
  202. package/dist/unstable-core-do-not-import/procedure.d.ts.map +1 -0
  203. package/dist/unstable-core-do-not-import/procedure.js +9 -0
  204. package/dist/unstable-core-do-not-import/procedure.mjs +7 -0
  205. package/dist/unstable-core-do-not-import/procedureBuilder.d.ts +134 -0
  206. package/dist/unstable-core-do-not-import/procedureBuilder.d.ts.map +1 -0
  207. package/dist/unstable-core-do-not-import/procedureBuilder.js +204 -0
  208. package/dist/unstable-core-do-not-import/procedureBuilder.mjs +201 -0
  209. package/dist/{core/internals/config.d.ts → unstable-core-do-not-import/rootConfig.d.ts} +19 -27
  210. package/dist/unstable-core-do-not-import/rootConfig.d.ts.map +1 -0
  211. package/dist/unstable-core-do-not-import/rootConfig.js +8 -0
  212. package/dist/unstable-core-do-not-import/rootConfig.mjs +6 -0
  213. package/dist/unstable-core-do-not-import/router.d.ts +81 -0
  214. package/dist/unstable-core-do-not-import/router.d.ts.map +1 -0
  215. package/dist/unstable-core-do-not-import/router.js +168 -0
  216. package/dist/unstable-core-do-not-import/router.mjs +163 -0
  217. package/dist/{rpc → unstable-core-do-not-import/rpc}/codes.d.ts +8 -16
  218. package/dist/unstable-core-do-not-import/rpc/codes.d.ts.map +1 -0
  219. package/dist/{codes-87f6824b.js → unstable-core-do-not-import/rpc/codes.js} +19 -13
  220. package/dist/{codes-c924c3db.mjs → unstable-core-do-not-import/rpc/codes.mjs} +20 -13
  221. package/dist/{rpc → unstable-core-do-not-import/rpc}/envelopes.d.ts +6 -4
  222. package/dist/unstable-core-do-not-import/rpc/envelopes.d.ts.map +1 -0
  223. package/dist/unstable-core-do-not-import/rpc/index.d.ts +5 -0
  224. package/dist/unstable-core-do-not-import/rpc/index.d.ts.map +1 -0
  225. package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.d.ts +5 -0
  226. package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.d.ts.map +1 -0
  227. package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.js +59 -0
  228. package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.mjs +57 -0
  229. package/dist/unstable-core-do-not-import/transformer.d.ts +101 -0
  230. package/dist/unstable-core-do-not-import/transformer.d.ts.map +1 -0
  231. package/dist/unstable-core-do-not-import/transformer.js +106 -0
  232. package/dist/unstable-core-do-not-import/transformer.mjs +101 -0
  233. package/dist/unstable-core-do-not-import/types.d.ts +103 -0
  234. package/dist/unstable-core-do-not-import/types.d.ts.map +1 -0
  235. package/dist/unstable-core-do-not-import/types.js +11 -0
  236. package/dist/unstable-core-do-not-import/types.mjs +9 -0
  237. package/dist/unstable-core-do-not-import/utils.d.ts +24 -0
  238. package/dist/unstable-core-do-not-import/utils.d.ts.map +1 -0
  239. package/dist/unstable-core-do-not-import/utils.js +46 -0
  240. package/dist/unstable-core-do-not-import/utils.mjs +40 -0
  241. package/dist/unstable-core-do-not-import.d.ts +31 -0
  242. package/dist/unstable-core-do-not-import.d.ts.map +1 -0
  243. package/dist/unstable-core-do-not-import.js +67 -0
  244. package/dist/unstable-core-do-not-import.mjs +21 -0
  245. package/package.json +51 -69
  246. package/src/@trpc/server/http.ts +27 -0
  247. package/src/@trpc/server/index.ts +100 -0
  248. package/src/@trpc/server/rpc.ts +26 -0
  249. package/src/adapters/aws-lambda/index.ts +21 -10
  250. package/src/adapters/aws-lambda/utils.ts +33 -26
  251. package/src/adapters/express.ts +18 -4
  252. package/src/adapters/fastify/fastifyRequestHandler.ts +22 -12
  253. package/src/adapters/fastify/fastifyTRPCPlugin.ts +21 -9
  254. package/src/adapters/fetch/fetchRequestHandler.ts +36 -12
  255. package/src/adapters/fetch/types.ts +18 -4
  256. package/src/adapters/next-app-dir/formDataToObject.ts +36 -0
  257. package/src/adapters/next-app-dir/nextAppDirCaller.ts +129 -0
  258. package/src/adapters/next-app-dir/notFound.ts +12 -0
  259. package/src/adapters/next-app-dir/redirect.ts +30 -0
  260. package/src/adapters/next-app-dir/rethrowNextErrors.ts +25 -0
  261. package/src/adapters/next-app-dir.ts +3 -0
  262. package/src/adapters/next.ts +30 -14
  263. package/src/adapters/node-http/content-type/form-data/fileUploadHandler.ts +11 -4
  264. package/src/adapters/node-http/content-type/form-data/index.ts +18 -18
  265. package/src/adapters/node-http/content-type/form-data/memoryUploadHandler.ts +3 -2
  266. package/src/adapters/node-http/content-type/form-data/streamSlice.ts +7 -2
  267. package/src/adapters/node-http/content-type/form-data/uploadHandler.ts +2 -2
  268. package/src/adapters/node-http/content-type/json/getPostBody.ts +20 -3
  269. package/src/adapters/node-http/content-type/json/index.ts +1 -1
  270. package/src/adapters/node-http/internals/contentType.ts +5 -3
  271. package/src/adapters/node-http/nodeHTTPRequestHandler.ts +28 -16
  272. package/src/adapters/node-http/types.ts +24 -9
  273. package/src/adapters/standalone.ts +22 -8
  274. package/src/adapters/ws.ts +67 -114
  275. package/src/http.ts +1 -0
  276. package/src/index.ts +1 -20
  277. package/src/observable/index.ts +10 -4
  278. package/src/observable/observable.ts +63 -3
  279. package/src/observable/operators.ts +114 -0
  280. package/src/observable/types.ts +1 -5
  281. package/src/rpc.ts +1 -0
  282. package/src/shared.ts +26 -0
  283. package/src/unstable-core-do-not-import/clientish/inference.ts +60 -0
  284. package/src/unstable-core-do-not-import/clientish/inferrable.ts +49 -0
  285. package/src/unstable-core-do-not-import/clientish/serialize.ts +122 -0
  286. package/src/{error → unstable-core-do-not-import/error}/TRPCError.ts +33 -27
  287. package/src/{error → unstable-core-do-not-import/error}/formatter.ts +12 -19
  288. package/src/{shared → unstable-core-do-not-import/error}/getErrorShape.ts +8 -8
  289. package/src/{http → unstable-core-do-not-import/http}/contentType.ts +4 -4
  290. package/src/{http → unstable-core-do-not-import/http}/getHTTPStatusCode.ts +8 -8
  291. package/src/unstable-core-do-not-import/http/index.ts +29 -0
  292. package/src/{http → unstable-core-do-not-import/http}/resolveHTTPResponse.ts +69 -69
  293. package/src/unstable-core-do-not-import/http/toURL.ts +7 -0
  294. package/src/unstable-core-do-not-import/http/types.ts +126 -0
  295. package/src/unstable-core-do-not-import/initTRPC.ts +152 -0
  296. package/src/unstable-core-do-not-import/middleware.ts +238 -0
  297. package/src/unstable-core-do-not-import/parser.ts +94 -0
  298. package/src/{core → unstable-core-do-not-import}/procedure.ts +37 -35
  299. package/src/unstable-core-do-not-import/procedureBuilder.ts +623 -0
  300. package/src/{core/internals/config.ts → unstable-core-do-not-import/rootConfig.ts} +22 -33
  301. package/src/unstable-core-do-not-import/router.ts +363 -0
  302. package/src/{rpc → unstable-core-do-not-import/rpc}/codes.ts +30 -3
  303. package/src/{rpc → unstable-core-do-not-import/rpc}/envelopes.ts +6 -9
  304. package/src/unstable-core-do-not-import/rpc/index.ts +21 -0
  305. package/src/unstable-core-do-not-import/rpc/parseTRPCMessage.ts +85 -0
  306. package/src/unstable-core-do-not-import/transformer.ts +194 -0
  307. package/src/unstable-core-do-not-import/types.ts +157 -0
  308. package/src/unstable-core-do-not-import/utils.ts +55 -0
  309. package/src/unstable-core-do-not-import.ts +30 -0
  310. package/unstable-core-do-not-import/index.d.ts +1 -0
  311. package/unstable-core-do-not-import/index.js +1 -0
  312. package/dist/TRPCError-efecb077.js +0 -63
  313. package/dist/batchStreamFormatter-2c1405a1.js +0 -31
  314. package/dist/codes-e5bb4d58.js +0 -48
  315. package/dist/config-5de7eae5.js +0 -10
  316. package/dist/config-60fc2667.js +0 -7
  317. package/dist/config-ab4c1c6b.mjs +0 -5
  318. package/dist/contentType-24c44bba.js +0 -5
  319. package/dist/contentType-9940f5d7.js +0 -58
  320. package/dist/core/index.d.ts +0 -9
  321. package/dist/core/index.d.ts.map +0 -1
  322. package/dist/core/initTRPC.d.ts +0 -105
  323. package/dist/core/initTRPC.d.ts.map +0 -1
  324. package/dist/core/internals/builderTypes.d.ts +0 -11
  325. package/dist/core/internals/builderTypes.d.ts.map +0 -1
  326. package/dist/core/internals/config.d.ts.map +0 -1
  327. package/dist/core/internals/getParseFn.d.ts +0 -4
  328. package/dist/core/internals/getParseFn.d.ts.map +0 -1
  329. package/dist/core/internals/mergeRouters.d.ts +0 -15
  330. package/dist/core/internals/mergeRouters.d.ts.map +0 -1
  331. package/dist/core/internals/mergeWithoutOverrides.d.ts +0 -5
  332. package/dist/core/internals/mergeWithoutOverrides.d.ts.map +0 -1
  333. package/dist/core/internals/omitPrototype.d.ts +0 -6
  334. package/dist/core/internals/omitPrototype.d.ts.map +0 -1
  335. package/dist/core/internals/procedureBuilder.d.ts +0 -113
  336. package/dist/core/internals/procedureBuilder.d.ts.map +0 -1
  337. package/dist/core/internals/utils.d.ts +0 -51
  338. package/dist/core/internals/utils.d.ts.map +0 -1
  339. package/dist/core/middleware.d.ts +0 -158
  340. package/dist/core/middleware.d.ts.map +0 -1
  341. package/dist/core/parser.d.ts.map +0 -1
  342. package/dist/core/procedure.d.ts.map +0 -1
  343. package/dist/core/router.d.ts +0 -65
  344. package/dist/core/router.d.ts.map +0 -1
  345. package/dist/core/types.d.ts +0 -24
  346. package/dist/core/types.d.ts.map +0 -1
  347. package/dist/error/TRPCError.d.ts.map +0 -1
  348. package/dist/error/formatter.d.ts.map +0 -1
  349. package/dist/error/utils.d.ts +0 -9
  350. package/dist/error/utils.d.ts.map +0 -1
  351. package/dist/http/batchStreamFormatter.d.ts.map +0 -1
  352. package/dist/http/contentType.d.ts.map +0 -1
  353. package/dist/http/getHTTPStatusCode.d.ts +0 -24
  354. package/dist/http/getHTTPStatusCode.d.ts.map +0 -1
  355. package/dist/http/index.d.ts +0 -5
  356. package/dist/http/index.d.ts.map +0 -1
  357. package/dist/http/index.js +0 -21
  358. package/dist/http/index.mjs +0 -9
  359. package/dist/http/internals/types.d.ts +0 -32
  360. package/dist/http/internals/types.d.ts.map +0 -1
  361. package/dist/http/resolveHTTPResponse.d.ts.map +0 -1
  362. package/dist/http/types.d.ts +0 -46
  363. package/dist/http/types.d.ts.map +0 -1
  364. package/dist/index-46cb3130.js +0 -94
  365. package/dist/index-f91d720c.mjs +0 -97
  366. package/dist/internals/invert.d.ts +0 -12
  367. package/dist/internals/invert.d.ts.map +0 -1
  368. package/dist/internals/types.d.ts +0 -26
  369. package/dist/internals/types.d.ts.map +0 -1
  370. package/dist/nodeHTTPRequestHandler-388f5fce.js +0 -107
  371. package/dist/observable/internals/identity.d.ts +0 -2
  372. package/dist/observable/internals/identity.d.ts.map +0 -1
  373. package/dist/observable/internals/observableToPromise.d.ts +0 -10
  374. package/dist/observable/internals/observableToPromise.d.ts.map +0 -1
  375. package/dist/observable/internals/pipe.d.ts +0 -4
  376. package/dist/observable/internals/pipe.d.ts.map +0 -1
  377. package/dist/observable/operators/index.d.ts +0 -4
  378. package/dist/observable/operators/index.d.ts.map +0 -1
  379. package/dist/observable/operators/map.d.ts +0 -3
  380. package/dist/observable/operators/map.d.ts.map +0 -1
  381. package/dist/observable/operators/share.d.ts +0 -6
  382. package/dist/observable/operators/share.d.ts.map +0 -1
  383. package/dist/observable/operators/tap.d.ts +0 -3
  384. package/dist/observable/operators/tap.d.ts.map +0 -1
  385. package/dist/observable-15588f28.js +0 -83
  386. package/dist/resolveHTTPResponse-8d474952.js +0 -267
  387. package/dist/router-3c22fe56.js +0 -159
  388. package/dist/router-5274e533.mjs +0 -153
  389. package/dist/router-a1635eab.js +0 -147
  390. package/dist/rpc/codes.d.ts.map +0 -1
  391. package/dist/rpc/envelopes.d.ts.map +0 -1
  392. package/dist/rpc/index.d.ts +0 -3
  393. package/dist/rpc/index.d.ts.map +0 -1
  394. package/dist/rpc/index.js +0 -10
  395. package/dist/rpc/index.mjs +0 -1
  396. package/dist/shared/createProxy/index.d.ts.map +0 -1
  397. package/dist/shared/getErrorShape.d.ts +0 -15
  398. package/dist/shared/getErrorShape.d.ts.map +0 -1
  399. package/dist/shared/index.d.ts +0 -7
  400. package/dist/shared/index.d.ts.map +0 -1
  401. package/dist/shared/index.js +0 -14
  402. package/dist/shared/index.mjs +0 -3
  403. package/dist/shared/internal/serialize.d.ts +0 -30
  404. package/dist/shared/internal/serialize.d.ts.map +0 -1
  405. package/dist/shared/jsonify.d.ts +0 -11
  406. package/dist/shared/jsonify.d.ts.map +0 -1
  407. package/dist/shared/transformTRPCResponse.d.ts +0 -9
  408. package/dist/shared/transformTRPCResponse.d.ts.map +0 -1
  409. package/dist/shared/types.d.ts +0 -6
  410. package/dist/shared/types.d.ts.map +0 -1
  411. package/dist/transformTRPCResponse-1153b421.mjs +0 -53
  412. package/dist/transformTRPCResponse-20ce3b68.js +0 -54
  413. package/dist/transformTRPCResponse-e65f34e9.js +0 -56
  414. package/dist/transformer.d.ts +0 -74
  415. package/dist/transformer.d.ts.map +0 -1
  416. package/dist/types.d.ts +0 -83
  417. package/dist/types.d.ts.map +0 -1
  418. package/dist/unstableInternalsExport-10cc2bae.mjs +0 -353
  419. package/dist/unstableInternalsExport-a064a7dd.js +0 -349
  420. package/dist/unstableInternalsExport-bf8496ea.js +0 -363
  421. package/dist/unstableInternalsExport.d.ts +0 -11
  422. package/dist/unstableInternalsExport.d.ts.map +0 -1
  423. package/dist/unstableInternalsExport.js +0 -16
  424. package/dist/unstableInternalsExport.mjs +0 -5
  425. package/src/core/index.ts +0 -28
  426. package/src/core/initTRPC.ts +0 -169
  427. package/src/core/internals/builderTypes.ts +0 -11
  428. package/src/core/internals/getParseFn.ts +0 -43
  429. package/src/core/internals/mergeRouters.ts +0 -90
  430. package/src/core/internals/mergeWithoutOverrides.ts +0 -19
  431. package/src/core/internals/omitPrototype.ts +0 -9
  432. package/src/core/internals/procedureBuilder.ts +0 -394
  433. package/src/core/internals/utils.ts +0 -84
  434. package/src/core/middleware.ts +0 -295
  435. package/src/core/parser.ts +0 -57
  436. package/src/core/router.ts +0 -226
  437. package/src/core/types.ts +0 -67
  438. package/src/error/utils.ts +0 -23
  439. package/src/http/index.ts +0 -4
  440. package/src/http/internals/types.ts +0 -40
  441. package/src/http/types.ts +0 -51
  442. package/src/internals/invert.ts +0 -21
  443. package/src/internals/types.ts +0 -27
  444. package/src/observable/internals/identity.ts +0 -3
  445. package/src/observable/internals/observableToPromise.ts +0 -49
  446. package/src/observable/internals/pipe.ts +0 -23
  447. package/src/observable/operators/index.ts +0 -3
  448. package/src/observable/operators/map.ts +0 -25
  449. package/src/observable/operators/share.ts +0 -65
  450. package/src/observable/operators/tap.ts +0 -26
  451. package/src/rpc/index.ts +0 -2
  452. package/src/shared/index.ts +0 -10
  453. package/src/shared/internal/serialize.ts +0 -65
  454. package/src/shared/jsonify.ts +0 -22
  455. package/src/shared/transformTRPCResponse.ts +0 -40
  456. package/src/shared/types.ts +0 -9
  457. package/src/transformer.ts +0 -94
  458. package/src/types.ts +0 -125
  459. package/src/unstableInternalsExport.ts +0 -10
  460. package/subscription/index.d.ts +0 -1
  461. package/subscription/index.js +0 -1
  462. package/unstableInternalsExport/index.d.ts +0 -1
  463. package/unstableInternalsExport/index.js +0 -1
  464. /package/dist/{http → unstable-core-do-not-import/http}/batchStreamFormatter.d.ts +0 -0
  465. /package/dist/{batchStreamFormatter-93cdcdd4.js → unstable-core-do-not-import/http/batchStreamFormatter.js} +0 -0
  466. /package/src/{shared/createProxy/index.ts → unstable-core-do-not-import/createProxy.ts} +0 -0
  467. /package/src/{http → unstable-core-do-not-import/http}/batchStreamFormatter.ts +0 -0
@@ -1,295 +0,0 @@
1
- import { TRPCError } from '../error/TRPCError';
2
- import { Simplify } from '../types';
3
- import { AnyRootConfig, RootConfig } from './internals/config';
4
- import { ParseFn } from './internals/getParseFn';
5
- import { ProcedureBuilderMiddleware } from './internals/procedureBuilder';
6
- import {
7
- DefaultValue as FallbackValue,
8
- GetRawInputFn,
9
- MiddlewareMarker,
10
- Overwrite,
11
- UnsetMarker,
12
- } from './internals/utils';
13
- import { AnyProcedureParams, ProcedureParams } from './procedure';
14
- import { ProcedureType } from './types';
15
-
16
- /**
17
- * @internal
18
- */
19
- interface MiddlewareResultBase {
20
- /**
21
- * All middlewares should pass through their `next()`'s output.
22
- * Requiring this marker makes sure that can't be forgotten at compile-time.
23
- */
24
- readonly marker: MiddlewareMarker;
25
- }
26
-
27
- /**
28
- * @internal
29
- */
30
- interface MiddlewareOKResult<
31
- _TParams extends ProcedureParams<AnyProcedureParams>,
32
- > extends MiddlewareResultBase {
33
- ok: true;
34
- data: unknown;
35
- // this could be extended with `input`/`rawInput` later
36
- }
37
-
38
- /**
39
- * @internal
40
- */
41
- interface MiddlewareErrorResult<
42
- _TParams extends ProcedureParams<AnyProcedureParams>,
43
- > extends MiddlewareResultBase {
44
- ok: false;
45
- error: TRPCError;
46
- }
47
-
48
- /**
49
- * @internal
50
- */
51
- export type MiddlewareResult<
52
- TParams extends ProcedureParams<AnyProcedureParams>,
53
- > = MiddlewareErrorResult<TParams> | MiddlewareOKResult<TParams>;
54
-
55
- /**
56
- * @internal
57
- */
58
- export interface MiddlewareBuilder<
59
- TRoot extends ProcedureParams<AnyProcedureParams>,
60
- TNewParams extends ProcedureParams<AnyProcedureParams>,
61
- > {
62
- /**
63
- * Create a new builder based on the current middleware builder
64
- */
65
- unstable_pipe<$Params extends ProcedureParams<AnyProcedureParams>>(
66
- fn: {
67
- _config: TRoot['_config'];
68
- _meta: TRoot['_meta'];
69
- _ctx_out: Overwrite<TRoot['_ctx_out'], TNewParams['_ctx_out']>;
70
- _input_in: FallbackValue<TRoot['_input_in'], TNewParams['_input_in']>;
71
- _input_out: UnsetMarker extends TNewParams['_input_out']
72
- ? TRoot['_input_out']
73
- : Overwrite<TRoot['_input_out'], TNewParams['_input_out']>;
74
- _output_in: FallbackValue<TRoot['_output_in'], TNewParams['_output_in']>;
75
- _output_out: FallbackValue<
76
- TRoot['_output_out'],
77
- TNewParams['_output_out']
78
- >;
79
- } extends infer OParams extends ProcedureParams<AnyProcedureParams>
80
- ?
81
- | MiddlewareBuilder<OParams, $Params>
82
- | MiddlewareFunction<OParams, $Params>
83
- : never,
84
- ): CreateMiddlewareReturnInput<
85
- TRoot,
86
- TNewParams,
87
- Overwrite<TNewParams, $Params>
88
- >;
89
-
90
- /**
91
- * List of middlewares within this middleware builder
92
- */
93
- _middlewares: MiddlewareFunction<TRoot, TNewParams>[];
94
- }
95
-
96
- /**
97
- * @internal
98
- * FIXME: there must be a nicer way of doing this, it's hard to maintain when we have several structures like this
99
- */
100
- type CreateMiddlewareReturnInput<
101
- TRoot extends ProcedureParams<AnyProcedureParams>,
102
- TPrev extends ProcedureParams<AnyProcedureParams>,
103
- TNext extends ProcedureParams<AnyProcedureParams>,
104
- > = MiddlewareBuilder<
105
- TRoot,
106
- {
107
- _config: TPrev['_config'];
108
- _meta: TPrev['_meta'];
109
- _ctx_out: Overwrite<TPrev['_ctx_out'], TNext['_ctx_out']>;
110
- _input_in: FallbackValue<TNext['_input_in'], TPrev['_input_in']>;
111
- _input_out: UnsetMarker extends TNext['_input_out']
112
- ? TPrev['_input_out']
113
- : Overwrite<TPrev['_input_out'], TNext['_input_out']>;
114
- _output_in: FallbackValue<TNext['_output_in'], TPrev['_output_in']>;
115
- _output_out: FallbackValue<TNext['_output_out'], TPrev['_output_out']>;
116
- }
117
- >;
118
-
119
- /**
120
- * @internal
121
- */
122
- type deriveParamsFromConfig<
123
- TConfig extends AnyRootConfig,
124
- TInputIn = unknown,
125
- > = {
126
- _config: TConfig;
127
- // eslint-disable-next-line @typescript-eslint/ban-types
128
- _ctx_out: {};
129
- _input_out: TInputIn;
130
- _input_in: TInputIn;
131
- _output_in: unknown;
132
- _output_out: unknown;
133
- _meta: TConfig['$types']['meta'];
134
- };
135
- /**
136
- * @internal
137
- */
138
- export type MiddlewareFunction<
139
- TParams extends ProcedureParams<AnyProcedureParams>,
140
- TParamsAfter extends ProcedureParams<AnyProcedureParams>,
141
- > = {
142
- (opts: {
143
- ctx: Simplify<
144
- Overwrite<TParams['_config']['$types']['ctx'], TParams['_ctx_out']>
145
- >;
146
- type: ProcedureType;
147
- path: string;
148
- input: TParams['_input_out'];
149
- getRawInput: GetRawInputFn;
150
- meta: TParams['_meta'] | undefined;
151
- next: {
152
- (): Promise<MiddlewareResult<TParams>>;
153
- <$Context>(opts: { ctx?: $Context; input?: unknown }): Promise<
154
- MiddlewareResult<{
155
- _config: TParams['_config'];
156
- _ctx_out: $Context;
157
- _input_in: TParams['_input_in'];
158
- _input_out: TParams['_input_out'];
159
- _output_in: TParams['_output_in'];
160
- _output_out: TParams['_output_out'];
161
- _meta: TParams['_meta'];
162
- }>
163
- >;
164
- (opts: { getRawInput: GetRawInputFn }): Promise<
165
- MiddlewareResult<TParams>
166
- >;
167
- };
168
- }): Promise<MiddlewareResult<TParamsAfter>>;
169
- _type?: string | undefined;
170
- };
171
-
172
- /**
173
- * @internal
174
- */
175
- export function createMiddlewareFactory<
176
- TConfig extends AnyRootConfig,
177
- TInputIn = unknown,
178
- >() {
179
- function createMiddlewareInner<
180
- TNewParams extends ProcedureParams<AnyProcedureParams>,
181
- >(
182
- middlewares: MiddlewareFunction<any, any>[],
183
- ): MiddlewareBuilder<deriveParamsFromConfig<TConfig, TInputIn>, TNewParams> {
184
- return {
185
- _middlewares: middlewares,
186
- unstable_pipe(middlewareBuilderOrFn) {
187
- const pipedMiddleware =
188
- '_middlewares' in middlewareBuilderOrFn
189
- ? middlewareBuilderOrFn._middlewares
190
- : [middlewareBuilderOrFn];
191
-
192
- return createMiddlewareInner([
193
- ...(middlewares as any),
194
- ...pipedMiddleware,
195
- ]);
196
- },
197
- };
198
- }
199
-
200
- function createMiddleware<
201
- TNewParams extends ProcedureParams<AnyProcedureParams>,
202
- >(
203
- fn: MiddlewareFunction<
204
- deriveParamsFromConfig<TConfig, TInputIn>,
205
- TNewParams
206
- >,
207
- ): MiddlewareBuilder<deriveParamsFromConfig<TConfig, TInputIn>, TNewParams> {
208
- return createMiddlewareInner([fn]);
209
- }
210
-
211
- return createMiddleware;
212
- }
213
-
214
- export const experimental_standaloneMiddleware = <
215
- TCtx extends {
216
- ctx?: object;
217
- meta?: object;
218
- input?: unknown;
219
- },
220
- >() => ({
221
- create: createMiddlewareFactory<
222
- RootConfig<{
223
- ctx: TCtx extends { ctx: infer T extends object } ? T : object;
224
- meta: TCtx extends { meta: infer T extends object } ? T : object;
225
- errorShape: object;
226
- transformer: object;
227
- }>,
228
- TCtx extends { input: infer T } ? T : unknown
229
- >(),
230
- });
231
-
232
- function isPlainObject(obj: unknown) {
233
- return obj && typeof obj === 'object' && !Array.isArray(obj);
234
- }
235
-
236
- /**
237
- * @internal
238
- * Please note, `trpc-openapi` uses this function.
239
- */
240
- export function createInputMiddleware<TInput>(parse: ParseFn<TInput>) {
241
- const inputMiddleware: ProcedureBuilderMiddleware = async (opts) => {
242
- let parsedInput: ReturnType<typeof parse>;
243
-
244
- const rawInput = await opts.getRawInput();
245
- try {
246
- parsedInput = await parse(rawInput);
247
- } catch (cause) {
248
- throw new TRPCError({
249
- code: 'BAD_REQUEST',
250
- cause,
251
- });
252
- }
253
-
254
- // Multiple input parsers
255
- const combinedInput =
256
- isPlainObject(opts.input) && isPlainObject(parsedInput)
257
- ? {
258
- ...opts.input,
259
- ...parsedInput,
260
- }
261
- : parsedInput;
262
-
263
- return opts.next({ input: combinedInput });
264
- };
265
- inputMiddleware._type = 'input';
266
- return inputMiddleware;
267
- }
268
-
269
- /**
270
- * @internal
271
- */
272
- export function createOutputMiddleware<TOutput>(parse: ParseFn<TOutput>) {
273
- const outputMiddleware: ProcedureBuilderMiddleware = async ({ next }) => {
274
- const result = await next();
275
- if (!result.ok) {
276
- // pass through failures without validating
277
- return result;
278
- }
279
- try {
280
- const data = await parse(result.data);
281
- return {
282
- ...result,
283
- data,
284
- };
285
- } catch (cause) {
286
- throw new TRPCError({
287
- message: 'Output validation failed',
288
- code: 'INTERNAL_SERVER_ERROR',
289
- cause,
290
- });
291
- }
292
- };
293
- outputMiddleware._type = 'output';
294
- return outputMiddleware;
295
- }
@@ -1,57 +0,0 @@
1
- export type ParserZodEsque<TInput, TParsedInput> = {
2
- _input: TInput;
3
- _output: TParsedInput;
4
- };
5
-
6
- export type ParserValibotEsque<TInput, TParsedInput> = {
7
- types?: {
8
- input: TInput;
9
- output: TParsedInput;
10
- };
11
- };
12
-
13
- export type ParserMyZodEsque<TInput> = {
14
- parse: (input: any) => TInput;
15
- };
16
-
17
- export type ParserSuperstructEsque<TInput> = {
18
- create: (input: unknown) => TInput;
19
- };
20
-
21
- export type ParserCustomValidatorEsque<TInput> = (
22
- input: unknown,
23
- ) => Promise<TInput> | TInput;
24
-
25
- export type ParserYupEsque<TInput> = {
26
- validateSync: (input: unknown) => TInput;
27
- };
28
-
29
- export type ParserScaleEsque<TInput> = {
30
- assert(value: unknown): asserts value is TInput;
31
- };
32
-
33
- export type ParserWithoutInput<TInput> =
34
- | ParserCustomValidatorEsque<TInput>
35
- | ParserMyZodEsque<TInput>
36
- | ParserScaleEsque<TInput>
37
- | ParserSuperstructEsque<TInput>
38
- | ParserYupEsque<TInput>;
39
-
40
- export type ParserWithInputOutput<TInput, TParsedInput> =
41
- | ParserZodEsque<TInput, TParsedInput>
42
- | ParserValibotEsque<TInput, TParsedInput>;
43
-
44
- export type Parser = ParserWithInputOutput<any, any> | ParserWithoutInput<any>;
45
-
46
- export type inferParser<TParser extends Parser> =
47
- TParser extends ParserWithInputOutput<infer $TIn, infer $TOut>
48
- ? {
49
- in: $TIn;
50
- out: $TOut;
51
- }
52
- : TParser extends ParserWithoutInput<infer $InOut>
53
- ? {
54
- in: $InOut;
55
- out: $InOut;
56
- }
57
- : never;
@@ -1,226 +0,0 @@
1
- import { DefaultErrorShape, defaultFormatter } from '../error/formatter';
2
- import { TRPCError } from '../error/TRPCError';
3
- import { getHTTPStatusCodeFromError } from '../http/getHTTPStatusCode';
4
- import { TRPC_ERROR_CODES_BY_KEY } from '../rpc';
5
- import { createRecursiveProxy } from '../shared/createProxy';
6
- import { defaultTransformer } from '../transformer';
7
- import { AnyRootConfig } from './internals/config';
8
- import { omitPrototype } from './internals/omitPrototype';
9
- import { ProcedureCallOptions } from './internals/procedureBuilder';
10
- import { AnyProcedure, ProcedureArgs } from './procedure';
11
- import { ProcedureType } from './types';
12
-
13
- /** @internal **/
14
- export type ProcedureRecord = Record<string, AnyProcedure>;
15
-
16
- export interface ProcedureRouterRecord {
17
- [key: string]: AnyProcedure | AnyRouter;
18
- }
19
-
20
- export interface RouterDef<
21
- TConfig extends AnyRootConfig,
22
- TRecord extends ProcedureRouterRecord,
23
- > {
24
- _config: TConfig;
25
- router: true;
26
- procedure?: never;
27
- procedures: TRecord;
28
- record: TRecord;
29
- }
30
-
31
- export type AnyRouterDef<TConfig extends AnyRootConfig = AnyRootConfig> =
32
- RouterDef<TConfig, any>;
33
-
34
- type DecorateProcedure<TProcedure extends AnyProcedure> = (
35
- input: ProcedureArgs<TProcedure['_def']>[0],
36
- ) => Promise<TProcedure['_def']['_output_out']>;
37
-
38
- /**
39
- * @internal
40
- */
41
- type DecoratedProcedureRecord<TProcedures extends ProcedureRouterRecord> = {
42
- [TKey in keyof TProcedures]: TProcedures[TKey] extends AnyRouter
43
- ? DecoratedProcedureRecord<TProcedures[TKey]['_def']['record']>
44
- : TProcedures[TKey] extends AnyProcedure
45
- ? DecorateProcedure<TProcedures[TKey]>
46
- : never;
47
- };
48
-
49
- /**
50
- * @internal
51
- */
52
- type RouterCaller<TDef extends AnyRouterDef> = (
53
- ctx: TDef['_config']['$types']['ctx'],
54
- ) => DecoratedProcedureRecord<TDef['record']>;
55
-
56
- export interface Router<TDef extends AnyRouterDef> {
57
- _def: TDef;
58
- createCaller: RouterCaller<TDef>;
59
-
60
- /**
61
- * @deprecated
62
- * FIXME: use the new standalone `getErrorShape` instead
63
- */
64
- getErrorShape(opts: {
65
- error: TRPCError;
66
- type: ProcedureType | 'unknown';
67
- path: string | undefined;
68
- input: unknown;
69
- ctx: TDef['_config']['$types']['ctx'] | undefined;
70
- }): TDef['_config']['$types']['errorShape'];
71
- }
72
-
73
- export type AnyRouter = Router<AnyRouterDef>;
74
-
75
- function isRouter(
76
- procedureOrRouter: AnyProcedure | AnyRouter,
77
- ): procedureOrRouter is AnyRouter {
78
- return 'router' in procedureOrRouter._def;
79
- }
80
-
81
- const emptyRouter = {
82
- _ctx: null as any,
83
- _errorShape: null as any,
84
- _meta: null as any,
85
- queries: {},
86
- mutations: {},
87
- subscriptions: {},
88
- errorFormatter: defaultFormatter,
89
- transformer: defaultTransformer,
90
- };
91
-
92
- /**
93
- * Reserved words that can't be used as router or procedure names
94
- */
95
- const reservedWords = [
96
- /**
97
- * Then is a reserved word because otherwise we can't return a promise that returns a Proxy
98
- * since JS will think that `.then` is something that exists
99
- */
100
- 'then',
101
- ];
102
-
103
- /**
104
- * @internal
105
- */
106
- export type CreateRouterInner<
107
- TConfig extends AnyRootConfig,
108
- TProcRouterRecord extends ProcedureRouterRecord,
109
- > = Router<RouterDef<TConfig, TProcRouterRecord>> &
110
- /**
111
- * This adds ability to call procedures directly but is primarily used for quick access in type inference
112
- */
113
- TProcRouterRecord;
114
-
115
- /**
116
- * @internal
117
- */
118
- export function createRouterFactory<TConfig extends AnyRootConfig>(
119
- config: TConfig,
120
- ) {
121
- return function createRouterInner<
122
- TProcRouterRecord extends ProcedureRouterRecord,
123
- >(
124
- procedures: TProcRouterRecord,
125
- ): CreateRouterInner<TConfig, TProcRouterRecord> {
126
- const reservedWordsUsed = new Set(
127
- Object.keys(procedures).filter((v) => reservedWords.includes(v)),
128
- );
129
- if (reservedWordsUsed.size > 0) {
130
- throw new Error(
131
- 'Reserved words used in `router({})` call: ' +
132
- Array.from(reservedWordsUsed).join(', '),
133
- );
134
- }
135
-
136
- const routerProcedures: ProcedureRecord = omitPrototype({});
137
- function recursiveGetPaths(procedures: ProcedureRouterRecord, path = '') {
138
- for (const [key, procedureOrRouter] of Object.entries(procedures ?? {})) {
139
- const newPath = `${path}${key}`;
140
-
141
- if (isRouter(procedureOrRouter)) {
142
- recursiveGetPaths(procedureOrRouter._def.procedures, `${newPath}.`);
143
- continue;
144
- }
145
-
146
- if (routerProcedures[newPath]) {
147
- throw new Error(`Duplicate key: ${newPath}`);
148
- }
149
-
150
- routerProcedures[newPath] = procedureOrRouter;
151
- }
152
- }
153
- recursiveGetPaths(procedures);
154
-
155
- const _def: AnyRouterDef<TConfig> = {
156
- _config: config,
157
- router: true,
158
- procedures: routerProcedures,
159
- ...emptyRouter,
160
- record: procedures,
161
- };
162
-
163
- const router: AnyRouter = {
164
- ...procedures,
165
- _def,
166
- createCaller(ctx) {
167
- const proxy = createRecursiveProxy(({ path, args }) => {
168
- const fullPath = path.join('.');
169
- const procedure = _def.procedures[fullPath] as AnyProcedure;
170
-
171
- return procedure({
172
- path: fullPath,
173
- getRawInput: async () => args[0],
174
- ctx,
175
- type: procedure._def.type,
176
- });
177
- });
178
-
179
- return proxy as ReturnType<RouterCaller<any>>;
180
- },
181
- getErrorShape(opts) {
182
- const { path, error } = opts;
183
- const { code } = opts.error;
184
- const shape: DefaultErrorShape = {
185
- message: error.message,
186
- code: TRPC_ERROR_CODES_BY_KEY[code],
187
- data: {
188
- code,
189
- httpStatus: getHTTPStatusCodeFromError(error),
190
- },
191
- };
192
- if (config.isDev && typeof opts.error.stack === 'string') {
193
- shape.data.stack = opts.error.stack;
194
- }
195
- if (typeof path === 'string') {
196
- shape.data.path = path;
197
- }
198
- return this._def._config.errorFormatter({ ...opts, shape });
199
- },
200
- };
201
- return router as any;
202
- };
203
- }
204
-
205
- function isProcedure(
206
- procedureOrRouter: AnyProcedure | AnyRouter,
207
- ): procedureOrRouter is AnyProcedure {
208
- return !!procedureOrRouter._def.procedure;
209
- }
210
- /**
211
- * @internal
212
- */
213
- export function callProcedure(
214
- opts: ProcedureCallOptions & { procedures: ProcedureRouterRecord },
215
- ) {
216
- const { type, path } = opts;
217
- const proc = opts.procedures[path];
218
- if (!proc || !isProcedure(proc) || proc._def.type !== type) {
219
- throw new TRPCError({
220
- code: 'NOT_FOUND',
221
- message: `No "${type}"-procedure on path "${path}"`,
222
- });
223
- }
224
-
225
- return proc(opts);
226
- }
package/src/core/types.ts DELETED
@@ -1,67 +0,0 @@
1
- import { inferTransformedProcedureOutput } from '../shared';
2
- import { AnyProcedure, ProcedureArgs } from './procedure';
3
- import { AnyRouter, AnyRouterDef, Router } from './router';
4
-
5
- export type inferRouterDef<TRouter extends AnyRouter> = TRouter extends Router<
6
- infer TParams
7
- >
8
- ? TParams extends AnyRouterDef<any>
9
- ? TParams
10
- : never
11
- : never;
12
-
13
- export type inferRouterConfig<TRouter extends AnyRouter> =
14
- inferRouterDef<TRouter>['_config'];
15
- export type inferRouterContext<TRouter extends AnyRouter> =
16
- inferRouterConfig<TRouter>['$types']['ctx'];
17
- export type inferRouterError<TRouter extends AnyRouter> =
18
- inferRouterConfig<TRouter>['$types']['errorShape'];
19
- export type inferRouterMeta<TRouter extends AnyRouter> =
20
- inferRouterConfig<TRouter>['$types']['meta'];
21
-
22
- export const procedureTypes = ['query', 'mutation', 'subscription'] as const;
23
- /**
24
- * @public
25
- */
26
- export type ProcedureType = (typeof procedureTypes)[number];
27
-
28
- export type inferHandlerInput<TProcedure extends AnyProcedure> = ProcedureArgs<
29
- inferProcedureParams<TProcedure>
30
- >;
31
-
32
- export type inferProcedureInput<TProcedure extends AnyProcedure> =
33
- inferProcedureParams<TProcedure>['_input_in'];
34
-
35
- export type inferProcedureParams<TProcedure> = TProcedure extends AnyProcedure
36
- ? TProcedure['_def']
37
- : never;
38
- export type inferProcedureOutput<TProcedure> =
39
- inferProcedureParams<TProcedure>['_output_out'];
40
-
41
- type GetInferenceHelpers<
42
- TType extends 'input' | 'output',
43
- TRouter extends AnyRouter,
44
- > = {
45
- [TKey in keyof TRouter['_def']['record']]: TRouter['_def']['record'][TKey] extends infer TRouterOrProcedure
46
- ? TRouterOrProcedure extends AnyRouter
47
- ? GetInferenceHelpers<TType, TRouterOrProcedure>
48
- : TRouterOrProcedure extends AnyProcedure
49
- ? TType extends 'input'
50
- ? inferProcedureInput<TRouterOrProcedure>
51
- : inferTransformedProcedureOutput<
52
- TRouter['_def']['_config'],
53
- TRouterOrProcedure
54
- >
55
- : never
56
- : never;
57
- };
58
-
59
- export type inferRouterInputs<TRouter extends AnyRouter> = GetInferenceHelpers<
60
- 'input',
61
- TRouter
62
- >;
63
-
64
- export type inferRouterOutputs<TRouter extends AnyRouter> = GetInferenceHelpers<
65
- 'output',
66
- TRouter
67
- >;
@@ -1,23 +0,0 @@
1
- /**
2
- * @internal
3
- */
4
- export function isObject(value: unknown): value is Record<string, unknown> {
5
- // check that value is object
6
- return !!value && !Array.isArray(value) && typeof value === 'object';
7
- }
8
-
9
- /**
10
- * @internal
11
- */
12
- export function getMessageFromUnknownError(
13
- err: unknown,
14
- fallback: string,
15
- ): string {
16
- if (typeof err === 'string') {
17
- return err;
18
- }
19
- if (isObject(err) && typeof err.message === 'string') {
20
- return err.message;
21
- }
22
- return fallback;
23
- }
package/src/http/index.ts DELETED
@@ -1,4 +0,0 @@
1
- export * from './getHTTPStatusCode';
2
- export * from './resolveHTTPResponse';
3
- export * from './types';
4
- export * from './batchStreamFormatter';