@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
@@ -0,0 +1,59 @@
1
+ 'use strict';
2
+
3
+ var procedure = require('../procedure.js');
4
+ var utils = require('../utils.js');
5
+
6
+ /* istanbul ignore next -- @preserve */ function assertIsObject(obj) {
7
+ if (!utils.isObject(obj)) {
8
+ throw new Error('Not an object');
9
+ }
10
+ }
11
+ /* istanbul ignore next -- @preserve */ function assertIsProcedureType(obj) {
12
+ if (!procedure.procedureTypes.includes(obj)) {
13
+ throw new Error('Invalid procedure type');
14
+ }
15
+ }
16
+ /* istanbul ignore next -- @preserve */ function assertIsRequestId(obj) {
17
+ if (obj !== null && typeof obj === 'number' && isNaN(obj) && typeof obj !== 'string') {
18
+ throw new Error('Invalid request id');
19
+ }
20
+ }
21
+ /* istanbul ignore next -- @preserve */ function assertIsString(obj) {
22
+ if (typeof obj !== 'string') {
23
+ throw new Error('Invalid string');
24
+ }
25
+ }
26
+ /* istanbul ignore next -- @preserve */ function assertIsJSONRPC2OrUndefined(obj) {
27
+ if (typeof obj !== 'undefined' && obj !== '2.0') {
28
+ throw new Error('Must be JSONRPC 2.0');
29
+ }
30
+ }
31
+ /** @public */ function parseTRPCMessage(obj, transformer) {
32
+ assertIsObject(obj);
33
+ const { id , jsonrpc , method , params } = obj;
34
+ assertIsRequestId(id);
35
+ assertIsJSONRPC2OrUndefined(jsonrpc);
36
+ if (method === 'subscription.stop') {
37
+ return {
38
+ id,
39
+ jsonrpc,
40
+ method
41
+ };
42
+ }
43
+ assertIsProcedureType(method);
44
+ assertIsObject(params);
45
+ const { input: rawInput , path } = params;
46
+ assertIsString(path);
47
+ const input = transformer.input.deserialize(rawInput);
48
+ return {
49
+ id,
50
+ jsonrpc,
51
+ method,
52
+ params: {
53
+ input,
54
+ path
55
+ }
56
+ };
57
+ }
58
+
59
+ exports.parseTRPCMessage = parseTRPCMessage;
@@ -0,0 +1,57 @@
1
+ import { procedureTypes } from '../procedure.mjs';
2
+ import { isObject } from '../utils.mjs';
3
+
4
+ /* istanbul ignore next -- @preserve */ function assertIsObject(obj) {
5
+ if (!isObject(obj)) {
6
+ throw new Error('Not an object');
7
+ }
8
+ }
9
+ /* istanbul ignore next -- @preserve */ function assertIsProcedureType(obj) {
10
+ if (!procedureTypes.includes(obj)) {
11
+ throw new Error('Invalid procedure type');
12
+ }
13
+ }
14
+ /* istanbul ignore next -- @preserve */ function assertIsRequestId(obj) {
15
+ if (obj !== null && typeof obj === 'number' && isNaN(obj) && typeof obj !== 'string') {
16
+ throw new Error('Invalid request id');
17
+ }
18
+ }
19
+ /* istanbul ignore next -- @preserve */ function assertIsString(obj) {
20
+ if (typeof obj !== 'string') {
21
+ throw new Error('Invalid string');
22
+ }
23
+ }
24
+ /* istanbul ignore next -- @preserve */ function assertIsJSONRPC2OrUndefined(obj) {
25
+ if (typeof obj !== 'undefined' && obj !== '2.0') {
26
+ throw new Error('Must be JSONRPC 2.0');
27
+ }
28
+ }
29
+ /** @public */ function parseTRPCMessage(obj, transformer) {
30
+ assertIsObject(obj);
31
+ const { id , jsonrpc , method , params } = obj;
32
+ assertIsRequestId(id);
33
+ assertIsJSONRPC2OrUndefined(jsonrpc);
34
+ if (method === 'subscription.stop') {
35
+ return {
36
+ id,
37
+ jsonrpc,
38
+ method
39
+ };
40
+ }
41
+ assertIsProcedureType(method);
42
+ assertIsObject(params);
43
+ const { input: rawInput , path } = params;
44
+ assertIsString(path);
45
+ const input = transformer.input.deserialize(rawInput);
46
+ return {
47
+ id,
48
+ jsonrpc,
49
+ method,
50
+ params: {
51
+ input,
52
+ path
53
+ }
54
+ };
55
+ }
56
+
57
+ export { parseTRPCMessage };
@@ -0,0 +1,101 @@
1
+ import type { AnyRootTypes, RootConfig } from './rootConfig';
2
+ import type { AnyRouter, inferRouterError } from './router';
3
+ import type { TRPCResponse, TRPCResponseMessage, TRPCResultMessage } from './rpc';
4
+ /**
5
+ * @public
6
+ */
7
+ export interface DataTransformer {
8
+ serialize: (object: any) => any;
9
+ deserialize: (object: any) => any;
10
+ }
11
+ interface InputDataTransformer extends DataTransformer {
12
+ /**
13
+ * This function runs **on the client** before sending the data to the server.
14
+ */
15
+ serialize: (object: any) => any;
16
+ /**
17
+ * This function runs **on the server** to transform the data before it is passed to the resolver
18
+ */
19
+ deserialize: (object: any) => any;
20
+ }
21
+ interface OutputDataTransformer extends DataTransformer {
22
+ /**
23
+ * This function runs **on the server** before sending the data to the client.
24
+ */
25
+ serialize: (object: any) => any;
26
+ /**
27
+ * This function runs **only on the client** to transform the data sent from the server.
28
+ */
29
+ deserialize: (object: any) => any;
30
+ }
31
+ /**
32
+ * @public
33
+ */
34
+ export interface CombinedDataTransformer {
35
+ /**
36
+ * Specify how the data sent from the client to the server should be transformed.
37
+ */
38
+ input: InputDataTransformer;
39
+ /**
40
+ * Specify how the data sent from the server to the client should be transformed.
41
+ */
42
+ output: OutputDataTransformer;
43
+ }
44
+ /**
45
+ * @public
46
+ */
47
+ export type CombinedDataTransformerClient = {
48
+ input: Pick<CombinedDataTransformer['input'], 'serialize'>;
49
+ output: Pick<CombinedDataTransformer['output'], 'deserialize'>;
50
+ };
51
+ /**
52
+ * @public
53
+ */
54
+ export type DataTransformerOptions = CombinedDataTransformer | DataTransformer;
55
+ /**
56
+ * @internal
57
+ */
58
+ export declare function getDataTransformer(transformer: DataTransformerOptions): CombinedDataTransformer;
59
+ /**
60
+ * @internal
61
+ */
62
+ export declare const defaultTransformer: CombinedDataTransformer;
63
+ /**
64
+ * Takes a unserialized `TRPCResponse` and serializes it with the router's transformers
65
+ **/
66
+ export declare function transformTRPCResponse<TResponse extends TRPCResponse | TRPCResponse[] | TRPCResponseMessage | TRPCResponseMessage[]>(config: RootConfig<AnyRootTypes>, itemOrItems: TResponse): import("./rpc").TRPCErrorResponse<import("./rpc").TRPCErrorShape<object>> | import("./rpc").TRPCSuccessResponse<unknown> | ({
67
+ id: import("./rpc").JSONRPC2.RequestId;
68
+ } & TRPCResultMessage<unknown>) | (TRPCResponse | TRPCResponseMessage)[];
69
+ /** @internal */
70
+ declare function transformResultInner<TRouter extends AnyRouter, TOutput>(response: TRPCResponse<TOutput, inferRouterError<TRouter>> | TRPCResponseMessage<TOutput, inferRouterError<TRouter>>, transformer: DataTransformer): {
71
+ readonly ok: false;
72
+ readonly error: {
73
+ readonly error: inferRouterError<TRouter>;
74
+ readonly id?: import("./rpc").JSONRPC2.RequestId | undefined;
75
+ readonly jsonrpc?: "2.0" | undefined;
76
+ } | {
77
+ readonly error: inferRouterError<TRouter>;
78
+ readonly id: string | number | null;
79
+ readonly jsonrpc?: "2.0" | undefined;
80
+ };
81
+ readonly result?: undefined;
82
+ } | {
83
+ readonly ok: true;
84
+ readonly result: {
85
+ type: "started";
86
+ data?: undefined;
87
+ } | {
88
+ type: "stopped";
89
+ data?: undefined;
90
+ } | (import("./rpc").TRPCResult<TOutput> & {
91
+ type: "data";
92
+ });
93
+ readonly error?: undefined;
94
+ };
95
+ /**
96
+ * Transforms and validates that the result is a valid TRPCResponse
97
+ * @internal
98
+ */
99
+ export declare function transformResult<TRouter extends AnyRouter, TOutput>(response: TRPCResponse<TOutput, inferRouterError<TRouter>> | TRPCResponseMessage<TOutput, inferRouterError<TRouter>>, transformer: DataTransformer): ReturnType<typeof transformResultInner>;
100
+ export {};
101
+ //# sourceMappingURL=transformer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformer.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/transformer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EAClB,MAAM,OAAO,CAAC;AAGf;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;IAChC,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;CACnC;AAED,UAAU,oBAAqB,SAAQ,eAAe;IACpD;;OAEG;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;IAChC;;OAEG;IACH,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;CACnC;AAED,UAAU,qBAAsB,SAAQ,eAAe;IACrD;;OAEG;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;IAChC;;OAEG;IACH,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,KAAK,EAAE,oBAAoB,CAAC;IAC5B;;OAEG;IACH,MAAM,EAAE,qBAAqB,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,MAAM,6BAA6B,GAAG;IAC1C,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC;IAC3D,MAAM,EAAE,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC;CAChE,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,uBAAuB,GAAG,eAAe,CAAC;AAE/E;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,sBAAsB,GAClC,uBAAuB,CAKzB;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,uBAGhC,CAAC;AAyBF;;IAEI;AACJ,wBAAgB,qBAAqB,CACnC,SAAS,SACL,YAAY,GACZ,YAAY,EAAE,GACd,mBAAmB,GACnB,mBAAmB,EAAE,EACzB,MAAM,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,SAAS;;yEAIzD;AAKD,gBAAgB;AAChB,iBAAS,oBAAoB,CAAC,OAAO,SAAS,SAAS,EAAE,OAAO,EAC9D,QAAQ,EACJ,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAChD,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAC3D,WAAW,EAAE,eAAe;;;;;;;;;;;;;;;;;;;;;;;;EAuB7B;AAQD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,SAAS,SAAS,EAAE,OAAO,EAChE,QAAQ,EACJ,YAAY,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAChD,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAC3D,WAAW,EAAE,eAAe,GAC3B,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAqBzC"}
@@ -0,0 +1,106 @@
1
+ 'use strict';
2
+
3
+ var utils = require('./utils.js');
4
+
5
+ /**
6
+ * @internal
7
+ */ function getDataTransformer(transformer) {
8
+ if ('input' in transformer) {
9
+ return transformer;
10
+ }
11
+ return {
12
+ input: transformer,
13
+ output: transformer
14
+ };
15
+ }
16
+ /**
17
+ * @internal
18
+ */ const defaultTransformer = {
19
+ input: {
20
+ serialize: (obj)=>obj,
21
+ deserialize: (obj)=>obj
22
+ },
23
+ output: {
24
+ serialize: (obj)=>obj,
25
+ deserialize: (obj)=>obj
26
+ }
27
+ };
28
+ function transformTRPCResponseItem(config, item) {
29
+ if ('error' in item) {
30
+ return {
31
+ ...item,
32
+ error: config.transformer.output.serialize(item.error)
33
+ };
34
+ }
35
+ if ('data' in item.result) {
36
+ return {
37
+ ...item,
38
+ result: {
39
+ ...item.result,
40
+ data: config.transformer.output.serialize(item.result.data)
41
+ }
42
+ };
43
+ }
44
+ return item;
45
+ }
46
+ /**
47
+ * Takes a unserialized `TRPCResponse` and serializes it with the router's transformers
48
+ **/ function transformTRPCResponse(config, itemOrItems) {
49
+ return Array.isArray(itemOrItems) ? itemOrItems.map((item)=>transformTRPCResponseItem(config, item)) : transformTRPCResponseItem(config, itemOrItems);
50
+ }
51
+ // FIXME:
52
+ // - the generics here are probably unnecessary
53
+ // - the RPC-spec could probably be simplified to combine HTTP + WS
54
+ /** @internal */ function transformResultInner(response, transformer) {
55
+ if ('error' in response) {
56
+ const error = transformer.deserialize(response.error);
57
+ return {
58
+ ok: false,
59
+ error: {
60
+ ...response,
61
+ error
62
+ }
63
+ };
64
+ }
65
+ const result = {
66
+ ...response.result,
67
+ ...(!response.result.type || response.result.type === 'data') && {
68
+ type: 'data',
69
+ data: transformer.deserialize(response.result.data)
70
+ }
71
+ };
72
+ return {
73
+ ok: true,
74
+ result
75
+ };
76
+ }
77
+ class TransformResultError extends Error {
78
+ constructor(){
79
+ super('Unable to transform response from server');
80
+ }
81
+ }
82
+ /**
83
+ * Transforms and validates that the result is a valid TRPCResponse
84
+ * @internal
85
+ */ function transformResult(response, transformer) {
86
+ let result;
87
+ try {
88
+ // Use the data transformers on the JSON-response
89
+ result = transformResultInner(response, transformer);
90
+ } catch (err) {
91
+ throw new TransformResultError();
92
+ }
93
+ // check that output of the transformers is a valid TRPCResponse
94
+ if (!result.ok && (!utils.isObject(result.error.error) || typeof result.error.error['code'] !== 'number')) {
95
+ throw new TransformResultError();
96
+ }
97
+ if (result.ok && !utils.isObject(result.result)) {
98
+ throw new TransformResultError();
99
+ }
100
+ return result;
101
+ }
102
+
103
+ exports.defaultTransformer = defaultTransformer;
104
+ exports.getDataTransformer = getDataTransformer;
105
+ exports.transformResult = transformResult;
106
+ exports.transformTRPCResponse = transformTRPCResponse;
@@ -0,0 +1,101 @@
1
+ import { isObject } from './utils.mjs';
2
+
3
+ /**
4
+ * @internal
5
+ */ function getDataTransformer(transformer) {
6
+ if ('input' in transformer) {
7
+ return transformer;
8
+ }
9
+ return {
10
+ input: transformer,
11
+ output: transformer
12
+ };
13
+ }
14
+ /**
15
+ * @internal
16
+ */ const defaultTransformer = {
17
+ input: {
18
+ serialize: (obj)=>obj,
19
+ deserialize: (obj)=>obj
20
+ },
21
+ output: {
22
+ serialize: (obj)=>obj,
23
+ deserialize: (obj)=>obj
24
+ }
25
+ };
26
+ function transformTRPCResponseItem(config, item) {
27
+ if ('error' in item) {
28
+ return {
29
+ ...item,
30
+ error: config.transformer.output.serialize(item.error)
31
+ };
32
+ }
33
+ if ('data' in item.result) {
34
+ return {
35
+ ...item,
36
+ result: {
37
+ ...item.result,
38
+ data: config.transformer.output.serialize(item.result.data)
39
+ }
40
+ };
41
+ }
42
+ return item;
43
+ }
44
+ /**
45
+ * Takes a unserialized `TRPCResponse` and serializes it with the router's transformers
46
+ **/ function transformTRPCResponse(config, itemOrItems) {
47
+ return Array.isArray(itemOrItems) ? itemOrItems.map((item)=>transformTRPCResponseItem(config, item)) : transformTRPCResponseItem(config, itemOrItems);
48
+ }
49
+ // FIXME:
50
+ // - the generics here are probably unnecessary
51
+ // - the RPC-spec could probably be simplified to combine HTTP + WS
52
+ /** @internal */ function transformResultInner(response, transformer) {
53
+ if ('error' in response) {
54
+ const error = transformer.deserialize(response.error);
55
+ return {
56
+ ok: false,
57
+ error: {
58
+ ...response,
59
+ error
60
+ }
61
+ };
62
+ }
63
+ const result = {
64
+ ...response.result,
65
+ ...(!response.result.type || response.result.type === 'data') && {
66
+ type: 'data',
67
+ data: transformer.deserialize(response.result.data)
68
+ }
69
+ };
70
+ return {
71
+ ok: true,
72
+ result
73
+ };
74
+ }
75
+ class TransformResultError extends Error {
76
+ constructor(){
77
+ super('Unable to transform response from server');
78
+ }
79
+ }
80
+ /**
81
+ * Transforms and validates that the result is a valid TRPCResponse
82
+ * @internal
83
+ */ function transformResult(response, transformer) {
84
+ let result;
85
+ try {
86
+ // Use the data transformers on the JSON-response
87
+ result = transformResultInner(response, transformer);
88
+ } catch (err) {
89
+ throw new TransformResultError();
90
+ }
91
+ // check that output of the transformers is a valid TRPCResponse
92
+ if (!result.ok && (!isObject(result.error.error) || typeof result.error.error['code'] !== 'number')) {
93
+ throw new TransformResultError();
94
+ }
95
+ if (result.ok && !isObject(result.result)) {
96
+ throw new TransformResultError();
97
+ }
98
+ return result;
99
+ }
100
+
101
+ export { defaultTransformer, getDataTransformer, transformResult, transformTRPCResponse };
@@ -0,0 +1,103 @@
1
+ /**
2
+ * ================================
3
+ * Useful utility types that doesn't have anything to do with tRPC in particular
4
+ * ================================
5
+ */
6
+ /**
7
+ * @public
8
+ */
9
+ export type Maybe<TType> = TType | null | undefined;
10
+ /**
11
+ * @internal
12
+ * @link https://github.com/ianstormtaylor/superstruct/blob/7973400cd04d8ad92bbdc2b6f35acbfb3c934079/src/utils.ts#L323-L325
13
+ */
14
+ export type Simplify<TType> = TType extends any[] | Date ? TType : {
15
+ [K in keyof TType]: TType[K];
16
+ };
17
+ /**
18
+ * @public
19
+ */
20
+ export type Dict<TType> = Record<string, TType | undefined>;
21
+ /**
22
+ * @public
23
+ */
24
+ export type MaybePromise<TType> = Promise<TType> | TType;
25
+ export type FilterKeys<TObj extends object, TFilter> = {
26
+ [TKey in keyof TObj]: TObj[TKey] extends TFilter ? TKey : never;
27
+ }[keyof TObj];
28
+ /**
29
+ * @internal
30
+ */
31
+ export type Filter<TObj extends object, TFilter> = Pick<TObj, FilterKeys<TObj, TFilter>>;
32
+ /**
33
+ * Unwrap return type if the type is a function (sync or async), else use the type as is
34
+ * @internal
35
+ */
36
+ export type Unwrap<TType> = TType extends (...args: any[]) => infer R ? Awaited<R> : TType;
37
+ /**
38
+ * Makes the object recursively optional
39
+ * @internal
40
+ */
41
+ export type DeepPartial<TObject> = TObject extends object ? {
42
+ [P in keyof TObject]?: DeepPartial<TObject[P]>;
43
+ } : TObject;
44
+ /**
45
+ * Omits the key without removing a potential union
46
+ * @internal
47
+ */
48
+ export type DistributiveOmit<TObj, TKey extends keyof any> = TObj extends any ? Omit<TObj, TKey> : never;
49
+ /**
50
+ * See https://github.com/microsoft/TypeScript/issues/41966#issuecomment-758187996
51
+ * Fixes issues with iterating over keys of objects with index signatures.
52
+ * Without this, iterations over keys of objects with index signatures will lose
53
+ * type information about the keys and only the index signature will remain.
54
+ * @internal
55
+ */
56
+ export type WithoutIndexSignature<TObj> = {
57
+ [K in keyof TObj as string extends K ? never : number extends K ? never : K]: TObj[K];
58
+ };
59
+ /**
60
+ * @internal
61
+ * Overwrite properties in `TType` with properties in `TWith`
62
+ * Only overwrites properties when the type to be overwritten
63
+ * is an object. Otherwise it will just use the type from `TWith`.
64
+ */
65
+ export type Overwrite<TType, TWith> = TWith extends any ? TType extends object ? {
66
+ [K in keyof WithoutIndexSignature<TType> | keyof WithoutIndexSignature<TWith>]: K extends keyof TWith ? TWith[K] : K extends keyof TType ? TType[K] : never;
67
+ } & (string extends keyof TWith ? {
68
+ [key: string]: TWith[string];
69
+ } : number extends keyof TWith ? {
70
+ [key: number]: TWith[number];
71
+ } : {}) : TWith : never;
72
+ /**
73
+ * @internal
74
+ */
75
+ export type ValidateShape<TActualShape, TExpectedShape> = TActualShape extends TExpectedShape ? Exclude<keyof TActualShape, keyof TExpectedShape> extends never ? TActualShape : TExpectedShape : never;
76
+ /**
77
+ * @internal
78
+ */
79
+ export type PickFirstDefined<TType, TPick> = undefined extends TType ? undefined extends TPick ? never : TPick : TType;
80
+ /**
81
+ * ================================
82
+ * tRPC specific types
83
+ * ================================
84
+ */
85
+ /**
86
+ * @internal
87
+ */
88
+ export type IntersectionError<TKey extends string> = `The property '${TKey}' in your router collides with a built-in method, rename this router or procedure on your backend.`;
89
+ /**
90
+ * @internal
91
+ */
92
+ export type ProtectedIntersection<TType, TWith> = keyof TType & keyof TWith extends never ? TType & TWith : IntersectionError<string & keyof TType & keyof TWith>;
93
+ /**
94
+ * @internal
95
+ * Returns the raw input type of a procedure
96
+ */
97
+ export type GetRawInputFn = () => Promise<unknown>;
98
+ export declare const ERROR_SYMBOL: unique symbol;
99
+ export type TypeError<TMessage extends string> = TMessage & {
100
+ _: typeof ERROR_SYMBOL;
101
+ };
102
+ export type ValueOf<TObj> = TObj[keyof TObj];
103
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * ================================
5
+ * Useful utility types that doesn't have anything to do with tRPC in particular
6
+ * ================================
7
+ */ /**
8
+ * @public
9
+ */ const ERROR_SYMBOL = Symbol('TypeError');
10
+
11
+ exports.ERROR_SYMBOL = ERROR_SYMBOL;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * ================================
3
+ * Useful utility types that doesn't have anything to do with tRPC in particular
4
+ * ================================
5
+ */ /**
6
+ * @public
7
+ */ const ERROR_SYMBOL = Symbol('TypeError');
8
+
9
+ export { ERROR_SYMBOL };
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Ensures there are no duplicate keys when building a procedure.
3
+ * @internal
4
+ */
5
+ export declare function mergeWithoutOverrides<TType extends Record<string, unknown>>(obj1: TType, ...objs: Partial<TType>[]): TType;
6
+ /**
7
+ * Check that value is object
8
+ * @internal
9
+ */
10
+ export declare function isObject(value: unknown): value is Record<string, unknown>;
11
+ type AnyFn = (...args: any[]) => unknown;
12
+ export declare function isFunction(fn: unknown): fn is AnyFn;
13
+ /**
14
+ * Create an object without inheriting anything from `Object.prototype`
15
+ * @internal
16
+ */
17
+ export declare function omitPrototype<TObj extends Record<string, unknown>>(obj: TObj): TObj;
18
+ /**
19
+ * Prevents access to `$types` at runtime
20
+ * @internal
21
+ */
22
+ export declare const $typesProxy: any;
23
+ export {};
24
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/unstable-core-do-not-import/utils.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACzE,IAAI,EAAE,KAAK,EACX,GAAG,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,GACxB,KAAK,CAYP;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED,KAAK,KAAK,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC;AACzC,wBAAgB,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,EAAE,IAAI,KAAK,CAEnD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChE,GAAG,EAAE,IAAI,GACR,IAAI,CAEN;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,KAItB,CAAC"}
@@ -0,0 +1,46 @@
1
+ 'use strict';
2
+
3
+ var createProxy = require('./createProxy.js');
4
+
5
+ /**
6
+ * Ensures there are no duplicate keys when building a procedure.
7
+ * @internal
8
+ */ function mergeWithoutOverrides(obj1, ...objs) {
9
+ const newObj = Object.assign(Object.create(null), obj1);
10
+ for (const overrides of objs){
11
+ for(const key in overrides){
12
+ if (key in newObj && newObj[key] !== overrides[key]) {
13
+ throw new Error(`Duplicate key ${key}`);
14
+ }
15
+ newObj[key] = overrides[key];
16
+ }
17
+ }
18
+ return newObj;
19
+ }
20
+ /**
21
+ * Check that value is object
22
+ * @internal
23
+ */ function isObject(value) {
24
+ return !!value && !Array.isArray(value) && typeof value === 'object';
25
+ }
26
+ function isFunction(fn) {
27
+ return typeof fn === 'function';
28
+ }
29
+ /**
30
+ * Create an object without inheriting anything from `Object.prototype`
31
+ * @internal
32
+ */ function omitPrototype(obj) {
33
+ return Object.assign(Object.create(null), obj);
34
+ }
35
+ /**
36
+ * Prevents access to `$types` at runtime
37
+ * @internal
38
+ */ const $typesProxy = createProxy.createFlatProxy((key)=>{
39
+ throw new Error(`Tried to access "$types.${key}" which is not available at runtime`);
40
+ });
41
+
42
+ exports.$typesProxy = $typesProxy;
43
+ exports.isFunction = isFunction;
44
+ exports.isObject = isObject;
45
+ exports.mergeWithoutOverrides = mergeWithoutOverrides;
46
+ exports.omitPrototype = omitPrototype;
@@ -0,0 +1,40 @@
1
+ import { createFlatProxy } from './createProxy.mjs';
2
+
3
+ /**
4
+ * Ensures there are no duplicate keys when building a procedure.
5
+ * @internal
6
+ */ function mergeWithoutOverrides(obj1, ...objs) {
7
+ const newObj = Object.assign(Object.create(null), obj1);
8
+ for (const overrides of objs){
9
+ for(const key in overrides){
10
+ if (key in newObj && newObj[key] !== overrides[key]) {
11
+ throw new Error(`Duplicate key ${key}`);
12
+ }
13
+ newObj[key] = overrides[key];
14
+ }
15
+ }
16
+ return newObj;
17
+ }
18
+ /**
19
+ * Check that value is object
20
+ * @internal
21
+ */ function isObject(value) {
22
+ return !!value && !Array.isArray(value) && typeof value === 'object';
23
+ }
24
+ function isFunction(fn) {
25
+ return typeof fn === 'function';
26
+ }
27
+ /**
28
+ * Create an object without inheriting anything from `Object.prototype`
29
+ * @internal
30
+ */ function omitPrototype(obj) {
31
+ return Object.assign(Object.create(null), obj);
32
+ }
33
+ /**
34
+ * Prevents access to `$types` at runtime
35
+ * @internal
36
+ */ const $typesProxy = createFlatProxy((key)=>{
37
+ throw new Error(`Tried to access "$types.${key}" which is not available at runtime`);
38
+ });
39
+
40
+ export { $typesProxy, isFunction, isObject, mergeWithoutOverrides, omitPrototype };