@trpc/server 11.3.1 → 11.3.2-canary.2

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,409 @@
1
+ import { Unpromise, __toESM, iteratorResource, parseConnectionParamsFromUnknown, require_usingCtx } from "./resolveResponse-DPbYgJDD.mjs";
2
+ import { getErrorShape } from "./getErrorShape-DyYil4aT.mjs";
3
+ import { TRPCError, callProcedure, getTRPCErrorFromUnknown, isTrackedEnvelope, transformTRPCResponse } from "./tracked-GEWPoL0C.mjs";
4
+ import { isAsyncIterable, isObject, run } from "./utils-BHZJcBRv.mjs";
5
+ import { parseTRPCMessage } from "./parseTRPCMessage-CNyYMSRB.mjs";
6
+ import { isObservable, observableToAsyncIterable } from "./observable-B1orLHHI.mjs";
7
+ import { createURL } from "./node-http-BUQnHuGI.mjs";
8
+
9
+ //#region src/adapters/ws.ts
10
+ var import_usingCtx = __toESM(require_usingCtx(), 1);
11
+ /**
12
+ * Importing ws causes a build error
13
+ * @see https://github.com/trpc/trpc/pull/5279
14
+ */
15
+ const WEBSOCKET_OPEN = 1;
16
+ function getWSConnectionHandler(opts) {
17
+ const { createContext, router } = opts;
18
+ const { transformer } = router._def._config;
19
+ return (client, req) => {
20
+ const clientSubscriptions = /* @__PURE__ */ new Map();
21
+ const abortController = new AbortController();
22
+ if (opts.keepAlive?.enabled) {
23
+ const { pingMs, pongWaitMs } = opts.keepAlive;
24
+ handleKeepAlive(client, pingMs, pongWaitMs);
25
+ }
26
+ function respond(untransformedJSON) {
27
+ client.send(JSON.stringify(transformTRPCResponse(router._def._config, untransformedJSON)));
28
+ }
29
+ async function createCtxPromise(getConnectionParams) {
30
+ try {
31
+ return await run(async () => {
32
+ ctx = await createContext?.({
33
+ req,
34
+ res: client,
35
+ info: {
36
+ connectionParams: getConnectionParams(),
37
+ calls: [],
38
+ isBatchCall: false,
39
+ accept: null,
40
+ type: "unknown",
41
+ signal: abortController.signal,
42
+ url: null
43
+ }
44
+ });
45
+ return {
46
+ ok: true,
47
+ value: ctx
48
+ };
49
+ });
50
+ } catch (cause) {
51
+ const error = getTRPCErrorFromUnknown(cause);
52
+ opts.onError?.({
53
+ error,
54
+ path: void 0,
55
+ type: "unknown",
56
+ ctx,
57
+ req,
58
+ input: void 0
59
+ });
60
+ respond({
61
+ id: null,
62
+ error: getErrorShape({
63
+ config: router._def._config,
64
+ error,
65
+ type: "unknown",
66
+ path: void 0,
67
+ input: void 0,
68
+ ctx
69
+ })
70
+ });
71
+ (globalThis.setImmediate ?? globalThis.setTimeout)(() => {
72
+ client.close();
73
+ });
74
+ return {
75
+ ok: false,
76
+ error
77
+ };
78
+ }
79
+ }
80
+ let ctx = void 0;
81
+ /**
82
+ * promise for initializing the context
83
+ *
84
+ * - the context promise will be created immediately on connection if no connectionParams are expected
85
+ * - if connection params are expected, they will be created once received
86
+ */
87
+ let ctxPromise = createURL(req).searchParams.get("connectionParams") === "1" ? null : createCtxPromise(() => null);
88
+ function handleRequest(msg) {
89
+ const { id, jsonrpc } = msg;
90
+ if (id === null) {
91
+ const error = getTRPCErrorFromUnknown(new TRPCError({
92
+ code: "PARSE_ERROR",
93
+ message: "`id` is required"
94
+ }));
95
+ opts.onError?.({
96
+ error,
97
+ path: void 0,
98
+ type: "unknown",
99
+ ctx,
100
+ req,
101
+ input: void 0
102
+ });
103
+ respond({
104
+ id,
105
+ jsonrpc,
106
+ error: getErrorShape({
107
+ config: router._def._config,
108
+ error,
109
+ type: "unknown",
110
+ path: void 0,
111
+ input: void 0,
112
+ ctx
113
+ })
114
+ });
115
+ return;
116
+ }
117
+ if (msg.method === "subscription.stop") {
118
+ clientSubscriptions.get(id)?.abort();
119
+ return;
120
+ }
121
+ const { path, lastEventId } = msg.params;
122
+ let { input } = msg.params;
123
+ const type = msg.method;
124
+ if (lastEventId !== void 0) if (isObject(input)) input = {
125
+ ...input,
126
+ lastEventId
127
+ };
128
+ else input ??= { lastEventId };
129
+ run(async () => {
130
+ const res = await ctxPromise;
131
+ if (!res.ok) throw res.error;
132
+ const abortController$1 = new AbortController();
133
+ const result = await callProcedure({
134
+ router,
135
+ path,
136
+ getRawInput: async () => input,
137
+ ctx,
138
+ type,
139
+ signal: abortController$1.signal
140
+ });
141
+ const isIterableResult = isAsyncIterable(result) || isObservable(result);
142
+ if (type !== "subscription") {
143
+ if (isIterableResult) throw new TRPCError({
144
+ code: "UNSUPPORTED_MEDIA_TYPE",
145
+ message: `Cannot return an async iterable or observable from a ${type} procedure with WebSockets`
146
+ });
147
+ respond({
148
+ id,
149
+ jsonrpc,
150
+ result: {
151
+ type: "data",
152
+ data: result
153
+ }
154
+ });
155
+ return;
156
+ }
157
+ if (!isIterableResult) throw new TRPCError({
158
+ message: `Subscription ${path} did not return an observable or a AsyncGenerator`,
159
+ code: "INTERNAL_SERVER_ERROR"
160
+ });
161
+ /* istanbul ignore next -- @preserve */
162
+ if (client.readyState !== WEBSOCKET_OPEN) return;
163
+ /* istanbul ignore next -- @preserve */
164
+ if (clientSubscriptions.has(id)) throw new TRPCError({
165
+ message: `Duplicate id ${id}`,
166
+ code: "BAD_REQUEST"
167
+ });
168
+ const iterable = isObservable(result) ? observableToAsyncIterable(result, abortController$1.signal) : result;
169
+ run(async () => {
170
+ try {
171
+ var _usingCtx = (0, import_usingCtx.default)();
172
+ const iterator = _usingCtx.a(iteratorResource(iterable));
173
+ const abortPromise = new Promise((resolve) => {
174
+ abortController$1.signal.onabort = () => resolve("abort");
175
+ });
176
+ let next;
177
+ let result$1;
178
+ while (true) {
179
+ next = await Unpromise.race([iterator.next().catch(getTRPCErrorFromUnknown), abortPromise]);
180
+ if (next === "abort") {
181
+ await iterator.return?.();
182
+ break;
183
+ }
184
+ if (next instanceof Error) {
185
+ const error = getTRPCErrorFromUnknown(next);
186
+ opts.onError?.({
187
+ error,
188
+ path,
189
+ type,
190
+ ctx,
191
+ req,
192
+ input
193
+ });
194
+ respond({
195
+ id,
196
+ jsonrpc,
197
+ error: getErrorShape({
198
+ config: router._def._config,
199
+ error,
200
+ type,
201
+ path,
202
+ input,
203
+ ctx
204
+ })
205
+ });
206
+ break;
207
+ }
208
+ if (next.done) break;
209
+ result$1 = {
210
+ type: "data",
211
+ data: next.value
212
+ };
213
+ if (isTrackedEnvelope(next.value)) {
214
+ const [id$1, data] = next.value;
215
+ result$1.id = id$1;
216
+ result$1.data = {
217
+ id: id$1,
218
+ data
219
+ };
220
+ }
221
+ respond({
222
+ id,
223
+ jsonrpc,
224
+ result: result$1
225
+ });
226
+ next = null;
227
+ result$1 = null;
228
+ }
229
+ respond({
230
+ id,
231
+ jsonrpc,
232
+ result: { type: "stopped" }
233
+ });
234
+ clientSubscriptions.delete(id);
235
+ } catch (_) {
236
+ _usingCtx.e = _;
237
+ } finally {
238
+ await _usingCtx.d();
239
+ }
240
+ }).catch((cause) => {
241
+ const error = getTRPCErrorFromUnknown(cause);
242
+ opts.onError?.({
243
+ error,
244
+ path,
245
+ type,
246
+ ctx,
247
+ req,
248
+ input
249
+ });
250
+ respond({
251
+ id,
252
+ jsonrpc,
253
+ error: getErrorShape({
254
+ config: router._def._config,
255
+ error,
256
+ type,
257
+ path,
258
+ input,
259
+ ctx
260
+ })
261
+ });
262
+ abortController$1.abort();
263
+ });
264
+ clientSubscriptions.set(id, abortController$1);
265
+ respond({
266
+ id,
267
+ jsonrpc,
268
+ result: { type: "started" }
269
+ });
270
+ }).catch((cause) => {
271
+ const error = getTRPCErrorFromUnknown(cause);
272
+ opts.onError?.({
273
+ error,
274
+ path,
275
+ type,
276
+ ctx,
277
+ req,
278
+ input
279
+ });
280
+ respond({
281
+ id,
282
+ jsonrpc,
283
+ error: getErrorShape({
284
+ config: router._def._config,
285
+ error,
286
+ type,
287
+ path,
288
+ input,
289
+ ctx
290
+ })
291
+ });
292
+ });
293
+ }
294
+ client.on("message", (rawData) => {
295
+ const msgStr = rawData.toString();
296
+ if (msgStr === "PONG") return;
297
+ if (msgStr === "PING") {
298
+ if (!opts.dangerouslyDisablePong) client.send("PONG");
299
+ return;
300
+ }
301
+ if (!ctxPromise) {
302
+ ctxPromise = createCtxPromise(() => {
303
+ let msg;
304
+ try {
305
+ msg = JSON.parse(msgStr);
306
+ if (!isObject(msg)) throw new Error("Message was not an object");
307
+ } catch (cause) {
308
+ throw new TRPCError({
309
+ code: "PARSE_ERROR",
310
+ message: `Malformed TRPCConnectionParamsMessage`,
311
+ cause
312
+ });
313
+ }
314
+ const connectionParams = parseConnectionParamsFromUnknown(msg.data);
315
+ return connectionParams;
316
+ });
317
+ return;
318
+ }
319
+ const parsedMsgs = run(() => {
320
+ try {
321
+ const msgJSON = JSON.parse(msgStr);
322
+ const msgs = Array.isArray(msgJSON) ? msgJSON : [msgJSON];
323
+ return msgs.map((raw) => parseTRPCMessage(raw, transformer));
324
+ } catch (cause) {
325
+ const error = new TRPCError({
326
+ code: "PARSE_ERROR",
327
+ cause
328
+ });
329
+ respond({
330
+ id: null,
331
+ error: getErrorShape({
332
+ config: router._def._config,
333
+ error,
334
+ type: "unknown",
335
+ path: void 0,
336
+ input: void 0,
337
+ ctx
338
+ })
339
+ });
340
+ return [];
341
+ }
342
+ });
343
+ parsedMsgs.map(handleRequest);
344
+ });
345
+ client.on("error", (cause) => {
346
+ opts.onError?.({
347
+ ctx,
348
+ error: getTRPCErrorFromUnknown(cause),
349
+ input: void 0,
350
+ path: void 0,
351
+ type: "unknown",
352
+ req
353
+ });
354
+ });
355
+ client.once("close", () => {
356
+ for (const sub of clientSubscriptions.values()) sub.abort();
357
+ clientSubscriptions.clear();
358
+ abortController.abort();
359
+ });
360
+ };
361
+ }
362
+ /**
363
+ * Handle WebSocket keep-alive messages
364
+ */
365
+ function handleKeepAlive(client, pingMs = 3e4, pongWaitMs = 5e3) {
366
+ let timeout = void 0;
367
+ let ping = void 0;
368
+ const schedulePing = () => {
369
+ const scheduleTimeout = () => {
370
+ timeout = setTimeout(() => {
371
+ client.terminate();
372
+ }, pongWaitMs);
373
+ };
374
+ ping = setTimeout(() => {
375
+ client.send("PING");
376
+ scheduleTimeout();
377
+ }, pingMs);
378
+ };
379
+ const onMessage = () => {
380
+ clearTimeout(ping);
381
+ clearTimeout(timeout);
382
+ schedulePing();
383
+ };
384
+ client.on("message", onMessage);
385
+ client.on("close", () => {
386
+ clearTimeout(ping);
387
+ clearTimeout(timeout);
388
+ });
389
+ schedulePing();
390
+ }
391
+ function applyWSSHandler(opts) {
392
+ const onConnection = getWSConnectionHandler(opts);
393
+ opts.wss.on("connection", (client, req) => {
394
+ if (opts.prefix && !req.url?.startsWith(opts.prefix)) return;
395
+ onConnection(client, req);
396
+ });
397
+ return { broadcastReconnectNotification: () => {
398
+ const response = {
399
+ id: null,
400
+ method: "reconnect"
401
+ };
402
+ const data = JSON.stringify(response);
403
+ for (const client of opts.wss.clients) if (client.readyState === WEBSOCKET_OPEN) client.send(data);
404
+ } };
405
+ }
406
+
407
+ //#endregion
408
+ export { applyWSSHandler, getWSConnectionHandler, handleKeepAlive };
409
+ //# sourceMappingURL=ws-eIVIMTrw.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws-eIVIMTrw.mjs","names":["opts: WSSHandlerOptions<TRouter>","client: ws.WebSocket","req: IncomingMessage","untransformedJSON: TRPCResponseMessage","getConnectionParams: () => TRPCRequestInfo['connectionParams']","ctx: Context | undefined","msg: TRPCClientOutgoingMessage","abortController","next:\n | null\n | TRPCError\n | Awaited<\n typeof abortPromise | ReturnType<(typeof iterator)['next']>\n >","result: null | TRPCResultMessage<unknown>['result']","id","msgJSON: unknown","msgs: unknown[]","timeout: NodeJS.Timeout | undefined","ping: NodeJS.Timeout | undefined","response: TRPCReconnectNotification"],"sources":["../src/adapters/ws.ts"],"sourcesContent":["import type { IncomingMessage } from 'http';\nimport type ws from 'ws';\nimport type {\n AnyRouter,\n CreateContextCallback,\n inferRouterContext,\n} from '../@trpc/server';\nimport {\n callTRPCProcedure,\n getErrorShape,\n getTRPCErrorFromUnknown,\n transformTRPCResponse,\n TRPCError,\n} from '../@trpc/server';\nimport type { TRPCRequestInfo } from '../@trpc/server/http';\nimport { type BaseHandlerOptions } from '../@trpc/server/http';\nimport { parseTRPCMessage } from '../@trpc/server/rpc';\n// @trpc/server/rpc\nimport type {\n TRPCClientOutgoingMessage,\n TRPCConnectionParamsMessage,\n TRPCReconnectNotification,\n TRPCResponseMessage,\n TRPCResultMessage,\n} from '../@trpc/server/rpc';\nimport { parseConnectionParamsFromUnknown } from '../http';\nimport { isObservable, observableToAsyncIterable } from '../observable';\n// eslint-disable-next-line no-restricted-imports\nimport {\n isAsyncIterable,\n isObject,\n isTrackedEnvelope,\n run,\n type MaybePromise,\n} from '../unstable-core-do-not-import';\n// eslint-disable-next-line no-restricted-imports\nimport type { Result } from '../unstable-core-do-not-import';\n// eslint-disable-next-line no-restricted-imports\nimport { iteratorResource } from '../unstable-core-do-not-import/stream/utils/asyncIterable';\nimport { Unpromise } from '../vendor/unpromise';\nimport { createURL, type NodeHTTPCreateContextFnOptions } from './node-http';\n\n/**\n * Importing ws causes a build error\n * @see https://github.com/trpc/trpc/pull/5279\n */\nconst WEBSOCKET_OPEN = 1; /* ws.WebSocket.OPEN */\n\n/**\n * @public\n */\nexport type CreateWSSContextFnOptions = NodeHTTPCreateContextFnOptions<\n IncomingMessage,\n ws.WebSocket\n>;\n\n/**\n * @public\n */\nexport type CreateWSSContextFn<TRouter extends AnyRouter> = (\n opts: CreateWSSContextFnOptions,\n) => MaybePromise<inferRouterContext<TRouter>>;\n\nexport type WSConnectionHandlerOptions<TRouter extends AnyRouter> =\n BaseHandlerOptions<TRouter, IncomingMessage> &\n CreateContextCallback<\n inferRouterContext<TRouter>,\n CreateWSSContextFn<TRouter>\n >;\n\n/**\n * Web socket server handler\n */\nexport type WSSHandlerOptions<TRouter extends AnyRouter> =\n WSConnectionHandlerOptions<TRouter> & {\n wss: ws.WebSocketServer;\n prefix?: string;\n keepAlive?: {\n /**\n * Enable heartbeat messages\n * @default false\n */\n enabled: boolean;\n /**\n * Heartbeat interval in milliseconds\n * @default 30_000\n */\n pingMs?: number;\n /**\n * Terminate the WebSocket if no pong is received after this many milliseconds\n * @default 5_000\n */\n pongWaitMs?: number;\n };\n /**\n * Disable responding to ping messages from the client\n * **Not recommended** - this is mainly used for testing\n * @default false\n */\n dangerouslyDisablePong?: boolean;\n };\n\nexport function getWSConnectionHandler<TRouter extends AnyRouter>(\n opts: WSSHandlerOptions<TRouter>,\n) {\n const { createContext, router } = opts;\n const { transformer } = router._def._config;\n\n return (client: ws.WebSocket, req: IncomingMessage) => {\n type Context = inferRouterContext<TRouter>;\n type ContextResult = Result<Context>;\n\n const clientSubscriptions = new Map<number | string, AbortController>();\n const abortController = new AbortController();\n\n if (opts.keepAlive?.enabled) {\n const { pingMs, pongWaitMs } = opts.keepAlive;\n handleKeepAlive(client, pingMs, pongWaitMs);\n }\n\n function respond(untransformedJSON: TRPCResponseMessage) {\n client.send(\n JSON.stringify(\n transformTRPCResponse(router._def._config, untransformedJSON),\n ),\n );\n }\n\n async function createCtxPromise(\n getConnectionParams: () => TRPCRequestInfo['connectionParams'],\n ): Promise<ContextResult> {\n try {\n return await run(async (): Promise<ContextResult> => {\n ctx = await createContext?.({\n req,\n res: client,\n info: {\n connectionParams: getConnectionParams(),\n calls: [],\n isBatchCall: false,\n accept: null,\n type: 'unknown',\n signal: abortController.signal,\n url: null,\n },\n });\n\n return {\n ok: true,\n value: ctx,\n };\n });\n } catch (cause) {\n const error = getTRPCErrorFromUnknown(cause);\n opts.onError?.({\n error,\n path: undefined,\n type: 'unknown',\n ctx,\n req,\n input: undefined,\n });\n respond({\n id: null,\n error: getErrorShape({\n config: router._def._config,\n error,\n type: 'unknown',\n path: undefined,\n input: undefined,\n ctx,\n }),\n });\n\n // close in next tick\n (globalThis.setImmediate ?? globalThis.setTimeout)(() => {\n client.close();\n });\n return {\n ok: false,\n error,\n };\n }\n }\n\n let ctx: Context | undefined = undefined;\n\n /**\n * promise for initializing the context\n *\n * - the context promise will be created immediately on connection if no connectionParams are expected\n * - if connection params are expected, they will be created once received\n */\n let ctxPromise =\n createURL(req).searchParams.get('connectionParams') === '1'\n ? null\n : createCtxPromise(() => null);\n\n function handleRequest(msg: TRPCClientOutgoingMessage) {\n const { id, jsonrpc } = msg;\n\n if (id === null) {\n const error = getTRPCErrorFromUnknown(\n new TRPCError({\n code: 'PARSE_ERROR',\n message: '`id` is required',\n }),\n );\n opts.onError?.({\n error,\n path: undefined,\n type: 'unknown',\n ctx,\n req,\n input: undefined,\n });\n respond({\n id,\n jsonrpc,\n error: getErrorShape({\n config: router._def._config,\n error,\n type: 'unknown',\n path: undefined,\n input: undefined,\n ctx,\n }),\n });\n return;\n }\n if (msg.method === 'subscription.stop') {\n clientSubscriptions.get(id)?.abort();\n return;\n }\n const { path, lastEventId } = msg.params;\n let { input } = msg.params;\n const type = msg.method;\n\n if (lastEventId !== undefined) {\n if (isObject(input)) {\n input = {\n ...input,\n lastEventId: lastEventId,\n };\n } else {\n input ??= {\n lastEventId: lastEventId,\n };\n }\n }\n run(async () => {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const res = await ctxPromise!; // asserts context has been set\n if (!res.ok) {\n throw res.error;\n }\n\n const abortController = new AbortController();\n const result = await callTRPCProcedure({\n router,\n path,\n getRawInput: async () => input,\n ctx,\n type,\n signal: abortController.signal,\n });\n\n const isIterableResult =\n isAsyncIterable(result) || isObservable(result);\n\n if (type !== 'subscription') {\n if (isIterableResult) {\n throw new TRPCError({\n code: 'UNSUPPORTED_MEDIA_TYPE',\n message: `Cannot return an async iterable or observable from a ${type} procedure with WebSockets`,\n });\n }\n // send the value as data if the method is not a subscription\n respond({\n id,\n jsonrpc,\n result: {\n type: 'data',\n data: result,\n },\n });\n return;\n }\n\n if (!isIterableResult) {\n throw new TRPCError({\n message: `Subscription ${path} did not return an observable or a AsyncGenerator`,\n code: 'INTERNAL_SERVER_ERROR',\n });\n }\n\n /* istanbul ignore next -- @preserve */\n if (client.readyState !== WEBSOCKET_OPEN) {\n // if the client got disconnected whilst initializing the subscription\n // no need to send stopped message if the client is disconnected\n\n return;\n }\n\n /* istanbul ignore next -- @preserve */\n if (clientSubscriptions.has(id)) {\n // duplicate request ids for client\n\n throw new TRPCError({\n message: `Duplicate id ${id}`,\n code: 'BAD_REQUEST',\n });\n }\n\n const iterable = isObservable(result)\n ? observableToAsyncIterable(result, abortController.signal)\n : result;\n\n run(async () => {\n await using iterator = iteratorResource(iterable);\n\n const abortPromise = new Promise<'abort'>((resolve) => {\n abortController.signal.onabort = () => resolve('abort');\n });\n // We need those declarations outside the loop for garbage collection reasons. If they\n // were declared inside, they would not be freed until the next value is present.\n let next:\n | null\n | TRPCError\n | Awaited<\n typeof abortPromise | ReturnType<(typeof iterator)['next']>\n >;\n let result: null | TRPCResultMessage<unknown>['result'];\n\n while (true) {\n next = await Unpromise.race([\n iterator.next().catch(getTRPCErrorFromUnknown),\n abortPromise,\n ]);\n\n if (next === 'abort') {\n await iterator.return?.();\n break;\n }\n if (next instanceof Error) {\n const error = getTRPCErrorFromUnknown(next);\n opts.onError?.({ error, path, type, ctx, req, input });\n respond({\n id,\n jsonrpc,\n error: getErrorShape({\n config: router._def._config,\n error,\n type,\n path,\n input,\n ctx,\n }),\n });\n break;\n }\n if (next.done) {\n break;\n }\n\n result = {\n type: 'data',\n data: next.value,\n };\n\n if (isTrackedEnvelope(next.value)) {\n const [id, data] = next.value;\n result.id = id;\n result.data = {\n id,\n data,\n };\n }\n\n respond({\n id,\n jsonrpc,\n result,\n });\n\n // free up references for garbage collection\n next = null;\n result = null;\n }\n\n respond({\n id,\n jsonrpc,\n result: {\n type: 'stopped',\n },\n });\n clientSubscriptions.delete(id);\n }).catch((cause) => {\n const error = getTRPCErrorFromUnknown(cause);\n opts.onError?.({ error, path, type, ctx, req, input });\n respond({\n id,\n jsonrpc,\n error: getErrorShape({\n config: router._def._config,\n error,\n type,\n path,\n input,\n ctx,\n }),\n });\n abortController.abort();\n });\n clientSubscriptions.set(id, abortController);\n\n respond({\n id,\n jsonrpc,\n result: {\n type: 'started',\n },\n });\n }).catch((cause) => {\n // procedure threw an error\n const error = getTRPCErrorFromUnknown(cause);\n opts.onError?.({ error, path, type, ctx, req, input });\n respond({\n id,\n jsonrpc,\n error: getErrorShape({\n config: router._def._config,\n error,\n type,\n path,\n input,\n ctx,\n }),\n });\n });\n }\n client.on('message', (rawData) => {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string\n const msgStr = rawData.toString();\n if (msgStr === 'PONG') {\n return;\n }\n if (msgStr === 'PING') {\n if (!opts.dangerouslyDisablePong) {\n client.send('PONG');\n }\n return;\n }\n if (!ctxPromise) {\n // If the ctxPromise wasn't created immediately, we're expecting the first message to be a TRPCConnectionParamsMessage\n ctxPromise = createCtxPromise(() => {\n let msg;\n try {\n msg = JSON.parse(msgStr) as TRPCConnectionParamsMessage;\n\n if (!isObject(msg)) {\n throw new Error('Message was not an object');\n }\n } catch (cause) {\n throw new TRPCError({\n code: 'PARSE_ERROR',\n message: `Malformed TRPCConnectionParamsMessage`,\n cause,\n });\n }\n\n const connectionParams = parseConnectionParamsFromUnknown(msg.data);\n\n return connectionParams;\n });\n return;\n }\n\n const parsedMsgs = run(() => {\n try {\n const msgJSON: unknown = JSON.parse(msgStr);\n const msgs: unknown[] = Array.isArray(msgJSON) ? msgJSON : [msgJSON];\n\n return msgs.map((raw) => parseTRPCMessage(raw, transformer));\n } catch (cause) {\n const error = new TRPCError({\n code: 'PARSE_ERROR',\n cause,\n });\n\n respond({\n id: null,\n error: getErrorShape({\n config: router._def._config,\n error,\n type: 'unknown',\n path: undefined,\n input: undefined,\n ctx,\n }),\n });\n\n return [];\n }\n });\n\n parsedMsgs.map(handleRequest);\n });\n\n // WebSocket errors should be handled, as otherwise unhandled exceptions will crash Node.js.\n // This line was introduced after the following error brought down production systems:\n // \"RangeError: Invalid WebSocket frame: RSV2 and RSV3 must be clear\"\n // Here is the relevant discussion: https://github.com/websockets/ws/issues/1354#issuecomment-774616962\n client.on('error', (cause) => {\n opts.onError?.({\n ctx,\n error: getTRPCErrorFromUnknown(cause),\n input: undefined,\n path: undefined,\n type: 'unknown',\n req,\n });\n });\n\n client.once('close', () => {\n for (const sub of clientSubscriptions.values()) {\n sub.abort();\n }\n clientSubscriptions.clear();\n abortController.abort();\n });\n };\n}\n\n/**\n * Handle WebSocket keep-alive messages\n */\nexport function handleKeepAlive(\n client: ws.WebSocket,\n pingMs = 30_000,\n pongWaitMs = 5_000,\n) {\n let timeout: NodeJS.Timeout | undefined = undefined;\n let ping: NodeJS.Timeout | undefined = undefined;\n\n const schedulePing = () => {\n const scheduleTimeout = () => {\n timeout = setTimeout(() => {\n client.terminate();\n }, pongWaitMs) as any;\n };\n ping = setTimeout(() => {\n client.send('PING');\n\n scheduleTimeout();\n }, pingMs) as any;\n };\n\n const onMessage = () => {\n clearTimeout(ping);\n clearTimeout(timeout);\n\n schedulePing();\n };\n\n client.on('message', onMessage);\n\n client.on('close', () => {\n clearTimeout(ping);\n clearTimeout(timeout);\n });\n\n schedulePing();\n}\n\nexport function applyWSSHandler<TRouter extends AnyRouter>(\n opts: WSSHandlerOptions<TRouter>,\n) {\n const onConnection = getWSConnectionHandler(opts);\n opts.wss.on('connection', (client, req) => {\n if (opts.prefix && !req.url?.startsWith(opts.prefix)) {\n return;\n }\n\n onConnection(client, req);\n });\n\n return {\n broadcastReconnectNotification: () => {\n const response: TRPCReconnectNotification = {\n id: null,\n method: 'reconnect',\n };\n const data = JSON.stringify(response);\n for (const client of opts.wss.clients) {\n if (client.readyState === WEBSOCKET_OPEN) {\n client.send(data);\n }\n }\n },\n };\n}\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"main":"../dist/http.cjs","module":"../dist/http.mjs","types":"../dist/http.d.cts"}
@@ -0,0 +1 @@
1
+ {"main":"../dist/observable/index.cjs","module":"../dist/observable/index.mjs","types":"../dist/observable/index.d.cts"}