@trpc/server 11.3.1 → 11.3.2-canary.4

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 (465) hide show
  1. package/adapters/aws-lambda/package.json +1 -0
  2. package/adapters/express/package.json +1 -0
  3. package/adapters/fastify/package.json +1 -0
  4. package/adapters/fetch/package.json +1 -0
  5. package/adapters/next/package.json +1 -0
  6. package/adapters/next-app-dir/package.json +1 -0
  7. package/adapters/node-http/package.json +1 -0
  8. package/adapters/standalone/package.json +1 -0
  9. package/adapters/ws/package.json +1 -0
  10. package/dist/adapters/aws-lambda/index.cjs +255 -0
  11. package/dist/adapters/aws-lambda/index.d.cts +31 -0
  12. package/dist/adapters/aws-lambda/index.d.cts.map +1 -0
  13. package/dist/adapters/aws-lambda/index.d.mts +31 -0
  14. package/dist/adapters/aws-lambda/index.d.mts.map +1 -0
  15. package/dist/adapters/aws-lambda/index.mjs +248 -57
  16. package/dist/adapters/aws-lambda/index.mjs.map +1 -0
  17. package/dist/adapters/express.cjs +34 -0
  18. package/dist/adapters/express.d.cts +15 -0
  19. package/dist/adapters/express.d.cts.map +1 -0
  20. package/dist/adapters/express.d.mts +15 -0
  21. package/dist/adapters/express.d.mts.map +1 -0
  22. package/dist/adapters/express.mjs +30 -32
  23. package/dist/adapters/express.mjs.map +1 -0
  24. package/dist/adapters/fastify/index.cjs +75 -0
  25. package/dist/adapters/fastify/index.d.cts +29 -0
  26. package/dist/adapters/fastify/index.d.cts.map +1 -0
  27. package/dist/adapters/fastify/index.d.mts +29 -0
  28. package/dist/adapters/fastify/index.d.mts.map +1 -0
  29. package/dist/adapters/fastify/index.mjs +75 -2
  30. package/dist/adapters/fastify/index.mjs.map +1 -0
  31. package/dist/adapters/fetch/index.cjs +58 -0
  32. package/dist/adapters/fetch/index.d.cts +30 -0
  33. package/dist/adapters/fetch/index.d.cts.map +1 -0
  34. package/dist/adapters/fetch/index.d.mts +30 -0
  35. package/dist/adapters/fetch/index.d.mts.map +1 -0
  36. package/dist/adapters/fetch/index.mjs +59 -1
  37. package/dist/adapters/fetch/index.mjs.map +1 -0
  38. package/dist/adapters/next-app-dir.cjs +3050 -0
  39. package/dist/adapters/next-app-dir.d.cts +58 -0
  40. package/dist/adapters/next-app-dir.d.cts.map +1 -0
  41. package/dist/adapters/next-app-dir.d.mts +58 -0
  42. package/dist/adapters/next-app-dir.d.mts.map +1 -0
  43. package/dist/adapters/next-app-dir.mjs +3048 -4
  44. package/dist/adapters/next-app-dir.mjs.map +1 -0
  45. package/dist/adapters/next.cjs +41 -0
  46. package/dist/adapters/next.d.cts +19 -0
  47. package/dist/adapters/next.d.cts.map +1 -0
  48. package/dist/adapters/next.d.mts +19 -0
  49. package/dist/adapters/next.d.mts.map +1 -0
  50. package/dist/adapters/next.mjs +37 -44
  51. package/dist/adapters/next.mjs.map +1 -0
  52. package/dist/adapters/node-http/index.cjs +15 -0
  53. package/dist/adapters/node-http/index.d.cts +5 -0
  54. package/dist/adapters/node-http/index.d.mts +5 -0
  55. package/dist/adapters/node-http/index.mjs +12 -2
  56. package/dist/adapters/standalone.cjs +52 -0
  57. package/dist/adapters/standalone.d.cts +33 -0
  58. package/dist/adapters/standalone.d.cts.map +1 -0
  59. package/dist/adapters/standalone.d.mts +33 -0
  60. package/dist/adapters/standalone.d.mts.map +1 -0
  61. package/dist/adapters/standalone.mjs +40 -34
  62. package/dist/adapters/standalone.mjs.map +1 -0
  63. package/dist/adapters/ws.cjs +17 -0
  64. package/dist/adapters/ws.d.cts +61 -0
  65. package/dist/adapters/ws.d.cts.map +1 -0
  66. package/dist/adapters/ws.d.mts +61 -0
  67. package/dist/adapters/ws.d.mts.map +1 -0
  68. package/dist/adapters/ws.mjs +14 -539
  69. package/dist/contentTypeParsers-SN4WL9ze.mjs +13 -0
  70. package/dist/contentTypeParsers-SN4WL9ze.mjs.map +1 -0
  71. package/dist/contentTypeParsers-iAFF_pJG.cjs +18 -0
  72. package/dist/getErrorShape-CsikfkAc.cjs +201 -0
  73. package/dist/getErrorShape-DyYil4aT.mjs +149 -0
  74. package/dist/getErrorShape-DyYil4aT.mjs.map +1 -0
  75. package/dist/http-CWyjOa1l.mjs +0 -0
  76. package/dist/http-DXy3XyhL.cjs +0 -0
  77. package/dist/http.cjs +14 -0
  78. package/dist/http.d.cts +3 -0
  79. package/dist/http.d.mts +3 -0
  80. package/dist/http.mjs +9 -8
  81. package/dist/index.cjs +22 -0
  82. package/dist/index.d-BiUz7kM_.d.cts +65 -0
  83. package/dist/index.d-BiUz7kM_.d.cts.map +1 -0
  84. package/dist/index.d-ChWYhXbd.d.cts +99 -0
  85. package/dist/index.d-ChWYhXbd.d.cts.map +1 -0
  86. package/dist/index.d-CvZXeEyR.d.cts +11 -0
  87. package/dist/index.d-CvZXeEyR.d.cts.map +1 -0
  88. package/dist/index.d-D4qZxQJh.d.mts +65 -0
  89. package/dist/index.d-D4qZxQJh.d.mts.map +1 -0
  90. package/dist/index.d-Ocy_AnXj.d.mts +99 -0
  91. package/dist/index.d-Ocy_AnXj.d.mts.map +1 -0
  92. package/dist/index.d-vq_QHko2.d.mts +11 -0
  93. package/dist/index.d-vq_QHko2.d.mts.map +1 -0
  94. package/dist/index.d.cts +4 -0
  95. package/dist/index.d.mts +4 -0
  96. package/dist/index.mjs +6 -13
  97. package/dist/initTRPC-COaJMShh.mjs +339 -0
  98. package/dist/initTRPC-COaJMShh.mjs.map +1 -0
  99. package/dist/initTRPC-DjEpHmY2.cjs +397 -0
  100. package/dist/node-http-BPR68yI4.cjs +243 -0
  101. package/dist/node-http-BUQnHuGI.mjs +221 -0
  102. package/dist/node-http-BUQnHuGI.mjs.map +1 -0
  103. package/dist/observable/index.cjs +13 -0
  104. package/dist/observable/index.d.cts +2 -0
  105. package/dist/observable/index.d.mts +2 -0
  106. package/dist/observable/index.mjs +4 -3
  107. package/dist/observable-B1orLHHI.mjs +155 -0
  108. package/dist/observable-B1orLHHI.mjs.map +1 -0
  109. package/dist/observable-BwdrSFZU.cjs +178 -0
  110. package/dist/observable-C6qq2Ydk.cjs +180 -0
  111. package/dist/observable-CFXA_tyK.mjs +146 -0
  112. package/dist/observable-CFXA_tyK.mjs.map +1 -0
  113. package/dist/parseTRPCMessage-ByQWigsq.cjs +73 -0
  114. package/dist/parseTRPCMessage-CNyYMSRB.mjs +63 -0
  115. package/dist/parseTRPCMessage-CNyYMSRB.mjs.map +1 -0
  116. package/dist/resolveResponse-B2CuaT_1.cjs +2042 -0
  117. package/dist/resolveResponse-DPbYgJDD.mjs +1912 -0
  118. package/dist/resolveResponse-DPbYgJDD.mjs.map +1 -0
  119. package/dist/rpc.cjs +6 -0
  120. package/dist/rpc.d.cts +3 -0
  121. package/dist/rpc.d.mts +3 -0
  122. package/dist/rpc.mjs +4 -5
  123. package/dist/shared.cjs +5 -0
  124. package/dist/shared.d.cts +4 -0
  125. package/dist/shared.d.mts +4 -0
  126. package/dist/shared.mjs +4 -6
  127. package/dist/tracked-Dl9sBZxY.cjs +483 -0
  128. package/dist/tracked-GEWPoL0C.mjs +383 -0
  129. package/dist/tracked-GEWPoL0C.mjs.map +1 -0
  130. package/dist/unstable-core-do-not-import-D89CaGtL.mjs +29 -0
  131. package/dist/unstable-core-do-not-import-D89CaGtL.mjs.map +1 -0
  132. package/dist/unstable-core-do-not-import-DFQys1IC.cjs +34 -0
  133. package/dist/unstable-core-do-not-import.cjs +83 -0
  134. package/dist/unstable-core-do-not-import.d-CSxj_rbP.d.cts +1974 -0
  135. package/dist/unstable-core-do-not-import.d-CSxj_rbP.d.cts.map +1 -0
  136. package/dist/unstable-core-do-not-import.d-ptrxwuSa.d.mts +1974 -0
  137. package/dist/unstable-core-do-not-import.d-ptrxwuSa.d.mts.map +1 -0
  138. package/dist/unstable-core-do-not-import.d.cts +3 -0
  139. package/dist/unstable-core-do-not-import.d.mts +3 -0
  140. package/dist/unstable-core-do-not-import.mjs +11 -30
  141. package/dist/utils-BHZJcBRv.mjs +137 -0
  142. package/dist/utils-BHZJcBRv.mjs.map +1 -0
  143. package/dist/utils-DVO6HZiR.cjs +220 -0
  144. package/dist/ws-C2nEUNk_.cjs +425 -0
  145. package/dist/ws-eIVIMTrw.mjs +409 -0
  146. package/dist/ws-eIVIMTrw.mjs.map +1 -0
  147. package/http/package.json +1 -0
  148. package/observable/package.json +1 -0
  149. package/package.json +131 -55
  150. package/rpc/package.json +1 -0
  151. package/shared/package.json +1 -0
  152. package/src/@trpc/server/index.ts +24 -0
  153. package/src/unstable-core-do-not-import/http/contentType.ts +5 -4
  154. package/src/unstable-core-do-not-import/initTRPC.ts +79 -4
  155. package/src/unstable-core-do-not-import/router.ts +36 -12
  156. package/src/unstable-core-do-not-import/utils.ts +3 -2
  157. package/unstable-core-do-not-import/package.json +1 -0
  158. package/adapters/aws-lambda/index.d.ts +0 -1
  159. package/adapters/aws-lambda/index.js +0 -1
  160. package/adapters/express/index.d.ts +0 -1
  161. package/adapters/express/index.js +0 -1
  162. package/adapters/fastify/index.d.ts +0 -1
  163. package/adapters/fastify/index.js +0 -1
  164. package/adapters/fetch/index.d.ts +0 -1
  165. package/adapters/fetch/index.js +0 -1
  166. package/adapters/next/index.d.ts +0 -1
  167. package/adapters/next/index.js +0 -1
  168. package/adapters/next-app-dir/index.d.ts +0 -1
  169. package/adapters/next-app-dir/index.js +0 -1
  170. package/adapters/node-http/content-type/form-data/index.d.ts +0 -1
  171. package/adapters/node-http/content-type/form-data/index.js +0 -1
  172. package/adapters/node-http/content-type/json/index.d.ts +0 -1
  173. package/adapters/node-http/content-type/json/index.js +0 -1
  174. package/adapters/node-http/index.d.ts +0 -1
  175. package/adapters/node-http/index.js +0 -1
  176. package/adapters/standalone/index.d.ts +0 -1
  177. package/adapters/standalone/index.js +0 -1
  178. package/adapters/ws/index.d.ts +0 -1
  179. package/adapters/ws/index.js +0 -1
  180. package/dist/@trpc/server/http.d.ts +0 -8
  181. package/dist/@trpc/server/http.d.ts.map +0 -1
  182. package/dist/@trpc/server/index.d.ts +0 -65
  183. package/dist/@trpc/server/index.d.ts.map +0 -1
  184. package/dist/@trpc/server/rpc.d.ts +0 -3
  185. package/dist/@trpc/server/rpc.d.ts.map +0 -1
  186. package/dist/adapters/aws-lambda/getPlanner.d.ts +0 -15
  187. package/dist/adapters/aws-lambda/getPlanner.d.ts.map +0 -1
  188. package/dist/adapters/aws-lambda/getPlanner.js +0 -179
  189. package/dist/adapters/aws-lambda/getPlanner.mjs +0 -177
  190. package/dist/adapters/aws-lambda/index.d.ts +0 -23
  191. package/dist/adapters/aws-lambda/index.d.ts.map +0 -1
  192. package/dist/adapters/aws-lambda/index.js +0 -67
  193. package/dist/adapters/express.d.ts +0 -15
  194. package/dist/adapters/express.d.ts.map +0 -1
  195. package/dist/adapters/express.js +0 -39
  196. package/dist/adapters/fastify/fastifyRequestHandler.d.ts +0 -22
  197. package/dist/adapters/fastify/fastifyRequestHandler.d.ts.map +0 -1
  198. package/dist/adapters/fastify/fastifyRequestHandler.js +0 -49
  199. package/dist/adapters/fastify/fastifyRequestHandler.mjs +0 -47
  200. package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts +0 -21
  201. package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts.map +0 -1
  202. package/dist/adapters/fastify/fastifyTRPCPlugin.js +0 -56
  203. package/dist/adapters/fastify/fastifyTRPCPlugin.mjs +0 -54
  204. package/dist/adapters/fastify/index.d.ts +0 -3
  205. package/dist/adapters/fastify/index.d.ts.map +0 -1
  206. package/dist/adapters/fastify/index.js +0 -9
  207. package/dist/adapters/fetch/fetchRequestHandler.d.ts +0 -13
  208. package/dist/adapters/fetch/fetchRequestHandler.d.ts.map +0 -1
  209. package/dist/adapters/fetch/fetchRequestHandler.js +0 -77
  210. package/dist/adapters/fetch/fetchRequestHandler.mjs +0 -75
  211. package/dist/adapters/fetch/index.d.ts +0 -3
  212. package/dist/adapters/fetch/index.d.ts.map +0 -1
  213. package/dist/adapters/fetch/index.js +0 -7
  214. package/dist/adapters/fetch/types.d.ts +0 -27
  215. package/dist/adapters/fetch/types.d.ts.map +0 -1
  216. package/dist/adapters/next-app-dir/nextAppDirCaller.d.ts +0 -25
  217. package/dist/adapters/next-app-dir/nextAppDirCaller.d.ts.map +0 -1
  218. package/dist/adapters/next-app-dir/nextAppDirCaller.js +0 -94
  219. package/dist/adapters/next-app-dir/nextAppDirCaller.mjs +0 -92
  220. package/dist/adapters/next-app-dir/notFound.d.ts +0 -7
  221. package/dist/adapters/next-app-dir/notFound.d.ts.map +0 -1
  222. package/dist/adapters/next-app-dir/notFound.js +0 -18
  223. package/dist/adapters/next-app-dir/notFound.mjs +0 -16
  224. package/dist/adapters/next-app-dir/redirect.d.ts +0 -18
  225. package/dist/adapters/next-app-dir/redirect.d.ts.map +0 -1
  226. package/dist/adapters/next-app-dir/redirect.js +0 -49
  227. package/dist/adapters/next-app-dir/redirect.mjs +0 -46
  228. package/dist/adapters/next-app-dir/rethrowNextErrors.d.ts +0 -6
  229. package/dist/adapters/next-app-dir/rethrowNextErrors.d.ts.map +0 -1
  230. package/dist/adapters/next-app-dir/rethrowNextErrors.js +0 -70
  231. package/dist/adapters/next-app-dir/rethrowNextErrors.mjs +0 -49
  232. package/dist/adapters/next-app-dir.d.ts +0 -7
  233. package/dist/adapters/next-app-dir.d.ts.map +0 -1
  234. package/dist/adapters/next-app-dir.js +0 -13
  235. package/dist/adapters/next.d.ts +0 -19
  236. package/dist/adapters/next.d.ts.map +0 -1
  237. package/dist/adapters/next.js +0 -51
  238. package/dist/adapters/node-http/incomingMessageToRequest.d.ts +0 -12
  239. package/dist/adapters/node-http/incomingMessageToRequest.d.ts.map +0 -1
  240. package/dist/adapters/node-http/incomingMessageToRequest.js +0 -123
  241. package/dist/adapters/node-http/incomingMessageToRequest.mjs +0 -120
  242. package/dist/adapters/node-http/index.d.ts +0 -4
  243. package/dist/adapters/node-http/index.d.ts.map +0 -1
  244. package/dist/adapters/node-http/index.js +0 -11
  245. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts +0 -20
  246. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +0 -1
  247. package/dist/adapters/node-http/nodeHTTPRequestHandler.js +0 -96
  248. package/dist/adapters/node-http/nodeHTTPRequestHandler.mjs +0 -93
  249. package/dist/adapters/node-http/types.d.ts +0 -81
  250. package/dist/adapters/node-http/types.d.ts.map +0 -1
  251. package/dist/adapters/node-http/writeResponse.d.ts +0 -18
  252. package/dist/adapters/node-http/writeResponse.d.ts.map +0 -1
  253. package/dist/adapters/node-http/writeResponse.js +0 -83
  254. package/dist/adapters/node-http/writeResponse.mjs +0 -80
  255. package/dist/adapters/standalone.d.ts +0 -36
  256. package/dist/adapters/standalone.d.ts.map +0 -1
  257. package/dist/adapters/standalone.js +0 -49
  258. package/dist/adapters/ws.d.ts +0 -54
  259. package/dist/adapters/ws.d.ts.map +0 -1
  260. package/dist/adapters/ws.js +0 -544
  261. package/dist/http.d.ts +0 -2
  262. package/dist/http.d.ts.map +0 -1
  263. package/dist/http.js +0 -19
  264. package/dist/index.d.ts +0 -2
  265. package/dist/index.d.ts.map +0 -1
  266. package/dist/index.js +0 -35
  267. package/dist/node_modules/.pnpm/@rollup_plugin-typescript@12.1.2_rollup@4.34.8_tslib@2.8.1_typescript@5.8.2/node_modules/tslib/tslib.es6.js +0 -73
  268. package/dist/observable/behaviorSubject.d.ts +0 -15
  269. package/dist/observable/behaviorSubject.d.ts.map +0 -1
  270. package/dist/observable/behaviorSubject.js +0 -40
  271. package/dist/observable/behaviorSubject.mjs +0 -38
  272. package/dist/observable/index.d.ts +0 -5
  273. package/dist/observable/index.d.ts.map +0 -1
  274. package/dist/observable/index.js +0 -18
  275. package/dist/observable/observable.d.ts +0 -12
  276. package/dist/observable/observable.d.ts.map +0 -1
  277. package/dist/observable/observable.js +0 -180
  278. package/dist/observable/observable.mjs +0 -175
  279. package/dist/observable/operators.d.ts +0 -10
  280. package/dist/observable/operators.d.ts.map +0 -1
  281. package/dist/observable/operators.js +0 -134
  282. package/dist/observable/operators.mjs +0 -128
  283. package/dist/observable/types.d.ts +0 -26
  284. package/dist/observable/types.d.ts.map +0 -1
  285. package/dist/rpc.d.ts +0 -2
  286. package/dist/rpc.d.ts.map +0 -1
  287. package/dist/rpc.js +0 -13
  288. package/dist/shared.d.ts +0 -26
  289. package/dist/shared.d.ts.map +0 -1
  290. package/dist/shared.js +0 -13
  291. package/dist/unstable-core-do-not-import/clientish/inference.d.ts +0 -17
  292. package/dist/unstable-core-do-not-import/clientish/inference.d.ts.map +0 -1
  293. package/dist/unstable-core-do-not-import/clientish/inferrable.d.ts +0 -36
  294. package/dist/unstable-core-do-not-import/clientish/inferrable.d.ts.map +0 -1
  295. package/dist/unstable-core-do-not-import/clientish/serialize.d.ts +0 -69
  296. package/dist/unstable-core-do-not-import/clientish/serialize.d.ts.map +0 -1
  297. package/dist/unstable-core-do-not-import/createProxy.d.ts +0 -19
  298. package/dist/unstable-core-do-not-import/createProxy.d.ts.map +0 -1
  299. package/dist/unstable-core-do-not-import/createProxy.js +0 -76
  300. package/dist/unstable-core-do-not-import/createProxy.mjs +0 -73
  301. package/dist/unstable-core-do-not-import/error/TRPCError.d.ts +0 -13
  302. package/dist/unstable-core-do-not-import/error/TRPCError.d.ts.map +0 -1
  303. package/dist/unstable-core-do-not-import/error/TRPCError.js +0 -76
  304. package/dist/unstable-core-do-not-import/error/TRPCError.mjs +0 -72
  305. package/dist/unstable-core-do-not-import/error/formatter.d.ts +0 -38
  306. package/dist/unstable-core-do-not-import/error/formatter.d.ts.map +0 -1
  307. package/dist/unstable-core-do-not-import/error/formatter.js +0 -7
  308. package/dist/unstable-core-do-not-import/error/formatter.mjs +0 -5
  309. package/dist/unstable-core-do-not-import/error/getErrorShape.d.ts +0 -15
  310. package/dist/unstable-core-do-not-import/error/getErrorShape.d.ts.map +0 -1
  311. package/dist/unstable-core-do-not-import/error/getErrorShape.js +0 -31
  312. package/dist/unstable-core-do-not-import/error/getErrorShape.mjs +0 -29
  313. package/dist/unstable-core-do-not-import/http/abortError.d.ts +0 -5
  314. package/dist/unstable-core-do-not-import/http/abortError.d.ts.map +0 -1
  315. package/dist/unstable-core-do-not-import/http/abortError.js +0 -13
  316. package/dist/unstable-core-do-not-import/http/abortError.mjs +0 -10
  317. package/dist/unstable-core-do-not-import/http/contentType.d.ts +0 -13
  318. package/dist/unstable-core-do-not-import/http/contentType.d.ts.map +0 -1
  319. package/dist/unstable-core-do-not-import/http/contentType.js +0 -229
  320. package/dist/unstable-core-do-not-import/http/contentType.mjs +0 -227
  321. package/dist/unstable-core-do-not-import/http/contentTypeParsers.d.ts +0 -14
  322. package/dist/unstable-core-do-not-import/http/contentTypeParsers.d.ts.map +0 -1
  323. package/dist/unstable-core-do-not-import/http/contentTypeParsers.js +0 -14
  324. package/dist/unstable-core-do-not-import/http/contentTypeParsers.mjs +0 -12
  325. package/dist/unstable-core-do-not-import/http/formDataToObject.d.ts +0 -2
  326. package/dist/unstable-core-do-not-import/http/formDataToObject.d.ts.map +0 -1
  327. package/dist/unstable-core-do-not-import/http/formDataToObject.js +0 -40
  328. package/dist/unstable-core-do-not-import/http/formDataToObject.mjs +0 -38
  329. package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.d.ts +0 -10
  330. package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.d.ts.map +0 -1
  331. package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.js +0 -85
  332. package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.mjs +0 -78
  333. package/dist/unstable-core-do-not-import/http/parseConnectionParams.d.ts +0 -4
  334. package/dist/unstable-core-do-not-import/http/parseConnectionParams.d.ts.map +0 -1
  335. package/dist/unstable-core-do-not-import/http/parseConnectionParams.js +0 -42
  336. package/dist/unstable-core-do-not-import/http/parseConnectionParams.mjs +0 -39
  337. package/dist/unstable-core-do-not-import/http/resolveResponse.d.ts +0 -15
  338. package/dist/unstable-core-do-not-import/http/resolveResponse.d.ts.map +0 -1
  339. package/dist/unstable-core-do-not-import/http/resolveResponse.js +0 -572
  340. package/dist/unstable-core-do-not-import/http/resolveResponse.mjs +0 -570
  341. package/dist/unstable-core-do-not-import/http/types.d.ts +0 -138
  342. package/dist/unstable-core-do-not-import/http/types.d.ts.map +0 -1
  343. package/dist/unstable-core-do-not-import/initTRPC.d.ts +0 -94
  344. package/dist/unstable-core-do-not-import/initTRPC.d.ts.map +0 -1
  345. package/dist/unstable-core-do-not-import/initTRPC.js +0 -82
  346. package/dist/unstable-core-do-not-import/initTRPC.mjs +0 -80
  347. package/dist/unstable-core-do-not-import/middleware.d.ts +0 -107
  348. package/dist/unstable-core-do-not-import/middleware.d.ts.map +0 -1
  349. package/dist/unstable-core-do-not-import/middleware.js +0 -96
  350. package/dist/unstable-core-do-not-import/middleware.mjs +0 -90
  351. package/dist/unstable-core-do-not-import/parser.d.ts +0 -44
  352. package/dist/unstable-core-do-not-import/parser.d.ts.map +0 -1
  353. package/dist/unstable-core-do-not-import/parser.js +0 -54
  354. package/dist/unstable-core-do-not-import/parser.mjs +0 -52
  355. package/dist/unstable-core-do-not-import/procedure.d.ts +0 -77
  356. package/dist/unstable-core-do-not-import/procedure.d.ts.map +0 -1
  357. package/dist/unstable-core-do-not-import/procedure.js +0 -9
  358. package/dist/unstable-core-do-not-import/procedure.mjs +0 -7
  359. package/dist/unstable-core-do-not-import/procedureBuilder.d.ts +0 -161
  360. package/dist/unstable-core-do-not-import/procedureBuilder.d.ts.map +0 -1
  361. package/dist/unstable-core-do-not-import/procedureBuilder.js +0 -201
  362. package/dist/unstable-core-do-not-import/procedureBuilder.mjs +0 -199
  363. package/dist/unstable-core-do-not-import/rootConfig.d.ts +0 -98
  364. package/dist/unstable-core-do-not-import/rootConfig.d.ts.map +0 -1
  365. package/dist/unstable-core-do-not-import/rootConfig.js +0 -8
  366. package/dist/unstable-core-do-not-import/rootConfig.mjs +0 -6
  367. package/dist/unstable-core-do-not-import/router.d.ts +0 -98
  368. package/dist/unstable-core-do-not-import/router.d.ts.map +0 -1
  369. package/dist/unstable-core-do-not-import/router.js +0 -285
  370. package/dist/unstable-core-do-not-import/router.mjs +0 -278
  371. package/dist/unstable-core-do-not-import/rpc/codes.d.ts +0 -45
  372. package/dist/unstable-core-do-not-import/rpc/codes.d.ts.map +0 -1
  373. package/dist/unstable-core-do-not-import/rpc/codes.js +0 -69
  374. package/dist/unstable-core-do-not-import/rpc/codes.mjs +0 -65
  375. package/dist/unstable-core-do-not-import/rpc/envelopes.d.ts +0 -109
  376. package/dist/unstable-core-do-not-import/rpc/envelopes.d.ts.map +0 -1
  377. package/dist/unstable-core-do-not-import/rpc/index.d.ts +0 -5
  378. package/dist/unstable-core-do-not-import/rpc/index.d.ts.map +0 -1
  379. package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.d.ts +0 -5
  380. package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.d.ts.map +0 -1
  381. package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.js +0 -63
  382. package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.mjs +0 -61
  383. package/dist/unstable-core-do-not-import/stream/jsonl.d.ts +0 -119
  384. package/dist/unstable-core-do-not-import/stream/jsonl.d.ts.map +0 -1
  385. package/dist/unstable-core-do-not-import/stream/jsonl.js +0 -607
  386. package/dist/unstable-core-do-not-import/stream/jsonl.mjs +0 -603
  387. package/dist/unstable-core-do-not-import/stream/sse.d.ts +0 -108
  388. package/dist/unstable-core-do-not-import/stream/sse.d.ts.map +0 -1
  389. package/dist/unstable-core-do-not-import/stream/sse.js +0 -373
  390. package/dist/unstable-core-do-not-import/stream/sse.mjs +0 -369
  391. package/dist/unstable-core-do-not-import/stream/sse.types.d.ts +0 -31
  392. package/dist/unstable-core-do-not-import/stream/sse.types.d.ts.map +0 -1
  393. package/dist/unstable-core-do-not-import/stream/tracked.d.ts +0 -31
  394. package/dist/unstable-core-do-not-import/stream/tracked.d.ts.map +0 -1
  395. package/dist/unstable-core-do-not-import/stream/tracked.js +0 -29
  396. package/dist/unstable-core-do-not-import/stream/tracked.mjs +0 -25
  397. package/dist/unstable-core-do-not-import/stream/utils/asyncIterable.d.ts +0 -17
  398. package/dist/unstable-core-do-not-import/stream/utils/asyncIterable.d.ts.map +0 -1
  399. package/dist/unstable-core-do-not-import/stream/utils/asyncIterable.js +0 -174
  400. package/dist/unstable-core-do-not-import/stream/utils/asyncIterable.mjs +0 -170
  401. package/dist/unstable-core-do-not-import/stream/utils/createDeferred.d.ts +0 -7
  402. package/dist/unstable-core-do-not-import/stream/utils/createDeferred.d.ts.map +0 -1
  403. package/dist/unstable-core-do-not-import/stream/utils/createDeferred.js +0 -17
  404. package/dist/unstable-core-do-not-import/stream/utils/createDeferred.mjs +0 -15
  405. package/dist/unstable-core-do-not-import/stream/utils/disposable.d.ts +0 -17
  406. package/dist/unstable-core-do-not-import/stream/utils/disposable.d.ts.map +0 -1
  407. package/dist/unstable-core-do-not-import/stream/utils/disposable.js +0 -46
  408. package/dist/unstable-core-do-not-import/stream/utils/disposable.mjs +0 -43
  409. package/dist/unstable-core-do-not-import/stream/utils/mergeAsyncIterables.d.ts +0 -17
  410. package/dist/unstable-core-do-not-import/stream/utils/mergeAsyncIterables.d.ts.map +0 -1
  411. package/dist/unstable-core-do-not-import/stream/utils/mergeAsyncIterables.js +0 -241
  412. package/dist/unstable-core-do-not-import/stream/utils/mergeAsyncIterables.mjs +0 -239
  413. package/dist/unstable-core-do-not-import/stream/utils/readableStreamFrom.d.ts +0 -8
  414. package/dist/unstable-core-do-not-import/stream/utils/readableStreamFrom.d.ts.map +0 -1
  415. package/dist/unstable-core-do-not-import/stream/utils/readableStreamFrom.js +0 -25
  416. package/dist/unstable-core-do-not-import/stream/utils/readableStreamFrom.mjs +0 -23
  417. package/dist/unstable-core-do-not-import/stream/utils/timerResource.d.ts +0 -5
  418. package/dist/unstable-core-do-not-import/stream/utils/timerResource.d.ts.map +0 -1
  419. package/dist/unstable-core-do-not-import/stream/utils/timerResource.js +0 -26
  420. package/dist/unstable-core-do-not-import/stream/utils/timerResource.mjs +0 -23
  421. package/dist/unstable-core-do-not-import/stream/utils/withPing.d.ts +0 -7
  422. package/dist/unstable-core-do-not-import/stream/utils/withPing.d.ts.map +0 -1
  423. package/dist/unstable-core-do-not-import/stream/utils/withPing.js +0 -130
  424. package/dist/unstable-core-do-not-import/stream/utils/withPing.mjs +0 -127
  425. package/dist/unstable-core-do-not-import/transformer.d.ts +0 -99
  426. package/dist/unstable-core-do-not-import/transformer.d.ts.map +0 -1
  427. package/dist/unstable-core-do-not-import/transformer.js +0 -106
  428. package/dist/unstable-core-do-not-import/transformer.mjs +0 -101
  429. package/dist/unstable-core-do-not-import/types.d.ts +0 -127
  430. package/dist/unstable-core-do-not-import/types.d.ts.map +0 -1
  431. package/dist/unstable-core-do-not-import/utils.d.ts +0 -42
  432. package/dist/unstable-core-do-not-import/utils.d.ts.map +0 -1
  433. package/dist/unstable-core-do-not-import/utils.js +0 -96
  434. package/dist/unstable-core-do-not-import/utils.mjs +0 -83
  435. package/dist/unstable-core-do-not-import.d.ts +0 -47
  436. package/dist/unstable-core-do-not-import.d.ts.map +0 -1
  437. package/dist/unstable-core-do-not-import.js +0 -109
  438. package/dist/vendor/cookie-es/set-cookie/split.d.ts +0 -18
  439. package/dist/vendor/cookie-es/set-cookie/split.d.ts.map +0 -1
  440. package/dist/vendor/cookie-es/set-cookie/split.js +0 -79
  441. package/dist/vendor/cookie-es/set-cookie/split.mjs +0 -77
  442. package/dist/vendor/standard-schema-v1/error.d.ts +0 -13
  443. package/dist/vendor/standard-schema-v1/error.d.ts.map +0 -1
  444. package/dist/vendor/standard-schema-v1/error.js +0 -28
  445. package/dist/vendor/standard-schema-v1/error.mjs +0 -26
  446. package/dist/vendor/standard-schema-v1/spec.d.ts +0 -60
  447. package/dist/vendor/standard-schema-v1/spec.d.ts.map +0 -1
  448. package/dist/vendor/unpromise/index.d.ts +0 -3
  449. package/dist/vendor/unpromise/index.d.ts.map +0 -1
  450. package/dist/vendor/unpromise/types.d.ts +0 -28
  451. package/dist/vendor/unpromise/types.d.ts.map +0 -1
  452. package/dist/vendor/unpromise/unpromise.d.ts +0 -121
  453. package/dist/vendor/unpromise/unpromise.d.ts.map +0 -1
  454. package/dist/vendor/unpromise/unpromise.js +0 -292
  455. package/dist/vendor/unpromise/unpromise.mjs +0 -289
  456. package/http/index.d.ts +0 -1
  457. package/http/index.js +0 -1
  458. package/observable/index.d.ts +0 -1
  459. package/observable/index.js +0 -1
  460. package/rpc/index.d.ts +0 -1
  461. package/rpc/index.js +0 -1
  462. package/shared/index.d.ts +0 -1
  463. package/shared/index.js +0 -1
  464. package/unstable-core-do-not-import/index.d.ts +0 -1
  465. package/unstable-core-do-not-import/index.js +0 -1
