@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,3 +0,0 @@
1
- import { MonoTypeOperatorFunction, Observer } from '../types';
2
- export declare function tap<TValue, TError>(observer: Partial<Observer<TValue, TError>>): MonoTypeOperatorFunction<TValue, TError>;
3
- //# sourceMappingURL=tap.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tap.d.ts","sourceRoot":"","sources":["../../../src/observable/operators/tap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAE9D,wBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAC1C,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,CAqB1C"}
@@ -1,83 +0,0 @@
1
- function identity(x) {
2
- return x;
3
- }
4
-
5
- /** @internal */
6
- function pipeFromArray(fns) {
7
- if (fns.length === 0) {
8
- return identity;
9
- }
10
- if (fns.length === 1) {
11
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
12
- return fns[0];
13
- }
14
- return function piped(input) {
15
- return fns.reduce((prev, fn) => fn(prev), input);
16
- };
17
- }
18
-
19
- function isObservable(x) {
20
- return typeof x === 'object' && x !== null && 'subscribe' in x;
21
- }
22
- function observable(subscribe) {
23
- const self = {
24
- subscribe(observer) {
25
- let teardownRef = null;
26
- let isDone = false;
27
- let unsubscribed = false;
28
- let teardownImmediately = false;
29
- function unsubscribe() {
30
- if (teardownRef === null) {
31
- teardownImmediately = true;
32
- return;
33
- }
34
- if (unsubscribed) {
35
- return;
36
- }
37
- unsubscribed = true;
38
- if (typeof teardownRef === 'function') {
39
- teardownRef();
40
- }
41
- else if (teardownRef) {
42
- teardownRef.unsubscribe();
43
- }
44
- }
45
- teardownRef = subscribe({
46
- next(value) {
47
- if (isDone) {
48
- return;
49
- }
50
- observer.next?.(value);
51
- },
52
- error(err) {
53
- if (isDone) {
54
- return;
55
- }
56
- isDone = true;
57
- observer.error?.(err);
58
- unsubscribe();
59
- },
60
- complete() {
61
- if (isDone) {
62
- return;
63
- }
64
- isDone = true;
65
- observer.complete?.();
66
- unsubscribe();
67
- },
68
- });
69
- if (teardownImmediately) {
70
- unsubscribe();
71
- }
72
- return {
73
- unsubscribe,
74
- };
75
- },
76
- pipe(...operations) {
77
- return pipeFromArray(operations)(self);
78
- },
79
- };
80
- return self;
81
- }
82
-
83
- export { isObservable as i, observable as o };
@@ -1,267 +0,0 @@
1
- import { b as callProcedure } from './router-a1635eab.js';
2
- import { T as TRPCError, g as getTRPCErrorFromUnknown } from './TRPCError-efecb077.js';
3
- import './config-5de7eae5.js';
4
- import { t as transformTRPCResponse, g as getErrorShape } from './transformTRPCResponse-20ce3b68.js';
5
- import { g as getJsonContentTypeInputs } from './contentType-9940f5d7.js';
6
- import { b as getHTTPStatusCode } from './index-46cb3130.js';
7
-
8
- const HTTP_METHOD_PROCEDURE_TYPE_MAP = {
9
- GET: 'query',
10
- POST: 'mutation',
11
- };
12
- const fallbackContentTypeHandler = {
13
- getInputs: getJsonContentTypeInputs,
14
- };
15
- function initResponse(initOpts) {
16
- const { ctx, paths, type, responseMeta, untransformedJSON, errors = [], } = initOpts;
17
- let status = untransformedJSON ? getHTTPStatusCode(untransformedJSON) : 200;
18
- const headers = {
19
- 'Content-Type': 'application/json',
20
- };
21
- const eagerGeneration = !untransformedJSON;
22
- const data = eagerGeneration
23
- ? []
24
- : Array.isArray(untransformedJSON)
25
- ? untransformedJSON
26
- : [untransformedJSON];
27
- const meta = responseMeta?.({
28
- ctx,
29
- paths,
30
- type,
31
- data,
32
- errors,
33
- eagerGeneration,
34
- }) ?? {};
35
- for (const [key, value] of Object.entries(meta.headers ?? {})) {
36
- headers[key] = value;
37
- }
38
- if (meta.status) {
39
- status = meta.status;
40
- }
41
- return {
42
- status,
43
- headers,
44
- };
45
- }
46
- async function inputToProcedureCall(procedureOpts) {
47
- const { opts, ctx, type, input, path } = procedureOpts;
48
- try {
49
- const data = await callProcedure({
50
- procedures: opts.router._def.procedures,
51
- path,
52
- getRawInput: async () => input,
53
- ctx,
54
- type,
55
- });
56
- return {
57
- result: {
58
- data,
59
- },
60
- };
61
- }
62
- catch (cause) {
63
- const error = getTRPCErrorFromUnknown(cause);
64
- opts.onError?.({ error, path, input, ctx, type: type, req: opts.req });
65
- return {
66
- error: getErrorShape({
67
- config: opts.router._def._config,
68
- error,
69
- type,
70
- path,
71
- input,
72
- ctx,
73
- }),
74
- };
75
- }
76
- }
77
- function caughtErrorToData(cause, errorOpts) {
78
- const { router, req, onError } = errorOpts.opts;
79
- const error = getTRPCErrorFromUnknown(cause);
80
- onError?.({
81
- error,
82
- path: errorOpts.path,
83
- input: errorOpts.input,
84
- ctx: errorOpts.ctx,
85
- type: errorOpts.type,
86
- req,
87
- });
88
- const untransformedJSON = {
89
- error: getErrorShape({
90
- config: router._def._config,
91
- error,
92
- type: errorOpts.type,
93
- path: errorOpts.path,
94
- input: errorOpts.input,
95
- ctx: errorOpts.ctx,
96
- }),
97
- };
98
- const transformedJSON = transformTRPCResponse(router._def._config, untransformedJSON);
99
- const body = JSON.stringify(transformedJSON);
100
- return {
101
- error,
102
- untransformedJSON,
103
- body,
104
- };
105
- }
106
- // implementation
107
- async function resolveHTTPResponse(opts) {
108
- const { router, req, unstable_onHead, unstable_onChunk } = opts;
109
- if (req.method === 'HEAD') {
110
- // can be used for lambda warmup
111
- const headResponse = {
112
- status: 204,
113
- };
114
- unstable_onHead?.(headResponse, false);
115
- unstable_onChunk?.([-1, '']);
116
- return headResponse;
117
- }
118
- const contentTypeHandler = opts.contentTypeHandler ?? fallbackContentTypeHandler;
119
- const batchingEnabled = opts.batching?.enabled ?? true;
120
- const type = HTTP_METHOD_PROCEDURE_TYPE_MAP[req.method] ?? 'unknown';
121
- let ctx = undefined;
122
- let paths;
123
- const isBatchCall = !!req.query.get('batch');
124
- const isStreamCall = isBatchCall &&
125
- unstable_onHead &&
126
- unstable_onChunk &&
127
- req.headers['trpc-batch-mode'] === 'stream';
128
- try {
129
- if (opts.error) {
130
- throw opts.error;
131
- }
132
- if (isBatchCall && !batchingEnabled) {
133
- throw new Error(`Batching is not enabled on the server`);
134
- }
135
- /* istanbul ignore if -- @preserve */
136
- if (type === 'subscription') {
137
- throw new TRPCError({
138
- message: 'Subscriptions should use wsLink',
139
- code: 'METHOD_NOT_SUPPORTED',
140
- });
141
- }
142
- if (type === 'unknown') {
143
- throw new TRPCError({
144
- message: `Unexpected request method ${req.method}`,
145
- code: 'METHOD_NOT_SUPPORTED',
146
- });
147
- }
148
- const inputs = await contentTypeHandler.getInputs({
149
- isBatchCall,
150
- req,
151
- router,
152
- preprocessedBody: opts.preprocessedBody ?? false,
153
- });
154
- paths = isBatchCall
155
- ? decodeURIComponent(opts.path).split(',')
156
- : [opts.path];
157
- const info = {
158
- isBatchCall,
159
- calls: paths.map((path, idx) => ({
160
- path,
161
- type,
162
- input: inputs[idx] ?? undefined,
163
- })),
164
- };
165
- ctx = await opts.createContext({ info });
166
- const promises = paths.map((path, index) => inputToProcedureCall({ opts, ctx, type, input: inputs[index], path }));
167
- if (!isStreamCall) {
168
- /**
169
- * Non-streaming response:
170
- * - await all responses in parallel, blocking on the slowest one
171
- * - create headers with known response body
172
- * - return a complete HTTPResponse
173
- */
174
- const untransformedJSON = await Promise.all(promises);
175
- const errors = untransformedJSON.flatMap((response) => 'error' in response ? [response.error] : []);
176
- const headResponse = initResponse({
177
- ctx,
178
- paths,
179
- type,
180
- responseMeta: opts.responseMeta,
181
- untransformedJSON,
182
- errors,
183
- });
184
- unstable_onHead?.(headResponse, false);
185
- // return body stuff
186
- const result = isBatchCall ? untransformedJSON : untransformedJSON[0]; // eslint-disable-line @typescript-eslint/no-non-null-assertion -- `untransformedJSON` should be the length of `paths` which should be at least 1 otherwise there wouldn't be a request at all
187
- const transformedJSON = transformTRPCResponse(router._def._config, result);
188
- const body = JSON.stringify(transformedJSON);
189
- unstable_onChunk?.([-1, body]);
190
- return {
191
- status: headResponse.status,
192
- headers: headResponse.headers,
193
- body,
194
- };
195
- }
196
- /**
197
- * Streaming response:
198
- * - block on none, call `onChunk` as soon as each response is ready
199
- * - create headers with minimal data (cannot know the response body in advance)
200
- * - return void
201
- */
202
- const headResponse = initResponse({
203
- ctx,
204
- paths,
205
- type,
206
- responseMeta: opts.responseMeta,
207
- });
208
- unstable_onHead(headResponse, true);
209
- const indexedPromises = new Map(promises.map((promise, index) => [
210
- index,
211
- promise.then((r) => [index, r]),
212
- ]));
213
- for (const _ of paths) {
214
- const [index, untransformedJSON] = await Promise.race(indexedPromises.values());
215
- indexedPromises.delete(index);
216
- try {
217
- const transformedJSON = transformTRPCResponse(router._def._config, untransformedJSON);
218
- const body = JSON.stringify(transformedJSON);
219
- unstable_onChunk([index, body]);
220
- }
221
- catch (cause) {
222
- const path = paths[index];
223
- const input = inputs[index];
224
- const { body } = caughtErrorToData(cause, {
225
- opts,
226
- ctx,
227
- type,
228
- path,
229
- input,
230
- });
231
- unstable_onChunk([index, body]);
232
- }
233
- }
234
- return;
235
- }
236
- catch (cause) {
237
- // we get here if
238
- // - batching is called when it's not enabled
239
- // - `createContext()` throws
240
- // - `router._def._config.transformer.output.serialize()` throws
241
- // - post body is too large
242
- // - input deserialization fails
243
- // - `errorFormatter` return value is malformed
244
- const { error, untransformedJSON, body } = caughtErrorToData(cause, {
245
- opts,
246
- ctx,
247
- type,
248
- });
249
- const headResponse = initResponse({
250
- ctx,
251
- paths,
252
- type,
253
- responseMeta: opts.responseMeta,
254
- untransformedJSON,
255
- errors: [error],
256
- });
257
- unstable_onHead?.(headResponse, false);
258
- unstable_onChunk?.([-1, body]);
259
- return {
260
- status: headResponse.status,
261
- headers: headResponse.headers,
262
- body,
263
- };
264
- }
265
- }
266
-
267
- export { resolveHTTPResponse as r };
@@ -1,159 +0,0 @@
1
- 'use strict';
2
-
3
- var TRPCError = require('./TRPCError-ae7b67e8.js');
4
- var index = require('./index-784ff647.js');
5
- var codes = require('./codes-87f6824b.js');
6
-
7
- /**
8
- * @public
9
- */ /**
10
- * @internal
11
- */ function getDataTransformer(transformer) {
12
- if ('input' in transformer) {
13
- return transformer;
14
- }
15
- return {
16
- input: transformer,
17
- output: transformer
18
- };
19
- }
20
- /**
21
- * @internal
22
- */ const defaultTransformer = {
23
- _default: true,
24
- input: {
25
- serialize: (obj)=>obj,
26
- deserialize: (obj)=>obj
27
- },
28
- output: {
29
- serialize: (obj)=>obj,
30
- deserialize: (obj)=>obj
31
- }
32
- };
33
-
34
- const defaultFormatter = ({ shape })=>{
35
- return shape;
36
- };
37
-
38
- /**
39
- * Create an object without inheriting anything from `Object.prototype`
40
- * @internal
41
- */ function omitPrototype(obj) {
42
- return Object.assign(Object.create(null), obj);
43
- }
44
-
45
- function isRouter(procedureOrRouter) {
46
- return 'router' in procedureOrRouter._def;
47
- }
48
- const emptyRouter = {
49
- _ctx: null,
50
- _errorShape: null,
51
- _meta: null,
52
- queries: {},
53
- mutations: {},
54
- subscriptions: {},
55
- errorFormatter: defaultFormatter,
56
- transformer: defaultTransformer
57
- };
58
- /**
59
- * Reserved words that can't be used as router or procedure names
60
- */ const reservedWords = [
61
- /**
62
- * Then is a reserved word because otherwise we can't return a promise that returns a Proxy
63
- * since JS will think that `.then` is something that exists
64
- */ 'then'
65
- ];
66
- /**
67
- * @internal
68
- */ function createRouterFactory(config) {
69
- return function createRouterInner(procedures) {
70
- const reservedWordsUsed = new Set(Object.keys(procedures).filter((v)=>reservedWords.includes(v)));
71
- if (reservedWordsUsed.size > 0) {
72
- throw new Error('Reserved words used in `router({})` call: ' + Array.from(reservedWordsUsed).join(', '));
73
- }
74
- const routerProcedures = omitPrototype({});
75
- function recursiveGetPaths(procedures, path = '') {
76
- for (const [key, procedureOrRouter] of Object.entries(procedures ?? {})){
77
- const newPath = `${path}${key}`;
78
- if (isRouter(procedureOrRouter)) {
79
- recursiveGetPaths(procedureOrRouter._def.procedures, `${newPath}.`);
80
- continue;
81
- }
82
- if (routerProcedures[newPath]) {
83
- throw new Error(`Duplicate key: ${newPath}`);
84
- }
85
- routerProcedures[newPath] = procedureOrRouter;
86
- }
87
- }
88
- recursiveGetPaths(procedures);
89
- const _def = {
90
- _config: config,
91
- router: true,
92
- procedures: routerProcedures,
93
- ...emptyRouter,
94
- record: procedures
95
- };
96
- const router = {
97
- ...procedures,
98
- _def,
99
- createCaller (ctx) {
100
- const proxy = index.createRecursiveProxy(({ path , args })=>{
101
- const fullPath = path.join('.');
102
- const procedure = _def.procedures[fullPath];
103
- return procedure({
104
- path: fullPath,
105
- getRawInput: async ()=>args[0],
106
- ctx,
107
- type: procedure._def.type
108
- });
109
- });
110
- return proxy;
111
- },
112
- getErrorShape (opts) {
113
- const { path , error } = opts;
114
- const { code } = opts.error;
115
- const shape = {
116
- message: error.message,
117
- code: codes.TRPC_ERROR_CODES_BY_KEY[code],
118
- data: {
119
- code,
120
- httpStatus: index.getHTTPStatusCodeFromError(error)
121
- }
122
- };
123
- if (config.isDev && typeof opts.error.stack === 'string') {
124
- shape.data.stack = opts.error.stack;
125
- }
126
- if (typeof path === 'string') {
127
- shape.data.path = path;
128
- }
129
- return this._def._config.errorFormatter({
130
- ...opts,
131
- shape
132
- });
133
- }
134
- };
135
- return router;
136
- };
137
- }
138
- function isProcedure(procedureOrRouter) {
139
- return !!procedureOrRouter._def.procedure;
140
- }
141
- /**
142
- * @internal
143
- */ function callProcedure(opts) {
144
- const { type , path } = opts;
145
- const proc = opts.procedures[path];
146
- if (!proc || !isProcedure(proc) || proc._def.type !== type) {
147
- throw new TRPCError.TRPCError({
148
- code: 'NOT_FOUND',
149
- message: `No "${type}"-procedure on path "${path}"`
150
- });
151
- }
152
- return proc(opts);
153
- }
154
-
155
- exports.callProcedure = callProcedure;
156
- exports.createRouterFactory = createRouterFactory;
157
- exports.defaultFormatter = defaultFormatter;
158
- exports.defaultTransformer = defaultTransformer;
159
- exports.getDataTransformer = getDataTransformer;
@@ -1,153 +0,0 @@
1
- import { T as TRPCError } from './TRPCError-816ff32e.mjs';
2
- import { a as createRecursiveProxy, g as getHTTPStatusCodeFromError } from './index-f91d720c.mjs';
3
- import { T as TRPC_ERROR_CODES_BY_KEY } from './codes-c924c3db.mjs';
4
-
5
- /**
6
- * @public
7
- */ /**
8
- * @internal
9
- */ function getDataTransformer(transformer) {
10
- if ('input' in transformer) {
11
- return transformer;
12
- }
13
- return {
14
- input: transformer,
15
- output: transformer
16
- };
17
- }
18
- /**
19
- * @internal
20
- */ const defaultTransformer = {
21
- _default: true,
22
- input: {
23
- serialize: (obj)=>obj,
24
- deserialize: (obj)=>obj
25
- },
26
- output: {
27
- serialize: (obj)=>obj,
28
- deserialize: (obj)=>obj
29
- }
30
- };
31
-
32
- const defaultFormatter = ({ shape })=>{
33
- return shape;
34
- };
35
-
36
- /**
37
- * Create an object without inheriting anything from `Object.prototype`
38
- * @internal
39
- */ function omitPrototype(obj) {
40
- return Object.assign(Object.create(null), obj);
41
- }
42
-
43
- function isRouter(procedureOrRouter) {
44
- return 'router' in procedureOrRouter._def;
45
- }
46
- const emptyRouter = {
47
- _ctx: null,
48
- _errorShape: null,
49
- _meta: null,
50
- queries: {},
51
- mutations: {},
52
- subscriptions: {},
53
- errorFormatter: defaultFormatter,
54
- transformer: defaultTransformer
55
- };
56
- /**
57
- * Reserved words that can't be used as router or procedure names
58
- */ const reservedWords = [
59
- /**
60
- * Then is a reserved word because otherwise we can't return a promise that returns a Proxy
61
- * since JS will think that `.then` is something that exists
62
- */ 'then'
63
- ];
64
- /**
65
- * @internal
66
- */ function createRouterFactory(config) {
67
- return function createRouterInner(procedures) {
68
- const reservedWordsUsed = new Set(Object.keys(procedures).filter((v)=>reservedWords.includes(v)));
69
- if (reservedWordsUsed.size > 0) {
70
- throw new Error('Reserved words used in `router({})` call: ' + Array.from(reservedWordsUsed).join(', '));
71
- }
72
- const routerProcedures = omitPrototype({});
73
- function recursiveGetPaths(procedures, path = '') {
74
- for (const [key, procedureOrRouter] of Object.entries(procedures ?? {})){
75
- const newPath = `${path}${key}`;
76
- if (isRouter(procedureOrRouter)) {
77
- recursiveGetPaths(procedureOrRouter._def.procedures, `${newPath}.`);
78
- continue;
79
- }
80
- if (routerProcedures[newPath]) {
81
- throw new Error(`Duplicate key: ${newPath}`);
82
- }
83
- routerProcedures[newPath] = procedureOrRouter;
84
- }
85
- }
86
- recursiveGetPaths(procedures);
87
- const _def = {
88
- _config: config,
89
- router: true,
90
- procedures: routerProcedures,
91
- ...emptyRouter,
92
- record: procedures
93
- };
94
- const router = {
95
- ...procedures,
96
- _def,
97
- createCaller (ctx) {
98
- const proxy = createRecursiveProxy(({ path , args })=>{
99
- const fullPath = path.join('.');
100
- const procedure = _def.procedures[fullPath];
101
- return procedure({
102
- path: fullPath,
103
- getRawInput: async ()=>args[0],
104
- ctx,
105
- type: procedure._def.type
106
- });
107
- });
108
- return proxy;
109
- },
110
- getErrorShape (opts) {
111
- const { path , error } = opts;
112
- const { code } = opts.error;
113
- const shape = {
114
- message: error.message,
115
- code: TRPC_ERROR_CODES_BY_KEY[code],
116
- data: {
117
- code,
118
- httpStatus: getHTTPStatusCodeFromError(error)
119
- }
120
- };
121
- if (config.isDev && typeof opts.error.stack === 'string') {
122
- shape.data.stack = opts.error.stack;
123
- }
124
- if (typeof path === 'string') {
125
- shape.data.path = path;
126
- }
127
- return this._def._config.errorFormatter({
128
- ...opts,
129
- shape
130
- });
131
- }
132
- };
133
- return router;
134
- };
135
- }
136
- function isProcedure(procedureOrRouter) {
137
- return !!procedureOrRouter._def.procedure;
138
- }
139
- /**
140
- * @internal
141
- */ function callProcedure(opts) {
142
- const { type , path } = opts;
143
- const proc = opts.procedures[path];
144
- if (!proc || !isProcedure(proc) || proc._def.type !== type) {
145
- throw new TRPCError({
146
- code: 'NOT_FOUND',
147
- message: `No "${type}"-procedure on path "${path}"`
148
- });
149
- }
150
- return proc(opts);
151
- }
152
-
153
- export { defaultTransformer as a, callProcedure as b, createRouterFactory as c, defaultFormatter as d, getDataTransformer as g };