@trpc/server 11.3.1-canary.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 (462) 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/index.d.ts +0 -1
  171. package/adapters/node-http/index.js +0 -1
  172. package/adapters/standalone/index.d.ts +0 -1
  173. package/adapters/standalone/index.js +0 -1
  174. package/adapters/ws/index.d.ts +0 -1
  175. package/adapters/ws/index.js +0 -1
  176. package/dist/@trpc/server/http.d.ts +0 -8
  177. package/dist/@trpc/server/http.d.ts.map +0 -1
  178. package/dist/@trpc/server/index.d.ts +0 -65
  179. package/dist/@trpc/server/index.d.ts.map +0 -1
  180. package/dist/@trpc/server/rpc.d.ts +0 -3
  181. package/dist/@trpc/server/rpc.d.ts.map +0 -1
  182. package/dist/adapters/aws-lambda/getPlanner.d.ts +0 -15
  183. package/dist/adapters/aws-lambda/getPlanner.d.ts.map +0 -1
  184. package/dist/adapters/aws-lambda/getPlanner.js +0 -179
  185. package/dist/adapters/aws-lambda/getPlanner.mjs +0 -177
  186. package/dist/adapters/aws-lambda/index.d.ts +0 -23
  187. package/dist/adapters/aws-lambda/index.d.ts.map +0 -1
  188. package/dist/adapters/aws-lambda/index.js +0 -67
  189. package/dist/adapters/express.d.ts +0 -15
  190. package/dist/adapters/express.d.ts.map +0 -1
  191. package/dist/adapters/express.js +0 -39
  192. package/dist/adapters/fastify/fastifyRequestHandler.d.ts +0 -22
  193. package/dist/adapters/fastify/fastifyRequestHandler.d.ts.map +0 -1
  194. package/dist/adapters/fastify/fastifyRequestHandler.js +0 -49
  195. package/dist/adapters/fastify/fastifyRequestHandler.mjs +0 -47
  196. package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts +0 -21
  197. package/dist/adapters/fastify/fastifyTRPCPlugin.d.ts.map +0 -1
  198. package/dist/adapters/fastify/fastifyTRPCPlugin.js +0 -56
  199. package/dist/adapters/fastify/fastifyTRPCPlugin.mjs +0 -54
  200. package/dist/adapters/fastify/index.d.ts +0 -3
  201. package/dist/adapters/fastify/index.d.ts.map +0 -1
  202. package/dist/adapters/fastify/index.js +0 -9
  203. package/dist/adapters/fetch/fetchRequestHandler.d.ts +0 -13
  204. package/dist/adapters/fetch/fetchRequestHandler.d.ts.map +0 -1
  205. package/dist/adapters/fetch/fetchRequestHandler.js +0 -77
  206. package/dist/adapters/fetch/fetchRequestHandler.mjs +0 -75
  207. package/dist/adapters/fetch/index.d.ts +0 -3
  208. package/dist/adapters/fetch/index.d.ts.map +0 -1
  209. package/dist/adapters/fetch/index.js +0 -7
  210. package/dist/adapters/fetch/types.d.ts +0 -27
  211. package/dist/adapters/fetch/types.d.ts.map +0 -1
  212. package/dist/adapters/next-app-dir/nextAppDirCaller.d.ts +0 -25
  213. package/dist/adapters/next-app-dir/nextAppDirCaller.d.ts.map +0 -1
  214. package/dist/adapters/next-app-dir/nextAppDirCaller.js +0 -94
  215. package/dist/adapters/next-app-dir/nextAppDirCaller.mjs +0 -92
  216. package/dist/adapters/next-app-dir/notFound.d.ts +0 -7
  217. package/dist/adapters/next-app-dir/notFound.d.ts.map +0 -1
  218. package/dist/adapters/next-app-dir/notFound.js +0 -18
  219. package/dist/adapters/next-app-dir/notFound.mjs +0 -16
  220. package/dist/adapters/next-app-dir/redirect.d.ts +0 -18
  221. package/dist/adapters/next-app-dir/redirect.d.ts.map +0 -1
  222. package/dist/adapters/next-app-dir/redirect.js +0 -49
  223. package/dist/adapters/next-app-dir/redirect.mjs +0 -46
  224. package/dist/adapters/next-app-dir/rethrowNextErrors.d.ts +0 -6
  225. package/dist/adapters/next-app-dir/rethrowNextErrors.d.ts.map +0 -1
  226. package/dist/adapters/next-app-dir/rethrowNextErrors.js +0 -70
  227. package/dist/adapters/next-app-dir/rethrowNextErrors.mjs +0 -49
  228. package/dist/adapters/next-app-dir.d.ts +0 -7
  229. package/dist/adapters/next-app-dir.d.ts.map +0 -1
  230. package/dist/adapters/next-app-dir.js +0 -13
  231. package/dist/adapters/next.d.ts +0 -19
  232. package/dist/adapters/next.d.ts.map +0 -1
  233. package/dist/adapters/next.js +0 -51
  234. package/dist/adapters/node-http/incomingMessageToRequest.d.ts +0 -12
  235. package/dist/adapters/node-http/incomingMessageToRequest.d.ts.map +0 -1
  236. package/dist/adapters/node-http/incomingMessageToRequest.js +0 -123
  237. package/dist/adapters/node-http/incomingMessageToRequest.mjs +0 -120
  238. package/dist/adapters/node-http/index.d.ts +0 -4
  239. package/dist/adapters/node-http/index.d.ts.map +0 -1
  240. package/dist/adapters/node-http/index.js +0 -11
  241. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts +0 -20
  242. package/dist/adapters/node-http/nodeHTTPRequestHandler.d.ts.map +0 -1
  243. package/dist/adapters/node-http/nodeHTTPRequestHandler.js +0 -96
  244. package/dist/adapters/node-http/nodeHTTPRequestHandler.mjs +0 -93
  245. package/dist/adapters/node-http/types.d.ts +0 -81
  246. package/dist/adapters/node-http/types.d.ts.map +0 -1
  247. package/dist/adapters/node-http/writeResponse.d.ts +0 -18
  248. package/dist/adapters/node-http/writeResponse.d.ts.map +0 -1
  249. package/dist/adapters/node-http/writeResponse.js +0 -83
  250. package/dist/adapters/node-http/writeResponse.mjs +0 -80
  251. package/dist/adapters/standalone.d.ts +0 -36
  252. package/dist/adapters/standalone.d.ts.map +0 -1
  253. package/dist/adapters/standalone.js +0 -49
  254. package/dist/adapters/ws.d.ts +0 -54
  255. package/dist/adapters/ws.d.ts.map +0 -1
  256. package/dist/adapters/ws.js +0 -544
  257. package/dist/bundle-analysis.json +0 -999
  258. package/dist/http.d.ts +0 -2
  259. package/dist/http.d.ts.map +0 -1
  260. package/dist/http.js +0 -19
  261. package/dist/index.d.ts +0 -2
  262. package/dist/index.d.ts.map +0 -1
  263. package/dist/index.js +0 -35
  264. 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
  265. package/dist/observable/behaviorSubject.d.ts +0 -15
  266. package/dist/observable/behaviorSubject.d.ts.map +0 -1
  267. package/dist/observable/behaviorSubject.js +0 -40
  268. package/dist/observable/behaviorSubject.mjs +0 -38
  269. package/dist/observable/index.d.ts +0 -5
  270. package/dist/observable/index.d.ts.map +0 -1
  271. package/dist/observable/index.js +0 -18
  272. package/dist/observable/observable.d.ts +0 -12
  273. package/dist/observable/observable.d.ts.map +0 -1
  274. package/dist/observable/observable.js +0 -180
  275. package/dist/observable/observable.mjs +0 -175
  276. package/dist/observable/operators.d.ts +0 -10
  277. package/dist/observable/operators.d.ts.map +0 -1
  278. package/dist/observable/operators.js +0 -134
  279. package/dist/observable/operators.mjs +0 -128
  280. package/dist/observable/types.d.ts +0 -26
  281. package/dist/observable/types.d.ts.map +0 -1
  282. package/dist/rpc.d.ts +0 -2
  283. package/dist/rpc.d.ts.map +0 -1
  284. package/dist/rpc.js +0 -13
  285. package/dist/shared.d.ts +0 -26
  286. package/dist/shared.d.ts.map +0 -1
  287. package/dist/shared.js +0 -13
  288. package/dist/unstable-core-do-not-import/clientish/inference.d.ts +0 -17
  289. package/dist/unstable-core-do-not-import/clientish/inference.d.ts.map +0 -1
  290. package/dist/unstable-core-do-not-import/clientish/inferrable.d.ts +0 -36
  291. package/dist/unstable-core-do-not-import/clientish/inferrable.d.ts.map +0 -1
  292. package/dist/unstable-core-do-not-import/clientish/serialize.d.ts +0 -69
  293. package/dist/unstable-core-do-not-import/clientish/serialize.d.ts.map +0 -1
  294. package/dist/unstable-core-do-not-import/createProxy.d.ts +0 -19
  295. package/dist/unstable-core-do-not-import/createProxy.d.ts.map +0 -1
  296. package/dist/unstable-core-do-not-import/createProxy.js +0 -76
  297. package/dist/unstable-core-do-not-import/createProxy.mjs +0 -73
  298. package/dist/unstable-core-do-not-import/error/TRPCError.d.ts +0 -13
  299. package/dist/unstable-core-do-not-import/error/TRPCError.d.ts.map +0 -1
  300. package/dist/unstable-core-do-not-import/error/TRPCError.js +0 -76
  301. package/dist/unstable-core-do-not-import/error/TRPCError.mjs +0 -72
  302. package/dist/unstable-core-do-not-import/error/formatter.d.ts +0 -38
  303. package/dist/unstable-core-do-not-import/error/formatter.d.ts.map +0 -1
  304. package/dist/unstable-core-do-not-import/error/formatter.js +0 -7
  305. package/dist/unstable-core-do-not-import/error/formatter.mjs +0 -5
  306. package/dist/unstable-core-do-not-import/error/getErrorShape.d.ts +0 -15
  307. package/dist/unstable-core-do-not-import/error/getErrorShape.d.ts.map +0 -1
  308. package/dist/unstable-core-do-not-import/error/getErrorShape.js +0 -31
  309. package/dist/unstable-core-do-not-import/error/getErrorShape.mjs +0 -29
  310. package/dist/unstable-core-do-not-import/http/abortError.d.ts +0 -5
  311. package/dist/unstable-core-do-not-import/http/abortError.d.ts.map +0 -1
  312. package/dist/unstable-core-do-not-import/http/abortError.js +0 -13
  313. package/dist/unstable-core-do-not-import/http/abortError.mjs +0 -10
  314. package/dist/unstable-core-do-not-import/http/contentType.d.ts +0 -13
  315. package/dist/unstable-core-do-not-import/http/contentType.d.ts.map +0 -1
  316. package/dist/unstable-core-do-not-import/http/contentType.js +0 -229
  317. package/dist/unstable-core-do-not-import/http/contentType.mjs +0 -227
  318. package/dist/unstable-core-do-not-import/http/contentTypeParsers.d.ts +0 -14
  319. package/dist/unstable-core-do-not-import/http/contentTypeParsers.d.ts.map +0 -1
  320. package/dist/unstable-core-do-not-import/http/contentTypeParsers.js +0 -14
  321. package/dist/unstable-core-do-not-import/http/contentTypeParsers.mjs +0 -12
  322. package/dist/unstable-core-do-not-import/http/formDataToObject.d.ts +0 -2
  323. package/dist/unstable-core-do-not-import/http/formDataToObject.d.ts.map +0 -1
  324. package/dist/unstable-core-do-not-import/http/formDataToObject.js +0 -40
  325. package/dist/unstable-core-do-not-import/http/formDataToObject.mjs +0 -38
  326. package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.d.ts +0 -10
  327. package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.d.ts.map +0 -1
  328. package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.js +0 -85
  329. package/dist/unstable-core-do-not-import/http/getHTTPStatusCode.mjs +0 -78
  330. package/dist/unstable-core-do-not-import/http/parseConnectionParams.d.ts +0 -4
  331. package/dist/unstable-core-do-not-import/http/parseConnectionParams.d.ts.map +0 -1
  332. package/dist/unstable-core-do-not-import/http/parseConnectionParams.js +0 -42
  333. package/dist/unstable-core-do-not-import/http/parseConnectionParams.mjs +0 -39
  334. package/dist/unstable-core-do-not-import/http/resolveResponse.d.ts +0 -15
  335. package/dist/unstable-core-do-not-import/http/resolveResponse.d.ts.map +0 -1
  336. package/dist/unstable-core-do-not-import/http/resolveResponse.js +0 -572
  337. package/dist/unstable-core-do-not-import/http/resolveResponse.mjs +0 -570
  338. package/dist/unstable-core-do-not-import/http/types.d.ts +0 -138
  339. package/dist/unstable-core-do-not-import/http/types.d.ts.map +0 -1
  340. package/dist/unstable-core-do-not-import/initTRPC.d.ts +0 -94
  341. package/dist/unstable-core-do-not-import/initTRPC.d.ts.map +0 -1
  342. package/dist/unstable-core-do-not-import/initTRPC.js +0 -82
  343. package/dist/unstable-core-do-not-import/initTRPC.mjs +0 -80
  344. package/dist/unstable-core-do-not-import/middleware.d.ts +0 -107
  345. package/dist/unstable-core-do-not-import/middleware.d.ts.map +0 -1
  346. package/dist/unstable-core-do-not-import/middleware.js +0 -96
  347. package/dist/unstable-core-do-not-import/middleware.mjs +0 -90
  348. package/dist/unstable-core-do-not-import/parser.d.ts +0 -44
  349. package/dist/unstable-core-do-not-import/parser.d.ts.map +0 -1
  350. package/dist/unstable-core-do-not-import/parser.js +0 -54
  351. package/dist/unstable-core-do-not-import/parser.mjs +0 -52
  352. package/dist/unstable-core-do-not-import/procedure.d.ts +0 -77
  353. package/dist/unstable-core-do-not-import/procedure.d.ts.map +0 -1
  354. package/dist/unstable-core-do-not-import/procedure.js +0 -9
  355. package/dist/unstable-core-do-not-import/procedure.mjs +0 -7
  356. package/dist/unstable-core-do-not-import/procedureBuilder.d.ts +0 -161
  357. package/dist/unstable-core-do-not-import/procedureBuilder.d.ts.map +0 -1
  358. package/dist/unstable-core-do-not-import/procedureBuilder.js +0 -201
  359. package/dist/unstable-core-do-not-import/procedureBuilder.mjs +0 -199
  360. package/dist/unstable-core-do-not-import/rootConfig.d.ts +0 -98
  361. package/dist/unstable-core-do-not-import/rootConfig.d.ts.map +0 -1
  362. package/dist/unstable-core-do-not-import/rootConfig.js +0 -8
  363. package/dist/unstable-core-do-not-import/rootConfig.mjs +0 -6
  364. package/dist/unstable-core-do-not-import/router.d.ts +0 -98
  365. package/dist/unstable-core-do-not-import/router.d.ts.map +0 -1
  366. package/dist/unstable-core-do-not-import/router.js +0 -285
  367. package/dist/unstable-core-do-not-import/router.mjs +0 -278
  368. package/dist/unstable-core-do-not-import/rpc/codes.d.ts +0 -45
  369. package/dist/unstable-core-do-not-import/rpc/codes.d.ts.map +0 -1
  370. package/dist/unstable-core-do-not-import/rpc/codes.js +0 -69
  371. package/dist/unstable-core-do-not-import/rpc/codes.mjs +0 -65
  372. package/dist/unstable-core-do-not-import/rpc/envelopes.d.ts +0 -109
  373. package/dist/unstable-core-do-not-import/rpc/envelopes.d.ts.map +0 -1
  374. package/dist/unstable-core-do-not-import/rpc/index.d.ts +0 -5
  375. package/dist/unstable-core-do-not-import/rpc/index.d.ts.map +0 -1
  376. package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.d.ts +0 -5
  377. package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.d.ts.map +0 -1
  378. package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.js +0 -63
  379. package/dist/unstable-core-do-not-import/rpc/parseTRPCMessage.mjs +0 -61
  380. package/dist/unstable-core-do-not-import/stream/jsonl.d.ts +0 -119
  381. package/dist/unstable-core-do-not-import/stream/jsonl.d.ts.map +0 -1
  382. package/dist/unstable-core-do-not-import/stream/jsonl.js +0 -607
  383. package/dist/unstable-core-do-not-import/stream/jsonl.mjs +0 -603
  384. package/dist/unstable-core-do-not-import/stream/sse.d.ts +0 -108
  385. package/dist/unstable-core-do-not-import/stream/sse.d.ts.map +0 -1
  386. package/dist/unstable-core-do-not-import/stream/sse.js +0 -373
  387. package/dist/unstable-core-do-not-import/stream/sse.mjs +0 -369
  388. package/dist/unstable-core-do-not-import/stream/sse.types.d.ts +0 -31
  389. package/dist/unstable-core-do-not-import/stream/sse.types.d.ts.map +0 -1
  390. package/dist/unstable-core-do-not-import/stream/tracked.d.ts +0 -31
  391. package/dist/unstable-core-do-not-import/stream/tracked.d.ts.map +0 -1
  392. package/dist/unstable-core-do-not-import/stream/tracked.js +0 -29
  393. package/dist/unstable-core-do-not-import/stream/tracked.mjs +0 -25
  394. package/dist/unstable-core-do-not-import/stream/utils/asyncIterable.d.ts +0 -17
  395. package/dist/unstable-core-do-not-import/stream/utils/asyncIterable.d.ts.map +0 -1
  396. package/dist/unstable-core-do-not-import/stream/utils/asyncIterable.js +0 -174
  397. package/dist/unstable-core-do-not-import/stream/utils/asyncIterable.mjs +0 -170
  398. package/dist/unstable-core-do-not-import/stream/utils/createDeferred.d.ts +0 -7
  399. package/dist/unstable-core-do-not-import/stream/utils/createDeferred.d.ts.map +0 -1
  400. package/dist/unstable-core-do-not-import/stream/utils/createDeferred.js +0 -17
  401. package/dist/unstable-core-do-not-import/stream/utils/createDeferred.mjs +0 -15
  402. package/dist/unstable-core-do-not-import/stream/utils/disposable.d.ts +0 -17
  403. package/dist/unstable-core-do-not-import/stream/utils/disposable.d.ts.map +0 -1
  404. package/dist/unstable-core-do-not-import/stream/utils/disposable.js +0 -46
  405. package/dist/unstable-core-do-not-import/stream/utils/disposable.mjs +0 -43
  406. package/dist/unstable-core-do-not-import/stream/utils/mergeAsyncIterables.d.ts +0 -17
  407. package/dist/unstable-core-do-not-import/stream/utils/mergeAsyncIterables.d.ts.map +0 -1
  408. package/dist/unstable-core-do-not-import/stream/utils/mergeAsyncIterables.js +0 -241
  409. package/dist/unstable-core-do-not-import/stream/utils/mergeAsyncIterables.mjs +0 -239
  410. package/dist/unstable-core-do-not-import/stream/utils/readableStreamFrom.d.ts +0 -8
  411. package/dist/unstable-core-do-not-import/stream/utils/readableStreamFrom.d.ts.map +0 -1
  412. package/dist/unstable-core-do-not-import/stream/utils/readableStreamFrom.js +0 -25
  413. package/dist/unstable-core-do-not-import/stream/utils/readableStreamFrom.mjs +0 -23
  414. package/dist/unstable-core-do-not-import/stream/utils/timerResource.d.ts +0 -5
  415. package/dist/unstable-core-do-not-import/stream/utils/timerResource.d.ts.map +0 -1
  416. package/dist/unstable-core-do-not-import/stream/utils/timerResource.js +0 -26
  417. package/dist/unstable-core-do-not-import/stream/utils/timerResource.mjs +0 -23
  418. package/dist/unstable-core-do-not-import/stream/utils/withPing.d.ts +0 -7
  419. package/dist/unstable-core-do-not-import/stream/utils/withPing.d.ts.map +0 -1
  420. package/dist/unstable-core-do-not-import/stream/utils/withPing.js +0 -130
  421. package/dist/unstable-core-do-not-import/stream/utils/withPing.mjs +0 -127
  422. package/dist/unstable-core-do-not-import/transformer.d.ts +0 -99
  423. package/dist/unstable-core-do-not-import/transformer.d.ts.map +0 -1
  424. package/dist/unstable-core-do-not-import/transformer.js +0 -106
  425. package/dist/unstable-core-do-not-import/transformer.mjs +0 -101
  426. package/dist/unstable-core-do-not-import/types.d.ts +0 -127
  427. package/dist/unstable-core-do-not-import/types.d.ts.map +0 -1
  428. package/dist/unstable-core-do-not-import/utils.d.ts +0 -42
  429. package/dist/unstable-core-do-not-import/utils.d.ts.map +0 -1
  430. package/dist/unstable-core-do-not-import/utils.js +0 -96
  431. package/dist/unstable-core-do-not-import/utils.mjs +0 -83
  432. package/dist/unstable-core-do-not-import.d.ts +0 -47
  433. package/dist/unstable-core-do-not-import.d.ts.map +0 -1
  434. package/dist/unstable-core-do-not-import.js +0 -109
  435. package/dist/vendor/cookie-es/set-cookie/split.d.ts +0 -18
  436. package/dist/vendor/cookie-es/set-cookie/split.d.ts.map +0 -1
  437. package/dist/vendor/cookie-es/set-cookie/split.js +0 -79
  438. package/dist/vendor/cookie-es/set-cookie/split.mjs +0 -77
  439. package/dist/vendor/standard-schema-v1/error.d.ts +0 -13
  440. package/dist/vendor/standard-schema-v1/error.d.ts.map +0 -1
  441. package/dist/vendor/standard-schema-v1/error.js +0 -28
  442. package/dist/vendor/standard-schema-v1/error.mjs +0 -26
  443. package/dist/vendor/standard-schema-v1/spec.d.ts +0 -60
  444. package/dist/vendor/standard-schema-v1/spec.d.ts.map +0 -1
  445. package/dist/vendor/unpromise/index.d.ts +0 -3
  446. package/dist/vendor/unpromise/index.d.ts.map +0 -1
  447. package/dist/vendor/unpromise/types.d.ts +0 -28
  448. package/dist/vendor/unpromise/types.d.ts.map +0 -1
  449. package/dist/vendor/unpromise/unpromise.d.ts +0 -121
  450. package/dist/vendor/unpromise/unpromise.d.ts.map +0 -1
  451. package/dist/vendor/unpromise/unpromise.js +0 -292
  452. package/dist/vendor/unpromise/unpromise.mjs +0 -289
  453. package/http/index.d.ts +0 -1
  454. package/http/index.js +0 -1
  455. package/observable/index.d.ts +0 -1
  456. package/observable/index.js +0 -1
  457. package/rpc/index.d.ts +0 -1
  458. package/rpc/index.js +0 -1
  459. package/shared/index.d.ts +0 -1
  460. package/shared/index.js +0 -1
  461. package/unstable-core-do-not-import/index.d.ts +0 -1
  462. 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":";;;;;;;;;;;;;;AA8CA,MAAM,iBAAiB;AAwDvB,SAAgB,uBACdA,MACA;CACA,MAAM,EAAE,eAAe,QAAQ,GAAG;CAClC,MAAM,EAAE,aAAa,GAAG,OAAO,KAAK;AAEpC,QAAO,CAACC,QAAsBC,QAAyB;EAIrD,MAAM,sCAAsB,IAAI;EAChC,MAAM,kBAAkB,IAAI;AAE5B,MAAI,KAAK,WAAW,SAAS;GAC3B,MAAM,EAAE,QAAQ,YAAY,GAAG,KAAK;AACpC,mBAAgB,QAAQ,QAAQ,WAAW;EAC5C;EAED,SAAS,QAAQC,mBAAwC;AACvD,UAAO,KACL,KAAK,UACH,sBAAsB,OAAO,KAAK,SAAS,kBAAkB,CAC9D,CACF;EACF;EAED,eAAe,iBACbC,qBACwB;AACxB,OAAI;AACF,WAAO,MAAM,IAAI,YAAoC;AACnD,WAAM,MAAM,gBAAgB;MAC1B;MACA,KAAK;MACL,MAAM;OACJ,kBAAkB,qBAAqB;OACvC,OAAO,CAAE;OACT,aAAa;OACb,QAAQ;OACR,MAAM;OACN,QAAQ,gBAAgB;OACxB,KAAK;MACN;KACF,EAAC;AAEF,YAAO;MACL,IAAI;MACJ,OAAO;KACR;IACF,EAAC;GACH,SAAQ,OAAO;IACd,MAAM,QAAQ,wBAAwB,MAAM;AAC5C,SAAK,UAAU;KACb;KACA;KACA,MAAM;KACN;KACA;KACA;IACD,EAAC;AACF,YAAQ;KACN,IAAI;KACJ,OAAO,cAAc;MACnB,QAAQ,OAAO,KAAK;MACpB;MACA,MAAM;MACN;MACA;MACA;KACD,EAAC;IACH,EAAC;AAGF,KAAC,WAAW,gBAAgB,WAAW,YAAY,MAAM;AACvD,YAAO,OAAO;IACf,EAAC;AACF,WAAO;KACL,IAAI;KACJ;IACD;GACF;EACF;EAED,IAAIC;;;;;;;EAQJ,IAAI,aACF,UAAU,IAAI,CAAC,aAAa,IAAI,mBAAmB,KAAK,MACpD,OACA,iBAAiB,MAAM,KAAK;EAElC,SAAS,cAAcC,KAAgC;GACrD,MAAM,EAAE,IAAI,SAAS,GAAG;AAExB,OAAI,OAAO,MAAM;IACf,MAAM,QAAQ,wBACZ,IAAI,UAAU;KACZ,MAAM;KACN,SAAS;IACV,GACF;AACD,SAAK,UAAU;KACb;KACA;KACA,MAAM;KACN;KACA;KACA;IACD,EAAC;AACF,YAAQ;KACN;KACA;KACA,OAAO,cAAc;MACnB,QAAQ,OAAO,KAAK;MACpB;MACA,MAAM;MACN;MACA;MACA;KACD,EAAC;IACH,EAAC;AACF;GACD;AACD,OAAI,IAAI,WAAW,qBAAqB;AACtC,wBAAoB,IAAI,GAAG,EAAE,OAAO;AACpC;GACD;GACD,MAAM,EAAE,MAAM,aAAa,GAAG,IAAI;GAClC,IAAI,EAAE,OAAO,GAAG,IAAI;GACpB,MAAM,OAAO,IAAI;AAEjB,OAAI,uBACF,KAAI,SAAS,MAAM,CACjB,SAAQ;IACN,GAAG;IACU;GACd;OAED,WAAU,EACK,YACd;AAGL,OAAI,YAAY;IAEd,MAAM,MAAM,MAAM;AAClB,SAAK,IAAI,GACP,OAAM,IAAI;IAGZ,MAAMC,oBAAkB,IAAI;IAC5B,MAAM,SAAS,MAAM,cAAkB;KACrC;KACA;KACA,aAAa,YAAY;KACzB;KACA;KACA,QAAQA,kBAAgB;IACzB,EAAC;IAEF,MAAM,mBACJ,gBAAgB,OAAO,IAAI,aAAa,OAAO;AAEjD,QAAI,SAAS,gBAAgB;AAC3B,SAAI,iBACF,OAAM,IAAI,UAAU;MAClB,MAAM;MACN,UAAU,uDAAuD,KAAK;KACvE;AAGH,aAAQ;MACN;MACA;MACA,QAAQ;OACN,MAAM;OACN,MAAM;MACP;KACF,EAAC;AACF;IACD;AAED,SAAK,iBACH,OAAM,IAAI,UAAU;KAClB,UAAU,eAAe,KAAK;KAC9B,MAAM;IACP;;AAIH,QAAI,OAAO,eAAe,eAIxB;;AAIF,QAAI,oBAAoB,IAAI,GAAG,CAG7B,OAAM,IAAI,UAAU;KAClB,UAAU,eAAe,GAAG;KAC5B,MAAM;IACP;IAGH,MAAM,WAAW,aAAa,OAAO,GACjC,0BAA0B,QAAQA,kBAAgB,OAAO,GACzD;AAEJ,QAAI,YAAY;;;MACd,MAAY,uBAAW,iBAAiB,SAAS;MAEjD,MAAM,eAAe,IAAI,QAAiB,CAAC,YAAY;AACrD,yBAAgB,OAAO,UAAU,MAAM,QAAQ,QAAQ;MACxD;MAGD,IAAIC;MAMJ,IAAIC;AAEJ,aAAO,MAAM;AACX,cAAO,MAAM,UAAU,KAAK,CAC1B,SAAS,MAAM,CAAC,MAAM,wBAAwB,EAC9C,YACD,EAAC;AAEF,WAAI,SAAS,SAAS;AACpB,cAAM,SAAS,UAAU;AACzB;OACD;AACD,WAAI,gBAAgB,OAAO;QACzB,MAAM,QAAQ,wBAAwB,KAAK;AAC3C,aAAK,UAAU;SAAE;SAAO;SAAM;SAAM;SAAK;SAAK;QAAO,EAAC;AACtD,gBAAQ;SACN;SACA;SACA,OAAO,cAAc;UACnB,QAAQ,OAAO,KAAK;UACpB;UACA;UACA;UACA;UACA;SACD,EAAC;QACH,EAAC;AACF;OACD;AACD,WAAI,KAAK,KACP;AAGF,kBAAS;QACP,MAAM;QACN,MAAM,KAAK;OACZ;AAED,WAAI,kBAAkB,KAAK,MAAM,EAAE;QACjC,MAAM,CAACC,MAAI,KAAK,GAAG,KAAK;AACxB,iBAAO,KAAKA;AACZ,iBAAO,OAAO;SACZ;SACA;QACD;OACF;AAED,eAAQ;QACN;QACA;QACA;OACD,EAAC;AAGF,cAAO;AACP,kBAAS;MACV;AAED,cAAQ;OACN;OACA;OACA,QAAQ,EACN,MAAM,UACP;MACF,EAAC;AACF,0BAAoB,OAAO,GAAG;;;;;;IAC/B,EAAC,CAAC,MAAM,CAAC,UAAU;KAClB,MAAM,QAAQ,wBAAwB,MAAM;AAC5C,UAAK,UAAU;MAAE;MAAO;MAAM;MAAM;MAAK;MAAK;KAAO,EAAC;AACtD,aAAQ;MACN;MACA;MACA,OAAO,cAAc;OACnB,QAAQ,OAAO,KAAK;OACpB;OACA;OACA;OACA;OACA;MACD,EAAC;KACH,EAAC;AACF,uBAAgB,OAAO;IACxB,EAAC;AACF,wBAAoB,IAAI,IAAIH,kBAAgB;AAE5C,YAAQ;KACN;KACA;KACA,QAAQ,EACN,MAAM,UACP;IACF,EAAC;GACH,EAAC,CAAC,MAAM,CAAC,UAAU;IAElB,MAAM,QAAQ,wBAAwB,MAAM;AAC5C,SAAK,UAAU;KAAE;KAAO;KAAM;KAAM;KAAK;KAAK;IAAO,EAAC;AACtD,YAAQ;KACN;KACA;KACA,OAAO,cAAc;MACnB,QAAQ,OAAO,KAAK;MACpB;MACA;MACA;MACA;MACA;KACD,EAAC;IACH,EAAC;GACH,EAAC;EACH;AACD,SAAO,GAAG,WAAW,CAAC,YAAY;GAEhC,MAAM,SAAS,QAAQ,UAAU;AACjC,OAAI,WAAW,OACb;AAEF,OAAI,WAAW,QAAQ;AACrB,SAAK,KAAK,uBACR,QAAO,KAAK,OAAO;AAErB;GACD;AACD,QAAK,YAAY;AAEf,iBAAa,iBAAiB,MAAM;KAClC,IAAI;AACJ,SAAI;AACF,YAAM,KAAK,MAAM,OAAO;AAExB,WAAK,SAAS,IAAI,CAChB,OAAM,IAAI,MAAM;KAEnB,SAAQ,OAAO;AACd,YAAM,IAAI,UAAU;OAClB,MAAM;OACN,UAAU;OACV;MACD;KACF;KAED,MAAM,mBAAmB,iCAAiC,IAAI,KAAK;AAEnE,YAAO;IACR,EAAC;AACF;GACD;GAED,MAAM,aAAa,IAAI,MAAM;AAC3B,QAAI;KACF,MAAMI,UAAmB,KAAK,MAAM,OAAO;KAC3C,MAAMC,OAAkB,MAAM,QAAQ,QAAQ,GAAG,UAAU,CAAC,OAAQ;AAEpE,YAAO,KAAK,IAAI,CAAC,QAAQ,iBAAiB,KAAK,YAAY,CAAC;IAC7D,SAAQ,OAAO;KACd,MAAM,QAAQ,IAAI,UAAU;MAC1B,MAAM;MACN;KACD;AAED,aAAQ;MACN,IAAI;MACJ,OAAO,cAAc;OACnB,QAAQ,OAAO,KAAK;OACpB;OACA,MAAM;OACN;OACA;OACA;MACD,EAAC;KACH,EAAC;AAEF,YAAO,CAAE;IACV;GACF,EAAC;AAEF,cAAW,IAAI,cAAc;EAC9B,EAAC;AAMF,SAAO,GAAG,SAAS,CAAC,UAAU;AAC5B,QAAK,UAAU;IACb;IACA,OAAO,wBAAwB,MAAM;IACrC;IACA;IACA,MAAM;IACN;GACD,EAAC;EACH,EAAC;AAEF,SAAO,KAAK,SAAS,MAAM;AACzB,QAAK,MAAM,OAAO,oBAAoB,QAAQ,CAC5C,KAAI,OAAO;AAEb,uBAAoB,OAAO;AAC3B,mBAAgB,OAAO;EACxB,EAAC;CACH;AACF;;;;AAKD,SAAgB,gBACdX,QACA,SAAS,KACT,aAAa,KACb;CACA,IAAIY;CACJ,IAAIC;CAEJ,MAAM,eAAe,MAAM;EACzB,MAAM,kBAAkB,MAAM;AAC5B,aAAU,WAAW,MAAM;AACzB,WAAO,WAAW;GACnB,GAAE,WAAW;EACf;AACD,SAAO,WAAW,MAAM;AACtB,UAAO,KAAK,OAAO;AAEnB,oBAAiB;EAClB,GAAE,OAAO;CACX;CAED,MAAM,YAAY,MAAM;AACtB,eAAa,KAAK;AAClB,eAAa,QAAQ;AAErB,gBAAc;CACf;AAED,QAAO,GAAG,WAAW,UAAU;AAE/B,QAAO,GAAG,SAAS,MAAM;AACvB,eAAa,KAAK;AAClB,eAAa,QAAQ;CACtB,EAAC;AAEF,eAAc;AACf;AAED,SAAgB,gBACdd,MACA;CACA,MAAM,eAAe,uBAAuB,KAAK;AACjD,MAAK,IAAI,GAAG,cAAc,CAAC,QAAQ,QAAQ;AACzC,MAAI,KAAK,WAAW,IAAI,KAAK,WAAW,KAAK,OAAO,CAClD;AAGF,eAAa,QAAQ,IAAI;CAC1B,EAAC;AAEF,QAAO,EACL,gCAAgC,MAAM;EACpC,MAAMe,WAAsC;GAC1C,IAAI;GACJ,QAAQ;EACT;EACD,MAAM,OAAO,KAAK,UAAU,SAAS;AACrC,OAAK,MAAM,UAAU,KAAK,IAAI,QAC5B,KAAI,OAAO,eAAe,eACxB,QAAO,KAAK,KAAK;CAGtB,EACF;AACF"}
@@ -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"}