@@ -0,0 +1,243 @@
1
+ const require_resolveResponse = require('./resolveResponse-B2CuaT_1.cjs');
2
+ const require_getErrorShape = require('./getErrorShape-CsikfkAc.cjs');
3
+ const require_tracked = require('./tracked-Dl9sBZxY.cjs');
4
+ const require_utils = require('./utils-DVO6HZiR.cjs');
5
+
6
+ //#region src/adapters/node-http/incomingMessageToRequest.ts
7
+ function createBody(req, opts) {
8
+ if ("body" in req) {
9
+ if (req.body === void 0) return void 0;
10
+ if (typeof req.body === "string") return req.body;
11
+ return JSON.stringify(req.body);
12
+ }
13
+ let size = 0;
14
+ let hasClosed = false;
15
+ return new ReadableStream({
16
+ start(controller) {
17
+ const onData = (chunk) => {
18
+ size += chunk.length;
19
+ if (!opts.maxBodySize || size <= opts.maxBodySize) {
20
+ controller.enqueue(new Uint8Array(chunk.buffer, chunk.byteOffset, chunk.byteLength));
21
+ return;
22
+ }
23
+ controller.error(new require_tracked.TRPCError({ code: "PAYLOAD_TOO_LARGE" }));
24
+ hasClosed = true;
25
+ req.off("data", onData);
26
+ req.off("end", onEnd);
27
+ };
28
+ const onEnd = () => {
29
+ if (hasClosed) return;
30
+ hasClosed = true;
31
+ req.off("data", onData);
32
+ req.off("end", onEnd);
33
+ controller.close();
34
+ };
35
+ req.on("data", onData);
36
+ req.on("end", onEnd);
37
+ },
38
+ cancel() {
39
+ req.destroy();
40
+ }
41
+ });
42
+ }
43
+ function createURL(req) {
44
+ try {
45
+ const protocol = req.headers[":scheme"] && req.headers[":scheme"] === "https" || req.socket && "encrypted" in req.socket && req.socket.encrypted ? "https:" : "http:";
46
+ const host = req.headers.host ?? req.headers[":authority"] ?? "localhost";
47
+ return new URL(req.url, `${protocol}//${host}`);
48
+ } catch (cause) {
49
+ throw new require_tracked.TRPCError({
50
+ code: "BAD_REQUEST",
51
+ message: "Invalid URL",
52
+ cause
53
+ });
54
+ }
55
+ }
56
+ function createHeaders(incoming) {
57
+ const headers = new Headers();
58
+ for (const key in incoming) {
59
+ const value = incoming[key];
60
+ if (typeof key === "string" && key.startsWith(":")) continue;
61
+ if (Array.isArray(value)) for (const item of value) headers.append(key, item);
62
+ else if (value != null) headers.append(key, value);
63
+ }
64
+ return headers;
65
+ }
66
+ /**
67
+ * Convert an [`IncomingMessage`](https://nodejs.org/api/http.html#class-httpincomingmessage) to a [`Request`](https://developer.mozilla.org/en-US/docs/Web/API/Request)
68
+ */
69
+ function incomingMessageToRequest(req, res, opts) {
70
+ const ac = new AbortController();
71
+ const onAbort = () => {
72
+ res.off("close", onAbort);
73
+ req.socket?.off?.("close", onAbort);
74
+ ac.abort();
75
+ };
76
+ res.once("close", onAbort);
77
+ req.socket?.once?.("close", onAbort);
78
+ const url = createURL(req);
79
+ const init = {
80
+ headers: createHeaders(req.headers),
81
+ method: req.method,
82
+ signal: ac.signal
83
+ };
84
+ if (req.method !== "GET" && req.method !== "HEAD") {
85
+ init.body = createBody(req, opts);
86
+ init.duplex = "half";
87
+ }
88
+ const request = new Request(url, init);
89
+ return request;
90
+ }
91
+
92
+ //#endregion
93
+ //#region src/adapters/node-http/writeResponse.ts
94
+ async function writeResponseBodyChunk(res, chunk) {
95
+ if (res.write(chunk) === false) await new Promise((resolve, reject) => {
96
+ const onError = (err) => {
97
+ reject(err);
98
+ cleanup();
99
+ };
100
+ const onDrain = () => {
101
+ resolve();
102
+ cleanup();
103
+ };
104
+ const cleanup = () => {
105
+ res.off("error", onError);
106
+ res.off("drain", onDrain);
107
+ };
108
+ res.once("error", onError);
109
+ res.once("drain", onDrain);
110
+ });
111
+ }
112
+ /**
113
+ * @internal
114
+ */
115
+ async function writeResponseBody(opts) {
116
+ const { res } = opts;
117
+ try {
118
+ const writableStream = new WritableStream({ async write(chunk) {
119
+ await writeResponseBodyChunk(res, chunk);
120
+ res.flush?.();
121
+ } });
122
+ await opts.body.pipeTo(writableStream, { signal: opts.signal });
123
+ } catch (err) {
124
+ if (require_resolveResponse.isAbortError(err)) return;
125
+ throw err;
126
+ }
127
+ }
128
+ /**
129
+ * @internal
130
+ */
131
+ async function writeResponse(opts) {
132
+ const { response, rawResponse } = opts;
133
+ if (rawResponse.statusCode === 200) rawResponse.statusCode = response.status;
134
+ for (const [key, value] of response.headers) rawResponse.setHeader(key, value);
135
+ try {
136
+ if (response.body) await writeResponseBody({
137
+ res: rawResponse,
138
+ signal: opts.request.signal,
139
+ body: response.body
140
+ });
141
+ } catch (err) {
142
+ if (!rawResponse.headersSent) rawResponse.statusCode = 500;
143
+ throw err;
144
+ } finally {
145
+ rawResponse.end();
146
+ }
147
+ }
148
+
149
+ //#endregion
150
+ //#region src/adapters/node-http/nodeHTTPRequestHandler.ts
151
+ /**
152
+ * @internal
153
+ */
154
+ function internal_exceptionHandler(opts) {
155
+ return (cause) => {
156
+ const { res, req } = opts;
157
+ const error = require_tracked.getTRPCErrorFromUnknown(cause);
158
+ const shape = require_getErrorShape.getErrorShape({
159
+ config: opts.router._def._config,
160
+ error,
161
+ type: "unknown",
162
+ path: void 0,
163
+ input: void 0,
164
+ ctx: void 0
165
+ });
166
+ opts.onError?.({
167
+ req,
168
+ error,
169
+ type: "unknown",
170
+ path: void 0,
171
+ input: void 0,
172
+ ctx: void 0
173
+ });
174
+ const transformed = require_tracked.transformTRPCResponse(opts.router._def._config, { error: shape });
175
+ res.statusCode = shape.data.httpStatus;
176
+ res.end(JSON.stringify(transformed));
177
+ };
178
+ }
179
+ /**
180
+ * @remark the promise never rejects
181
+ */
182
+ async function nodeHTTPRequestHandler(opts) {
183
+ return new Promise((resolve) => {
184
+ const handleViaMiddleware = opts.middleware ?? ((_req, _res, next) => next());
185
+ opts.res.once("finish", () => {
186
+ resolve();
187
+ });
188
+ return handleViaMiddleware(opts.req, opts.res, (err) => {
189
+ require_utils.run(async () => {
190
+ const request = incomingMessageToRequest(opts.req, opts.res, { maxBodySize: opts.maxBodySize ?? null });
191
+ const createContext = async (innerOpts) => {
192
+ return await opts.createContext?.({
193
+ ...opts,
194
+ ...innerOpts
195
+ });
196
+ };
197
+ const response = await require_resolveResponse.resolveResponse({
198
+ ...opts,
199
+ req: request,
200
+ error: err ? require_tracked.getTRPCErrorFromUnknown(err) : null,
201
+ createContext,
202
+ onError(o) {
203
+ opts?.onError?.({
204
+ ...o,
205
+ req: opts.req
206
+ });
207
+ }
208
+ });
209
+ await writeResponse({
210
+ request,
211
+ response,
212
+ rawResponse: opts.res
213
+ });
214
+ }).catch(internal_exceptionHandler(opts));
215
+ });
216
+ });
217
+ }
218
+
219
+ //#endregion
220
+ Object.defineProperty(exports, 'createURL', {
221
+ enumerable: true,
222
+ get: function () {
223
+ return createURL;
224
+ }
225
+ });
226
+ Object.defineProperty(exports, 'incomingMessageToRequest', {
227
+ enumerable: true,
228
+ get: function () {
229
+ return incomingMessageToRequest;
230
+ }
231
+ });
232
+ Object.defineProperty(exports, 'internal_exceptionHandler', {
233
+ enumerable: true,
234
+ get: function () {
235
+ return internal_exceptionHandler;
236
+ }
237
+ });
238
+ Object.defineProperty(exports, 'nodeHTTPRequestHandler', {
239
+ enumerable: true,
240
+ get: function () {
241
+ return nodeHTTPRequestHandler;
242
+ }
243
+ });
@@ -0,0 +1,221 @@
1
+ import { isAbortError, resolveResponse } from "./resolveResponse-DPbYgJDD.mjs";
2
+ import { getErrorShape } from "./getErrorShape-DyYil4aT.mjs";
3
+ import { TRPCError, getTRPCErrorFromUnknown, transformTRPCResponse } from "./tracked-GEWPoL0C.mjs";
4
+ import { run } from "./utils-BHZJcBRv.mjs";
5
+
6
+ //#region src/adapters/node-http/incomingMessageToRequest.ts
7
+ function createBody(req, opts) {
8
+ if ("body" in req) {
9
+ if (req.body === void 0) return void 0;
10
+ if (typeof req.body === "string") return req.body;
11
+ return JSON.stringify(req.body);
12
+ }
13
+ let size = 0;
14
+ let hasClosed = false;
15
+ return new ReadableStream({
16
+ start(controller) {
17
+ const onData = (chunk) => {
18
+ size += chunk.length;
19
+ if (!opts.maxBodySize || size <= opts.maxBodySize) {
20
+ controller.enqueue(new Uint8Array(chunk.buffer, chunk.byteOffset, chunk.byteLength));
21
+ return;
22
+ }
23
+ controller.error(new TRPCError({ code: "PAYLOAD_TOO_LARGE" }));
24
+ hasClosed = true;
25
+ req.off("data", onData);
26
+ req.off("end", onEnd);
27
+ };
28
+ const onEnd = () => {
29
+ if (hasClosed) return;
30
+ hasClosed = true;
31
+ req.off("data", onData);
32
+ req.off("end", onEnd);
33
+ controller.close();
34
+ };
35
+ req.on("data", onData);
36
+ req.on("end", onEnd);
37
+ },
38
+ cancel() {
39
+ req.destroy();
40
+ }
41
+ });
42
+ }
43
+ function createURL(req) {
44
+ try {
45
+ const protocol = req.headers[":scheme"] && req.headers[":scheme"] === "https" || req.socket && "encrypted" in req.socket && req.socket.encrypted ? "https:" : "http:";
46
+ const host = req.headers.host ?? req.headers[":authority"] ?? "localhost";
47
+ return new URL(req.url, `${protocol}//${host}`);
48
+ } catch (cause) {
49
+ throw new TRPCError({
50
+ code: "BAD_REQUEST",
51
+ message: "Invalid URL",
52
+ cause
53
+ });
54
+ }
55
+ }
56
+ function createHeaders(incoming) {
57
+ const headers = new Headers();
58
+ for (const key in incoming) {
59
+ const value = incoming[key];
60
+ if (typeof key === "string" && key.startsWith(":")) continue;
61
+ if (Array.isArray(value)) for (const item of value) headers.append(key, item);
62
+ else if (value != null) headers.append(key, value);
63
+ }
64
+ return headers;
65
+ }
66
+ /**
67
+ * Convert an [`IncomingMessage`](https://nodejs.org/api/http.html#class-httpincomingmessage) to a [`Request`](https://developer.mozilla.org/en-US/docs/Web/API/Request)
68
+ */
69
+ function incomingMessageToRequest(req, res, opts) {
70
+ const ac = new AbortController();
71
+ const onAbort = () => {
72
+ res.off("close", onAbort);
73
+ req.socket?.off?.("close", onAbort);
74
+ ac.abort();
75
+ };
76
+ res.once("close", onAbort);
77
+ req.socket?.once?.("close", onAbort);
78
+ const url = createURL(req);
79
+ const init = {
80
+ headers: createHeaders(req.headers),
81
+ method: req.method,
82
+ signal: ac.signal
83
+ };
84
+ if (req.method !== "GET" && req.method !== "HEAD") {
85
+ init.body = createBody(req, opts);
86
+ init.duplex = "half";
87
+ }
88
+ const request = new Request(url, init);
89
+ return request;
90
+ }
91
+
92
+ //#endregion
93
+ //#region src/adapters/node-http/writeResponse.ts
94
+ async function writeResponseBodyChunk(res, chunk) {
95
+ if (res.write(chunk) === false) await new Promise((resolve, reject) => {
96
+ const onError = (err) => {
97
+ reject(err);
98
+ cleanup();
99
+ };
100
+ const onDrain = () => {
101
+ resolve();
102
+ cleanup();
103
+ };
104
+ const cleanup = () => {
105
+ res.off("error", onError);
106
+ res.off("drain", onDrain);
107
+ };
108
+ res.once("error", onError);
109
+ res.once("drain", onDrain);
110
+ });
111
+ }
112
+ /**
113
+ * @internal
114
+ */
115
+ async function writeResponseBody(opts) {
116
+ const { res } = opts;
117
+ try {
118
+ const writableStream = new WritableStream({ async write(chunk) {
119
+ await writeResponseBodyChunk(res, chunk);
120
+ res.flush?.();
121
+ } });
122
+ await opts.body.pipeTo(writableStream, { signal: opts.signal });
123
+ } catch (err) {
124
+ if (isAbortError(err)) return;
125
+ throw err;
126
+ }
127
+ }
128
+ /**
129
+ * @internal
130
+ */
131
+ async function writeResponse(opts) {
132
+ const { response, rawResponse } = opts;
133
+ if (rawResponse.statusCode === 200) rawResponse.statusCode = response.status;
134
+ for (const [key, value] of response.headers) rawResponse.setHeader(key, value);
135
+ try {
136
+ if (response.body) await writeResponseBody({
137
+ res: rawResponse,
138
+ signal: opts.request.signal,
139
+ body: response.body
140
+ });
141
+ } catch (err) {
142
+ if (!rawResponse.headersSent) rawResponse.statusCode = 500;
143
+ throw err;
144
+ } finally {
145
+ rawResponse.end();
146
+ }
147
+ }
148
+
149
+ //#endregion
150
+ //#region src/adapters/node-http/nodeHTTPRequestHandler.ts
151
+ /**
152
+ * @internal
153
+ */
154
+ function internal_exceptionHandler(opts) {
155
+ return (cause) => {
156
+ const { res, req } = opts;
157
+ const error = getTRPCErrorFromUnknown(cause);
158
+ const shape = getErrorShape({
159
+ config: opts.router._def._config,
160
+ error,
161
+ type: "unknown",
162
+ path: void 0,
163
+ input: void 0,
164
+ ctx: void 0
165
+ });
166
+ opts.onError?.({
167
+ req,
168
+ error,
169
+ type: "unknown",
170
+ path: void 0,
171
+ input: void 0,
172
+ ctx: void 0
173
+ });
174
+ const transformed = transformTRPCResponse(opts.router._def._config, { error: shape });
175
+ res.statusCode = shape.data.httpStatus;
176
+ res.end(JSON.stringify(transformed));
177
+ };
178
+ }
179
+ /**
180
+ * @remark the promise never rejects
181
+ */
182
+ async function nodeHTTPRequestHandler(opts) {
183
+ return new Promise((resolve) => {
184
+ const handleViaMiddleware = opts.middleware ?? ((_req, _res, next) => next());
185
+ opts.res.once("finish", () => {
186
+ resolve();
187
+ });
188
+ return handleViaMiddleware(opts.req, opts.res, (err) => {
189
+ run(async () => {
190
+ const request = incomingMessageToRequest(opts.req, opts.res, { maxBodySize: opts.maxBodySize ?? null });
191
+ const createContext = async (innerOpts) => {
192
+ return await opts.createContext?.({
193
+ ...opts,
194
+ ...innerOpts
195
+ });
196
+ };
197
+ const response = await resolveResponse({
198
+ ...opts,
199
+ req: request,
200
+ error: err ? getTRPCErrorFromUnknown(err) : null,
201
+ createContext,
202
+ onError(o) {
203
+ opts?.onError?.({
204
+ ...o,
205
+ req: opts.req
206
+ });
207
+ }
208
+ });
209
+ await writeResponse({
210
+ request,
211
+ response,
212
+ rawResponse: opts.res
213
+ });
214
+ }).catch(internal_exceptionHandler(opts));
215
+ });
216
+ });
217
+ }
218
+
219
+ //#endregion
220
+ export { createURL, incomingMessageToRequest, internal_exceptionHandler, nodeHTTPRequestHandler };
221
+ //# sourceMappingURL=node-http-BUQnHuGI.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-http-BUQnHuGI.mjs","names":["req: NodeHTTPRequest","opts: {\n /**\n * Max body size in bytes. If the body is larger than this, the request will be aborted\n */\n maxBodySize: number | null;\n }","chunk: Buffer","incoming: http.IncomingHttpHeaders","res: NodeHTTPResponse","init: RequestInit","res: NodeHTTPResponse","chunk: Uint8Array","err: unknown","opts: {\n res: NodeHTTPResponse;\n signal: AbortSignal;\n body: NonNullable<Response['body']>;\n}","opts: {\n request: Request;\n response: Response;\n rawResponse: NodeHTTPResponse;\n}","opts: NodeHTTPRequestHandlerOptions<TRouter, TRequest, TResponse>","cause: unknown","err: unknown","createContext: ResolveHTTPRequestOptionsContextFn<\n TRouter\n >"],"sources":["../src/adapters/node-http/incomingMessageToRequest.ts","../src/adapters/node-http/writeResponse.ts","../src/adapters/node-http/nodeHTTPRequestHandler.ts"],"sourcesContent":["import type * as http from 'http';\nimport { TRPCError } from '../../@trpc/server';\nimport type { NodeHTTPRequest, NodeHTTPResponse } from './types';\n\nfunction createBody(\n req: NodeHTTPRequest,\n opts: {\n /**\n * Max body size in bytes. If the body is larger than this, the request will be aborted\n */\n maxBodySize: number | null;\n },\n): RequestInit['body'] {\n // Some adapters will pre-parse the body and add it to the request object\n if ('body' in req) {\n if (req.body === undefined) {\n // If body property exists but is undefined, return undefined\n return undefined;\n }\n // If the body is already a string, return it directly\n if (typeof req.body === 'string') {\n return req.body;\n }\n // If body exists but isn't a string, stringify it as JSON\n return JSON.stringify(req.body);\n }\n let size = 0;\n let hasClosed = false;\n\n return new ReadableStream({\n start(controller) {\n const onData = (chunk: Buffer) => {\n size += chunk.length;\n if (!opts.maxBodySize || size <= opts.maxBodySize) {\n controller.enqueue(\n new Uint8Array(chunk.buffer, chunk.byteOffset, chunk.byteLength),\n );\n return;\n }\n controller.error(\n new TRPCError({\n code: 'PAYLOAD_TOO_LARGE',\n }),\n );\n hasClosed = true;\n req.off('data', onData);\n req.off('end', onEnd);\n };\n\n const onEnd = () => {\n if (hasClosed) {\n return;\n }\n hasClosed = true;\n req.off('data', onData);\n req.off('end', onEnd);\n controller.close();\n };\n\n req.on('data', onData);\n req.on('end', onEnd);\n },\n cancel() {\n req.destroy();\n },\n });\n}\nexport function createURL(req: NodeHTTPRequest): URL {\n try {\n const protocol =\n // http2\n (req.headers[':scheme'] && req.headers[':scheme'] === 'https') ||\n // http1\n (req.socket && 'encrypted' in req.socket && req.socket.encrypted)\n ? 'https:'\n : 'http:';\n\n const host = req.headers.host ?? req.headers[':authority'] ?? 'localhost';\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return new URL(req.url!, `${protocol}//${host}`);\n } catch (cause) {\n throw new TRPCError({\n code: 'BAD_REQUEST',\n message: 'Invalid URL',\n cause,\n });\n }\n}\n\nfunction createHeaders(incoming: http.IncomingHttpHeaders): Headers {\n const headers = new Headers();\n\n for (const key in incoming) {\n const value = incoming[key];\n if (typeof key === 'string' && key.startsWith(':')) {\n // Skip HTTP/2 pseudo-headers\n continue;\n }\n\n if (Array.isArray(value)) {\n for (const item of value) {\n headers.append(key, item);\n }\n } else if (value != null) {\n headers.append(key, value);\n }\n }\n\n return headers;\n}\n\n/**\n * Convert an [`IncomingMessage`](https://nodejs.org/api/http.html#class-httpincomingmessage) to a [`Request`](https://developer.mozilla.org/en-US/docs/Web/API/Request)\n */\nexport function incomingMessageToRequest(\n req: NodeHTTPRequest,\n res: NodeHTTPResponse,\n opts: {\n /**\n * Max body size in bytes. If the body is larger than this, the request will be aborted\n */\n maxBodySize: number | null;\n },\n): Request {\n const ac = new AbortController();\n\n const onAbort = () => {\n res.off('close', onAbort);\n req.socket?.off?.('close', onAbort);\n\n // abort the request\n ac.abort();\n };\n\n res.once('close', onAbort);\n req.socket?.once?.('close', onAbort);\n\n // Get host from either regular header or HTTP/2 pseudo-header\n const url = createURL(req);\n\n const init: RequestInit = {\n headers: createHeaders(req.headers),\n method: req.method,\n signal: ac.signal,\n };\n\n if (req.method !== 'GET' && req.method !== 'HEAD') {\n init.body = createBody(req, opts);\n\n // init.duplex = 'half' must be set when body is a ReadableStream, and Node follows the spec.\n // However, this property is not defined in the TypeScript types for RequestInit, so we have\n // to cast it here in order to set it without a type error.\n // See https://fetch.spec.whatwg.org/#dom-requestinit-duplex\n // @ts-expect-error this is fine\n init.duplex = 'half';\n }\n\n const request = new Request(url, init);\n\n return request;\n}\n","// eslint-disable-next-line no-restricted-imports\nimport { isAbortError } from '../../unstable-core-do-not-import';\nimport type { NodeHTTPResponse } from './types';\n\nasync function writeResponseBodyChunk(\n res: NodeHTTPResponse,\n chunk: Uint8Array,\n) {\n // useful for debugging 🙃\n // console.debug('writing', new TextDecoder().decode(chunk));\n\n if (res.write(chunk) === false) {\n await new Promise<void>((resolve, reject) => {\n const onError = (err: unknown) => {\n reject(err);\n cleanup();\n };\n const onDrain = () => {\n resolve();\n cleanup();\n };\n const cleanup = () => {\n res.off('error', onError);\n res.off('drain', onDrain);\n };\n res.once('error', onError);\n res.once('drain', onDrain);\n });\n }\n}\n/**\n * @internal\n */\n\nexport async function writeResponseBody(opts: {\n res: NodeHTTPResponse;\n signal: AbortSignal;\n body: NonNullable<Response['body']>;\n}) {\n const { res } = opts;\n\n try {\n const writableStream = new WritableStream({\n async write(chunk) {\n await writeResponseBodyChunk(res, chunk);\n res.flush?.();\n },\n });\n\n await opts.body.pipeTo(writableStream, {\n signal: opts.signal,\n });\n } catch (err) {\n if (isAbortError(err)) {\n return;\n }\n throw err;\n }\n}\n/**\n * @internal\n */\n\nexport async function writeResponse(opts: {\n request: Request;\n response: Response;\n rawResponse: NodeHTTPResponse;\n}) {\n const { response, rawResponse } = opts;\n\n // Only override status code if it hasn't been explicitly set in a procedure etc\n if (rawResponse.statusCode === 200) {\n rawResponse.statusCode = response.status;\n }\n for (const [key, value] of response.headers) {\n rawResponse.setHeader(key, value);\n }\n try {\n if (response.body) {\n await writeResponseBody({\n res: rawResponse,\n signal: opts.request.signal,\n body: response.body,\n });\n }\n } catch (err) {\n if (!rawResponse.headersSent) {\n rawResponse.statusCode = 500;\n }\n throw err;\n } finally {\n rawResponse.end();\n }\n}\n","/**\n * If you're making an adapter for tRPC and looking at this file for reference, you should import types and functions from `@trpc/server` and `@trpc/server/http`\n *\n * @example\n * ```ts\n * import type { AnyTRPCRouter } from '@trpc/server'\n * import type { HTTPBaseHandlerOptions } from '@trpc/server/http'\n * ```\n */\n\n// @trpc/server\n\nimport {\n getTRPCErrorFromUnknown,\n transformTRPCResponse,\n type AnyRouter,\n} from '../../@trpc/server';\nimport type { ResolveHTTPRequestOptionsContextFn } from '../../@trpc/server/http';\nimport { resolveResponse } from '../../@trpc/server/http';\n// eslint-disable-next-line no-restricted-imports\nimport { getErrorShape, run } from '../../unstable-core-do-not-import';\nimport { incomingMessageToRequest } from './incomingMessageToRequest';\nimport type {\n NodeHTTPRequest,\n NodeHTTPRequestHandlerOptions,\n NodeHTTPResponse,\n} from './types';\nimport { writeResponse } from './writeResponse';\n\n/**\n * @internal\n */\nexport function internal_exceptionHandler<\n TRouter extends AnyRouter,\n TRequest extends NodeHTTPRequest,\n TResponse extends NodeHTTPResponse,\n>(opts: NodeHTTPRequestHandlerOptions<TRouter, TRequest, TResponse>) {\n return (cause: unknown) => {\n const { res, req } = opts;\n const error = getTRPCErrorFromUnknown(cause);\n\n const shape = getErrorShape({\n config: opts.router._def._config,\n error,\n type: 'unknown',\n path: undefined,\n input: undefined,\n ctx: undefined,\n });\n\n opts.onError?.({\n req,\n error,\n type: 'unknown',\n path: undefined,\n input: undefined,\n ctx: undefined,\n });\n\n const transformed = transformTRPCResponse(opts.router._def._config, {\n error: shape,\n });\n\n res.statusCode = shape.data.httpStatus;\n res.end(JSON.stringify(transformed));\n };\n}\n\n/**\n * @remark the promise never rejects\n */\nexport async function nodeHTTPRequestHandler<\n TRouter extends AnyRouter,\n TRequest extends NodeHTTPRequest,\n TResponse extends NodeHTTPResponse,\n>(opts: NodeHTTPRequestHandlerOptions<TRouter, TRequest, TResponse>) {\n return new Promise<void>((resolve) => {\n const handleViaMiddleware =\n opts.middleware ?? ((_req, _res, next) => next());\n\n opts.res.once('finish', () => {\n resolve();\n });\n return handleViaMiddleware(opts.req, opts.res, (err: unknown) => {\n run(async () => {\n const request = incomingMessageToRequest(opts.req, opts.res, {\n maxBodySize: opts.maxBodySize ?? null,\n });\n\n // Build tRPC dependencies\n const createContext: ResolveHTTPRequestOptionsContextFn<\n TRouter\n > = async (innerOpts) => {\n return await opts.createContext?.({\n ...opts,\n ...innerOpts,\n });\n };\n\n const response = await resolveResponse({\n ...opts,\n req: request,\n error: err ? getTRPCErrorFromUnknown(err) : null,\n createContext,\n onError(o) {\n opts?.onError?.({\n ...o,\n req: opts.req,\n });\n },\n });\n\n await writeResponse({\n request,\n response,\n rawResponse: opts.res,\n });\n }).catch(internal_exceptionHandler(opts));\n });\n });\n}\n"],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ const require_observable = require('../observable-BwdrSFZU.cjs');
2
+ const require_observable$1 = require('../observable-C6qq2Ydk.cjs');
3
+
4
+ exports.behaviorSubject = require_observable$1.behaviorSubject;
5
+ exports.distinctUntilChanged = require_observable$1.distinctUntilChanged;
6
+ exports.distinctUntilDeepChanged = require_observable$1.distinctUntilDeepChanged;
7
+ exports.isObservable = require_observable.isObservable;
8
+ exports.map = require_observable$1.map;
9
+ exports.observable = require_observable.observable;
10
+ exports.observableToAsyncIterable = require_observable.observableToAsyncIterable;
11
+ exports.observableToPromise = require_observable.observableToPromise;
12
+ exports.share = require_observable$1.share;
13
+ exports.tap = require_observable$1.tap;
@@ -0,0 +1,2 @@
1
+ import { BehaviorSubject, Observable, Observer, ReadonlyBehaviorSubject, TeardownLogic, Unsubscribable, UnsubscribeFn, behaviorSubject, distinctUntilChanged, distinctUntilDeepChanged, inferObservableValue, isObservable, map, observable, observableToAsyncIterable, observableToPromise, share, tap } from "../index.d-BiUz7kM_.cjs";
2
+ export { BehaviorSubject, Observable, Observer, ReadonlyBehaviorSubject, TeardownLogic, Unsubscribable, UnsubscribeFn, behaviorSubject, distinctUntilChanged, distinctUntilDeepChanged, inferObservableValue, isObservable, map, observable, observableToAsyncIterable, observableToPromise, share, tap };
@@ -0,0 +1,2 @@
1
+ import { BehaviorSubject, Observable, Observer, ReadonlyBehaviorSubject, TeardownLogic, Unsubscribable, UnsubscribeFn, behaviorSubject, distinctUntilChanged, distinctUntilDeepChanged, inferObservableValue, isObservable, map, observable, observableToAsyncIterable, observableToPromise, share, tap } from "../index.d-D4qZxQJh.mjs";
2
+ export { BehaviorSubject, Observable, Observer, ReadonlyBehaviorSubject, TeardownLogic, Unsubscribable, UnsubscribeFn, behaviorSubject, distinctUntilChanged, distinctUntilDeepChanged, inferObservableValue, isObservable, map, observable, observableToAsyncIterable, observableToPromise, share, tap };
@@ -1,3 +1,4 @@
1
- export { isObservable, observable, observableToAsyncIterable, observableToPromise } from './observable.mjs';
2
- export { distinctUntilChanged, distinctUntilDeepChanged, map, share, tap } from './operators.mjs';
3
- export { behaviorSubject } from './behaviorSubject.mjs';
1
+ import { isObservable, observable, observableToAsyncIterable, observableToPromise } from "../observable-B1orLHHI.mjs";
2
+ import { behaviorSubject, distinctUntilChanged, distinctUntilDeepChanged, map, share, tap } from "../observable-CFXA_tyK.mjs";
3
+
4
+ export { behaviorSubject, distinctUntilChanged, distinctUntilDeepChanged, isObservable, map, observable, observableToAsyncIterable, observableToPromise, share, tap };
@@ -0,0 +1,155 @@
1
+ //#region src/observable/observable.ts
2
+ /** @public */
3
+ function isObservable(x) {
4
+ return typeof x === "object" && x !== null && "subscribe" in x;
5
+ }
6
+ /** @public */
7
+ function observable(subscribe) {
8
+ const self = {
9
+ subscribe(observer) {
10
+ let teardownRef = null;
11
+ let isDone = false;
12
+ let unsubscribed = false;
13
+ let teardownImmediately = false;
14
+ function unsubscribe() {
15
+ if (teardownRef === null) {
16
+ teardownImmediately = true;
17
+ return;
18
+ }
19
+ if (unsubscribed) return;
20
+ unsubscribed = true;
21
+ if (typeof teardownRef === "function") teardownRef();
22
+ else if (teardownRef) teardownRef.unsubscribe();
23
+ }
24
+ teardownRef = subscribe({
25
+ next(value) {
26
+ if (isDone) return;
27
+ observer.next?.(value);
28
+ },
29
+ error(err) {
30
+ if (isDone) return;
31
+ isDone = true;
32
+ observer.error?.(err);
33
+ unsubscribe();
34
+ },
35
+ complete() {
36
+ if (isDone) return;
37
+ isDone = true;
38
+ observer.complete?.();
39
+ unsubscribe();
40
+ }
41
+ });
42
+ if (teardownImmediately) unsubscribe();
43
+ return { unsubscribe };
44
+ },
45
+ pipe(...operations) {
46
+ return operations.reduce(pipeReducer, self);
47
+ }
48
+ };
49
+ return self;
50
+ }
51
+ function pipeReducer(prev, fn) {
52
+ return fn(prev);
53
+ }
54
+ /** @internal */
55
+ function observableToPromise(observable$1) {
56
+ const ac = new AbortController();
57
+ const promise = new Promise((resolve, reject) => {
58
+ let isDone = false;
59
+ function onDone() {
60
+ if (isDone) return;
61
+ isDone = true;
62
+ obs$.unsubscribe();
63
+ }
64
+ ac.signal.addEventListener("abort", () => {
65
+ reject(ac.signal.reason);
66
+ });
67
+ const obs$ = observable$1.subscribe({
68
+ next(data) {
69
+ isDone = true;
70
+ resolve(data);
71
+ onDone();
72
+ },
73
+ error(data) {
74
+ reject(data);
75
+ },
76
+ complete() {
77
+ ac.abort();
78
+ onDone();
79
+ }
80
+ });
81
+ });
82
+ return promise;
83
+ }
84
+ /**
85
+ * @internal
86
+ */
87
+ function observableToReadableStream(observable$1, signal) {
88
+ let unsub = null;
89
+ const onAbort = () => {
90
+ unsub?.unsubscribe();
91
+ unsub = null;
92
+ signal.removeEventListener("abort", onAbort);
93
+ };
94
+ return new ReadableStream({
95
+ start(controller) {
96
+ unsub = observable$1.subscribe({
97
+ next(data) {
98
+ controller.enqueue({
99
+ ok: true,
100
+ value: data
101
+ });
102
+ },
103
+ error(error) {
104
+ controller.enqueue({
105
+ ok: false,
106
+ error
107
+ });
108
+ controller.close();
109
+ },
110
+ complete() {
111
+ controller.close();
112
+ }
113
+ });
114
+ if (signal.aborted) onAbort();
115
+ else signal.addEventListener("abort", onAbort, { once: true });
116
+ },
117
+ cancel() {
118
+ onAbort();
119
+ }
120
+ });
121
+ }
122
+ /** @internal */
123
+ function observableToAsyncIterable(observable$1, signal) {
124
+ const stream = observableToReadableStream(observable$1, signal);
125
+ const reader = stream.getReader();
126
+ const iterator = {
127
+ async next() {
128
+ const value = await reader.read();
129
+ if (value.done) return {
130
+ value: void 0,
131
+ done: true
132
+ };
133
+ const { value: result } = value;
134
+ if (!result.ok) throw result.error;
135
+ return {
136
+ value: result.value,
137
+ done: false
138
+ };
139
+ },
140
+ async return() {
141
+ await reader.cancel();
142
+ return {
143
+ value: void 0,
144
+ done: true
145
+ };
146
+ }
147
+ };
148
+ return { [Symbol.asyncIterator]() {
149
+ return iterator;
150
+ } };
151
+ }
152
+
153
+ //#endregion
154
+ export { isObservable, observable, observableToAsyncIterable, observableToPromise };
155
+ //# sourceMappingURL=observable-B1orLHHI.mjs.map