@moqtap/codec 0.2.3 → 0.4.0

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 (313) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +100 -99
  3. package/dist/{chunk-RZHAPEXO.js → chunk-2A57DRXV.js} +36 -10
  4. package/dist/{chunk-73MWUKSJ.js → chunk-2UTVXWFF.js} +190 -102
  5. package/dist/{chunk-JTVCOMBI.cjs → chunk-3XKO6PCR.cjs} +290 -183
  6. package/dist/{chunk-ACQ4CUJP.cjs → chunk-4BDEU3D4.cjs} +237 -158
  7. package/dist/{chunk-4N4INRE7.cjs → chunk-4HBKHNU2.cjs} +144 -110
  8. package/dist/{chunk-2ZT6CVSE.js → chunk-4IVZZOY3.js} +269 -162
  9. package/dist/{chunk-GLBQDG4L.cjs → chunk-5O764MBD.cjs} +508 -117
  10. package/dist/chunk-7KBAWOBA.js +1212 -0
  11. package/dist/{chunk-JSQM2MG3.js → chunk-7QOPNSDF.js} +44 -12
  12. package/dist/{chunk-SYHW3FLI.cjs → chunk-7RE6KSIY.cjs} +28 -8
  13. package/dist/{chunk-YG5KJESI.js → chunk-AY6IAHUM.js} +28 -8
  14. package/dist/{chunk-EFM5T7OM.js → chunk-BLQDWOSG.js} +36 -10
  15. package/dist/{chunk-UYXTY6ZQ.cjs → chunk-E65QKRSN.cjs} +20 -12
  16. package/dist/{chunk-BISI45MN.cjs → chunk-EAHE3IOG.cjs} +44 -12
  17. package/dist/{chunk-PZBPH2D7.js → chunk-GCBFHZW6.js} +216 -137
  18. package/dist/{chunk-GXEW4COZ.cjs → chunk-H5NSL4MO.cjs} +36 -10
  19. package/dist/chunk-HZHSO7EW.cjs +1212 -0
  20. package/dist/{chunk-KZCYQ7ED.cjs → chunk-IILNSDEQ.cjs} +69 -41
  21. package/dist/{chunk-4XYGE53S.cjs → chunk-J3XCPBW3.cjs} +36 -10
  22. package/dist/{chunk-6AEHWULA.cjs → chunk-JKOEJZ5B.cjs} +28 -8
  23. package/dist/{chunk-RUPCJTC3.cjs → chunk-JL3NEW3O.cjs} +23 -1
  24. package/dist/{chunk-G7GI7LJA.js → chunk-LORZMJJB.js} +36 -10
  25. package/dist/{chunk-DUBCL3WF.cjs → chunk-LV5C6MEC.cjs} +36 -10
  26. package/dist/{chunk-ENURAVHI.cjs → chunk-MYXAD5JC.cjs} +44 -12
  27. package/dist/{chunk-FXZ2MYKJ.js → chunk-MZ7HUCGJ.js} +20 -12
  28. package/dist/{chunk-S74DWJE2.cjs → chunk-OKG2HT25.cjs} +277 -88
  29. package/dist/{chunk-BGWGVINJ.cjs → chunk-PKEOQSSZ.cjs} +144 -110
  30. package/dist/{chunk-2GODRVT5.js → chunk-Q46ZURKX.js} +325 -48
  31. package/dist/{chunk-UR6JKS56.js → chunk-Q7IGWV3P.js} +41 -9
  32. package/dist/{chunk-XSNX2IUJ.js → chunk-RW4UG7CN.js} +121 -87
  33. package/dist/{chunk-DWK5ZQZ4.js → chunk-RZTLQAKF.js} +28 -8
  34. package/dist/{chunk-UNS34PTA.cjs → chunk-S6IPIN66.cjs} +44 -12
  35. package/dist/{chunk-YIG2C3LF.cjs → chunk-SDWRXXOO.cjs} +214 -126
  36. package/dist/{chunk-CEH7ESNC.js → chunk-SHMA4PBY.js} +121 -87
  37. package/dist/{chunk-MC7W6PMI.js → chunk-U3ZVLT5L.js} +483 -135
  38. package/dist/{chunk-VJUUZ4W2.cjs → chunk-UJU63EFY.cjs} +374 -97
  39. package/dist/{chunk-7L43FE6P.js → chunk-VOU7PNHI.js} +23 -1
  40. package/dist/{chunk-E6E3NQYU.js → chunk-WRHGCVYN.js} +44 -12
  41. package/dist/{chunk-FPISPJ5N.cjs → chunk-XNWYLVGU.cjs} +529 -181
  42. package/dist/{chunk-U3IPZYPX.js → chunk-XS77RBY7.js} +228 -39
  43. package/dist/{chunk-JGG7CMSZ.cjs → chunk-XZE5R57R.cjs} +144 -110
  44. package/dist/{chunk-77MNXX3M.js → chunk-Y6KCSM3V.js} +121 -87
  45. package/dist/{chunk-TLYNOOQP.cjs → chunk-YTPZZI2M.cjs} +41 -9
  46. package/dist/{chunk-7DUBLRXC.js → chunk-YWRCSQBA.js} +44 -12
  47. package/dist/{chunk-MRJWLGYH.js → chunk-Z3VKP3PJ.js} +69 -41
  48. package/dist/{chunk-E6P74GDT.js → chunk-Z6U26IRI.js} +464 -73
  49. package/dist/{codec-FvGCxIhr.d.ts → codec-25u4_1HS.d.ts} +4 -4
  50. package/dist/{codec-DRcsBCsb.d.ts → codec-3Ppy_5Gd.d.ts} +4 -4
  51. package/dist/{codec-BdVMRMOI.d.ts → codec-BB0U8MF2.d.cts} +4 -4
  52. package/dist/{codec-B2cH-f5V.d.cts → codec-BHHfBTnV.d.ts} +4 -4
  53. package/dist/{codec-B5K73Bdj.d.ts → codec-BN6jk0Td.d.cts} +4 -4
  54. package/dist/{codec-R8GrCPt2.d.ts → codec-BU0gaSZm.d.ts} +4 -4
  55. package/dist/{codec-Bq-tLtfP.d.ts → codec-C-Yk2RNa.d.ts} +4 -4
  56. package/dist/codec-CFWQY9Lj.d.cts +18 -0
  57. package/dist/{codec-CPlK3Pi5.d.ts → codec-COy4uuPO.d.cts} +4 -4
  58. package/dist/codec-CewFCsEy.d.ts +18 -0
  59. package/dist/{codec-KXHvXZVb.d.cts → codec-Ck7ZwFF1.d.cts} +4 -4
  60. package/dist/{codec-DZhZSIii.d.cts → codec-D2QVSH9D.d.ts} +4 -4
  61. package/dist/{codec-BwFgpeQu.d.ts → codec-DDUBJGn0.d.cts} +4 -4
  62. package/dist/{codec-BFeliJFc.d.ts → codec-DNfml-se.d.ts} +4 -4
  63. package/dist/{codec-C4n1PS09.d.cts → codec-DoOGjjDq.d.cts} +4 -4
  64. package/dist/{codec-Bap882Fh.d.cts → codec-J7ekOSMc.d.ts} +4 -4
  65. package/dist/{codec-SKBeHQk7.d.ts → codec-R9TJCq-E.d.cts} +4 -4
  66. package/dist/{codec-DNUIgLqc.d.cts → codec-ZwV-Njt6.d.ts} +4 -4
  67. package/dist/{codec-HgBgHkFI.d.cts → codec-j819z_hL.d.cts} +4 -4
  68. package/dist/{codec-DY4QH364.d.cts → codec-w8z2j_uo.d.cts} +4 -4
  69. package/dist/{codec-CPvPq0sb.d.cts → codec-wtt6WF1K.d.ts} +4 -4
  70. package/dist/{codec-BUMjz0J4.d.cts → codec-z6_2PSzi.d.cts} +4 -4
  71. package/dist/{draft7-session.cjs → draft07-session.cjs} +2 -2
  72. package/dist/draft07-session.d.cts +8 -0
  73. package/dist/draft07-session.d.ts +8 -0
  74. package/dist/{draft7-session.js → draft07-session.js} +1 -1
  75. package/dist/draft07.cjs +129 -0
  76. package/dist/draft07.d.cts +67 -0
  77. package/dist/draft07.d.ts +67 -0
  78. package/dist/draft07.js +129 -0
  79. package/dist/draft08-session.cjs +6 -0
  80. package/dist/draft08-session.d.cts +8 -0
  81. package/dist/draft08-session.d.ts +8 -0
  82. package/dist/{draft8-session.js → draft08-session.js} +1 -1
  83. package/dist/draft08.cjs +119 -0
  84. package/dist/{draft8.d.cts → draft08.d.cts} +15 -13
  85. package/dist/{draft8.d.ts → draft08.d.ts} +15 -13
  86. package/dist/{draft8.js → draft08.js} +7 -4
  87. package/dist/draft09-session.cjs +6 -0
  88. package/dist/draft09-session.d.cts +8 -0
  89. package/dist/draft09-session.d.ts +8 -0
  90. package/dist/{draft9-session.js → draft09-session.js} +1 -1
  91. package/dist/draft09.cjs +119 -0
  92. package/dist/{draft9.d.cts → draft09.d.cts} +15 -13
  93. package/dist/{draft9.d.ts → draft09.d.ts} +15 -13
  94. package/dist/{draft9.js → draft09.js} +7 -4
  95. package/dist/draft10-session.cjs +2 -2
  96. package/dist/draft10-session.d.cts +6 -6
  97. package/dist/draft10-session.d.ts +6 -6
  98. package/dist/draft10-session.js +1 -1
  99. package/dist/draft10.cjs +8 -5
  100. package/dist/draft10.d.cts +14 -12
  101. package/dist/draft10.d.ts +14 -12
  102. package/dist/draft10.js +16 -13
  103. package/dist/draft11-session.cjs +2 -2
  104. package/dist/draft11-session.d.cts +6 -6
  105. package/dist/draft11-session.d.ts +6 -6
  106. package/dist/draft11-session.js +1 -1
  107. package/dist/draft11.cjs +8 -5
  108. package/dist/draft11.d.cts +14 -12
  109. package/dist/draft11.d.ts +14 -12
  110. package/dist/draft11.js +16 -13
  111. package/dist/draft12-session.cjs +2 -2
  112. package/dist/draft12-session.d.cts +6 -6
  113. package/dist/draft12-session.d.ts +6 -6
  114. package/dist/draft12-session.js +1 -1
  115. package/dist/draft12.cjs +8 -5
  116. package/dist/draft12.d.cts +16 -14
  117. package/dist/draft12.d.ts +16 -14
  118. package/dist/draft12.js +16 -13
  119. package/dist/draft13-session.cjs +2 -2
  120. package/dist/draft13-session.d.cts +6 -6
  121. package/dist/draft13-session.d.ts +6 -6
  122. package/dist/draft13-session.js +1 -1
  123. package/dist/draft13.cjs +8 -5
  124. package/dist/draft13.d.cts +16 -14
  125. package/dist/draft13.d.ts +16 -14
  126. package/dist/draft13.js +16 -13
  127. package/dist/draft14-session.cjs +2 -2
  128. package/dist/draft14-session.d.cts +6 -6
  129. package/dist/draft14-session.d.ts +6 -6
  130. package/dist/draft14-session.js +1 -1
  131. package/dist/draft14.cjs +14 -5
  132. package/dist/draft14.d.cts +14 -12
  133. package/dist/draft14.d.ts +14 -12
  134. package/dist/draft14.js +13 -4
  135. package/dist/draft15-session.cjs +2 -2
  136. package/dist/draft15-session.d.cts +6 -6
  137. package/dist/draft15-session.d.ts +6 -6
  138. package/dist/draft15-session.js +1 -1
  139. package/dist/draft15.cjs +8 -5
  140. package/dist/draft15.d.cts +14 -12
  141. package/dist/draft15.d.ts +14 -12
  142. package/dist/draft15.js +16 -13
  143. package/dist/draft16-session.cjs +2 -2
  144. package/dist/draft16-session.d.cts +6 -6
  145. package/dist/draft16-session.d.ts +6 -6
  146. package/dist/draft16-session.js +1 -1
  147. package/dist/draft16.cjs +8 -5
  148. package/dist/draft16.d.cts +14 -12
  149. package/dist/draft16.d.ts +14 -12
  150. package/dist/draft16.js +16 -13
  151. package/dist/draft17-session.cjs +2 -2
  152. package/dist/draft17-session.d.cts +7 -7
  153. package/dist/draft17-session.d.ts +7 -7
  154. package/dist/draft17-session.js +1 -1
  155. package/dist/draft17.cjs +8 -5
  156. package/dist/draft17.d.cts +11 -9
  157. package/dist/draft17.d.ts +11 -9
  158. package/dist/draft17.js +16 -13
  159. package/dist/index.cjs +52 -74
  160. package/dist/index.d.cts +41 -60
  161. package/dist/index.d.ts +41 -60
  162. package/dist/index.js +40 -62
  163. package/dist/{session-types-CJIFbTPd.d.ts → session-types-C7UONex5.d.cts} +28 -27
  164. package/dist/{session-types-Cbq8IGCP.d.cts → session-types-X-IYEGoG.d.ts} +28 -27
  165. package/dist/session.cjs +46 -13
  166. package/dist/session.d.cts +29 -11
  167. package/dist/session.d.ts +29 -11
  168. package/dist/session.js +46 -13
  169. package/dist/{types-DxSFvL2b.d.cts → types--Q7_DcvP.d.cts} +43 -39
  170. package/dist/{types-DxSFvL2b.d.ts → types--Q7_DcvP.d.ts} +43 -39
  171. package/dist/{types-B0FT5Qs2.d.cts → types-0IWbU9Z_.d.cts} +36 -36
  172. package/dist/{types-B0FT5Qs2.d.ts → types-0IWbU9Z_.d.ts} +36 -36
  173. package/dist/{types-gQsr0AAA.d.cts → types-B3g5G9KP.d.cts} +36 -36
  174. package/dist/{types-gQsr0AAA.d.ts → types-B3g5G9KP.d.ts} +36 -36
  175. package/dist/{types-Pme7sua0.d.cts → types-BFpFNM_m.d.cts} +57 -32
  176. package/dist/{types-Pme7sua0.d.ts → types-BFpFNM_m.d.ts} +57 -32
  177. package/dist/{types-8gUGeMgs.d.cts → types-Br7fm2mf.d.cts} +48 -26
  178. package/dist/{types-8gUGeMgs.d.ts → types-Br7fm2mf.d.ts} +48 -26
  179. package/dist/{types-BeAVNU-F.d.cts → types-C2qKTRR_.d.cts} +50 -45
  180. package/dist/{types-BeAVNU-F.d.ts → types-C2qKTRR_.d.ts} +50 -45
  181. package/dist/{types-DKpsfD3i.d.cts → types-DEaypVsD.d.cts} +115 -55
  182. package/dist/{types-DKpsfD3i.d.ts → types-DEaypVsD.d.ts} +115 -55
  183. package/dist/types-Dl4IaAHR.d.cts +282 -0
  184. package/dist/types-Dl4IaAHR.d.ts +282 -0
  185. package/dist/{types-CDa7F5ct.d.cts → types-DrQpTW1G.d.cts} +58 -50
  186. package/dist/{types-CDa7F5ct.d.ts → types-DrQpTW1G.d.ts} +58 -50
  187. package/dist/types-DuIO7cWK.d.cts +25 -0
  188. package/dist/types-DuIO7cWK.d.ts +25 -0
  189. package/dist/{types-B9A2g05r.d.cts → types-DuxfOYiO.d.cts} +47 -31
  190. package/dist/{types-B9A2g05r.d.ts → types-DuxfOYiO.d.ts} +47 -31
  191. package/dist/{types-D1dI_oTX.d.cts → types-jV1yDDBA.d.cts} +36 -36
  192. package/dist/{types-D1dI_oTX.d.ts → types-jV1yDDBA.d.ts} +36 -36
  193. package/package.json +192 -192
  194. package/src/core/buffer-reader.ts +130 -130
  195. package/src/core/buffer-writer.ts +100 -100
  196. package/src/core/errors.ts +1 -1
  197. package/src/core/hex.ts +21 -21
  198. package/src/core/session-types.ts +61 -59
  199. package/src/core/types.ts +18 -361
  200. package/src/drafts/draft07/codec.ts +1058 -938
  201. package/src/drafts/draft07/data-streams.ts +240 -240
  202. package/src/drafts/draft07/index.ts +124 -89
  203. package/src/drafts/draft07/messages.ts +76 -42
  204. package/src/drafts/draft07/rules.ts +107 -101
  205. package/src/drafts/draft07/session-fsm.ts +315 -287
  206. package/src/drafts/draft07/session.ts +8 -6
  207. package/src/drafts/draft07/types.ts +406 -72
  208. package/src/drafts/draft07/varint.ts +51 -51
  209. package/src/drafts/draft08/codec.ts +985 -953
  210. package/src/drafts/draft08/data-streams.ts +363 -359
  211. package/src/drafts/draft08/index.ts +10 -9
  212. package/src/drafts/draft08/messages.ts +59 -59
  213. package/src/drafts/draft08/rules.ts +73 -73
  214. package/src/drafts/draft08/session-fsm.ts +335 -303
  215. package/src/drafts/draft08/session.ts +6 -7
  216. package/src/drafts/draft08/types.ts +380 -384
  217. package/src/drafts/draft09/codec.ts +977 -945
  218. package/src/drafts/draft09/data-streams.ts +336 -332
  219. package/src/drafts/draft09/index.ts +10 -9
  220. package/src/drafts/draft09/messages.ts +59 -59
  221. package/src/drafts/draft09/rules.ts +73 -73
  222. package/src/drafts/draft09/session-fsm.ts +335 -303
  223. package/src/drafts/draft09/session.ts +6 -7
  224. package/src/drafts/draft09/types.ts +380 -384
  225. package/src/drafts/draft10/codec.ts +977 -945
  226. package/src/drafts/draft10/data-streams.ts +336 -332
  227. package/src/drafts/draft10/index.ts +10 -9
  228. package/src/drafts/draft10/messages.ts +59 -59
  229. package/src/drafts/draft10/rules.ts +73 -73
  230. package/src/drafts/draft10/session-fsm.ts +335 -303
  231. package/src/drafts/draft10/session.ts +6 -7
  232. package/src/drafts/draft10/types.ts +380 -384
  233. package/src/drafts/draft11/codec.ts +1054 -988
  234. package/src/drafts/draft11/data-streams.ts +316 -269
  235. package/src/drafts/draft11/index.ts +10 -9
  236. package/src/drafts/draft11/messages.ts +60 -59
  237. package/src/drafts/draft11/rules.ts +73 -73
  238. package/src/drafts/draft11/session-fsm.ts +359 -333
  239. package/src/drafts/draft11/session.ts +6 -7
  240. package/src/drafts/draft11/types.ts +385 -381
  241. package/src/drafts/draft12/codec.ts +1178 -1122
  242. package/src/drafts/draft12/data-streams.ts +324 -275
  243. package/src/drafts/draft12/index.ts +10 -9
  244. package/src/drafts/draft12/messages.ts +67 -66
  245. package/src/drafts/draft12/rules.ts +79 -79
  246. package/src/drafts/draft12/session-fsm.ts +384 -358
  247. package/src/drafts/draft12/session.ts +6 -7
  248. package/src/drafts/draft12/types.ts +424 -419
  249. package/src/drafts/draft13/codec.ts +1296 -1206
  250. package/src/drafts/draft13/data-streams.ts +326 -275
  251. package/src/drafts/draft13/index.ts +10 -9
  252. package/src/drafts/draft13/messages.ts +73 -68
  253. package/src/drafts/draft13/rules.ts +81 -81
  254. package/src/drafts/draft13/session-fsm.ts +392 -366
  255. package/src/drafts/draft13/session.ts +6 -7
  256. package/src/drafts/draft13/types.ts +447 -438
  257. package/src/drafts/draft14/codec.ts +1347 -1043
  258. package/src/drafts/draft14/data-streams.ts +831 -813
  259. package/src/drafts/draft14/index.ts +17 -9
  260. package/src/drafts/draft14/messages.ts +65 -65
  261. package/src/drafts/draft14/rules.ts +81 -81
  262. package/src/drafts/draft14/session-fsm.ts +415 -405
  263. package/src/drafts/draft14/session.ts +6 -7
  264. package/src/drafts/draft14/types.ts +451 -381
  265. package/src/drafts/draft15/codec.ts +1138 -978
  266. package/src/drafts/draft15/data-streams.ts +842 -794
  267. package/src/drafts/draft15/index.ts +10 -9
  268. package/src/drafts/draft15/messages.ts +54 -53
  269. package/src/drafts/draft15/rules.ts +67 -67
  270. package/src/drafts/draft15/session-fsm.ts +319 -299
  271. package/src/drafts/draft15/session.ts +6 -7
  272. package/src/drafts/draft15/types.ts +357 -339
  273. package/src/drafts/draft16/codec.ts +1242 -966
  274. package/src/drafts/draft16/data-streams.ts +835 -789
  275. package/src/drafts/draft16/index.ts +10 -9
  276. package/src/drafts/draft16/messages.ts +56 -55
  277. package/src/drafts/draft16/rules.ts +69 -69
  278. package/src/drafts/draft16/session-fsm.ts +319 -299
  279. package/src/drafts/draft16/session.ts +6 -7
  280. package/src/drafts/draft16/types.ts +386 -357
  281. package/src/drafts/draft17/codec.ts +1209 -971
  282. package/src/drafts/draft17/data-streams.ts +969 -758
  283. package/src/drafts/draft17/index.ts +9 -7
  284. package/src/drafts/draft17/messages.ts +43 -42
  285. package/src/drafts/draft17/rules.ts +58 -58
  286. package/src/drafts/draft17/session-fsm.ts +248 -216
  287. package/src/drafts/draft17/session.ts +5 -5
  288. package/src/drafts/draft17/types.ts +337 -313
  289. package/src/index.ts +85 -274
  290. package/src/session.ts +63 -25
  291. package/dist/chunk-FZDIEHQL.cjs +0 -1042
  292. package/dist/chunk-HDWJ2GDE.js +0 -24
  293. package/dist/chunk-KNDYS3DK.cjs +0 -24
  294. package/dist/chunk-N2KBF5Q2.js +0 -1042
  295. package/dist/draft7-session.d.cts +0 -7
  296. package/dist/draft7-session.d.ts +0 -7
  297. package/dist/draft7.cjs +0 -72
  298. package/dist/draft7.d.cts +0 -148
  299. package/dist/draft7.d.ts +0 -148
  300. package/dist/draft7.js +0 -72
  301. package/dist/draft8-session.cjs +0 -6
  302. package/dist/draft8-session.d.cts +0 -8
  303. package/dist/draft8-session.d.ts +0 -8
  304. package/dist/draft8.cjs +0 -116
  305. package/dist/draft9-session.cjs +0 -6
  306. package/dist/draft9-session.d.cts +0 -8
  307. package/dist/draft9-session.d.ts +0 -8
  308. package/dist/draft9.cjs +0 -116
  309. package/dist/types-QNXoxC9Y.d.cts +0 -236
  310. package/dist/types-QNXoxC9Y.d.ts +0 -236
  311. package/src/drafts/draft07/announce-fsm.ts +0 -2
  312. package/src/drafts/draft07/parameters.ts +0 -12
  313. package/src/drafts/draft07/subscription-fsm.ts +0 -3
@@ -0,0 +1,1212 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
2
+
3
+
4
+
5
+
6
+
7
+ var _chunkJL3NEW3Ocjs = require('./chunk-JL3NEW3O.cjs');
8
+
9
+ // src/drafts/draft07/messages.ts
10
+ var MSG_SUBSCRIBE_UPDATE = 0x02n;
11
+ var MSG_SUBSCRIBE = 0x03n;
12
+ var MSG_SUBSCRIBE_OK = 0x04n;
13
+ var MSG_SUBSCRIBE_ERROR = 0x05n;
14
+ var MSG_ANNOUNCE = 0x06n;
15
+ var MSG_ANNOUNCE_OK = 0x07n;
16
+ var MSG_ANNOUNCE_ERROR = 0x08n;
17
+ var MSG_UNANNOUNCE = 0x09n;
18
+ var MSG_UNSUBSCRIBE = 0x0an;
19
+ var MSG_SUBSCRIBE_DONE = 0x0bn;
20
+ var MSG_ANNOUNCE_CANCEL = 0x0cn;
21
+ var MSG_TRACK_STATUS_REQUEST = 0x0dn;
22
+ var MSG_TRACK_STATUS = 0x0en;
23
+ var MSG_GOAWAY = 0x10n;
24
+ var MSG_SUBSCRIBE_ANNOUNCES = 0x11n;
25
+ var MSG_SUBSCRIBE_ANNOUNCES_OK = 0x12n;
26
+ var MSG_SUBSCRIBE_ANNOUNCES_ERROR = 0x13n;
27
+ var MSG_UNSUBSCRIBE_ANNOUNCES = 0x14n;
28
+ var MSG_MAX_SUBSCRIBE_ID = 0x15n;
29
+ var MSG_FETCH = 0x16n;
30
+ var MSG_FETCH_CANCEL = 0x17n;
31
+ var MSG_FETCH_OK = 0x18n;
32
+ var MSG_FETCH_ERROR = 0x19n;
33
+ var MSG_CLIENT_SETUP = 0x40n;
34
+ var MSG_SERVER_SETUP = 0x41n;
35
+ var SETUP_PARAM_ROLE = 0x00n;
36
+ var SETUP_PARAM_PATH = 0x01n;
37
+ var SETUP_PARAM_MAX_SUBSCRIBE_ID = 0x02n;
38
+ var PARAM_AUTHORIZATION_INFO = 0x02n;
39
+ var PARAM_DELIVERY_TIMEOUT = 0x03n;
40
+ var PARAM_MAX_CACHE_DURATION = 0x04n;
41
+ var MSG_OBJECT_DATAGRAM = 0x01n;
42
+ var MSG_STREAM_HEADER_SUBGROUP = 0x04n;
43
+ var MSG_FETCH_HEADER = 0x05n;
44
+ var MESSAGE_TYPE_MAP = /* @__PURE__ */ new Map([
45
+ [MSG_CLIENT_SETUP, "client_setup"],
46
+ [MSG_SERVER_SETUP, "server_setup"],
47
+ [MSG_SUBSCRIBE, "subscribe"],
48
+ [MSG_SUBSCRIBE_OK, "subscribe_ok"],
49
+ [MSG_SUBSCRIBE_ERROR, "subscribe_error"],
50
+ [MSG_SUBSCRIBE_UPDATE, "subscribe_update"],
51
+ [MSG_SUBSCRIBE_DONE, "subscribe_done"],
52
+ [MSG_UNSUBSCRIBE, "unsubscribe"],
53
+ [MSG_ANNOUNCE, "announce"],
54
+ [MSG_ANNOUNCE_OK, "announce_ok"],
55
+ [MSG_ANNOUNCE_ERROR, "announce_error"],
56
+ [MSG_UNANNOUNCE, "unannounce"],
57
+ [MSG_ANNOUNCE_CANCEL, "announce_cancel"],
58
+ [MSG_SUBSCRIBE_ANNOUNCES, "subscribe_announces"],
59
+ [MSG_SUBSCRIBE_ANNOUNCES_OK, "subscribe_announces_ok"],
60
+ [MSG_SUBSCRIBE_ANNOUNCES_ERROR, "subscribe_announces_error"],
61
+ [MSG_UNSUBSCRIBE_ANNOUNCES, "unsubscribe_announces"],
62
+ [MSG_FETCH, "fetch"],
63
+ [MSG_FETCH_OK, "fetch_ok"],
64
+ [MSG_FETCH_ERROR, "fetch_error"],
65
+ [MSG_FETCH_CANCEL, "fetch_cancel"],
66
+ [MSG_TRACK_STATUS_REQUEST, "track_status_request"],
67
+ [MSG_TRACK_STATUS, "track_status"],
68
+ [MSG_GOAWAY, "goaway"],
69
+ [MSG_MAX_SUBSCRIBE_ID, "max_subscribe_id"]
70
+ ]);
71
+ var MESSAGE_ID_MAP = new Map(
72
+ [...MESSAGE_TYPE_MAP.entries()].map(([id, name]) => [name, id])
73
+ );
74
+
75
+ // src/drafts/draft07/varint.ts
76
+ function encodeVarInt(value) {
77
+ const v = BigInt(value);
78
+ if (v < 0n) throw new Error("VarInt value must be non-negative");
79
+ if (v < 0x40n) {
80
+ const buf = new Uint8Array(1);
81
+ buf[0] = Number(v);
82
+ return buf;
83
+ }
84
+ if (v < 0x4000n) {
85
+ const buf = new Uint8Array(2);
86
+ const n = Number(v) | 16384;
87
+ buf[0] = n >> 8;
88
+ buf[1] = n & 255;
89
+ return buf;
90
+ }
91
+ if (v < 0x40000000n) {
92
+ const buf = new Uint8Array(4);
93
+ const n = Number(v) | 2147483648;
94
+ buf[0] = n >>> 24 & 255;
95
+ buf[1] = n >>> 16 & 255;
96
+ buf[2] = n >>> 8 & 255;
97
+ buf[3] = n & 255;
98
+ return buf;
99
+ }
100
+ if (v < 0x4000000000000000n) {
101
+ const buf = new Uint8Array(8);
102
+ const tagged = v | 0xc000000000000000n;
103
+ const view = new DataView(buf.buffer);
104
+ view.setBigUint64(0, tagged);
105
+ return buf;
106
+ }
107
+ throw new Error("VarInt value exceeds 62-bit range");
108
+ }
109
+ function decodeVarInt(bytes, offset = 0) {
110
+ try {
111
+ const reader = new (0, _chunkJL3NEW3Ocjs.BufferReader)(bytes, offset);
112
+ const value = reader.readVarInt();
113
+ return { ok: true, value, bytesRead: reader.offset - offset };
114
+ } catch (e) {
115
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError) {
116
+ return { ok: false, error: e };
117
+ }
118
+ throw e;
119
+ }
120
+ }
121
+
122
+ // src/drafts/draft07/data-streams.ts
123
+ var SUBGROUP_STREAM_TYPE = 0x04n;
124
+ var FETCH_STREAM_TYPE = 0x05n;
125
+ var DATAGRAM_TYPE = 0x01n;
126
+ function encodeSubgroupStream(stream) {
127
+ const w = new (0, _chunkJL3NEW3Ocjs.BufferWriter)();
128
+ w.writeVarInt(SUBGROUP_STREAM_TYPE);
129
+ w.writeVarInt(stream.trackAlias);
130
+ w.writeVarInt(stream.groupId);
131
+ w.writeVarInt(stream.subgroupId);
132
+ w.writeUint8(stream.publisherPriority);
133
+ for (const obj of stream.objects) {
134
+ w.writeVarInt(obj.objectId);
135
+ w.writeVarInt(obj.payloadLength);
136
+ if (obj.payloadLength === 0 && obj.status !== void 0) {
137
+ w.writeVarInt(obj.status);
138
+ } else {
139
+ w.writeBytes(obj.payload);
140
+ }
141
+ }
142
+ return w.finish();
143
+ }
144
+ function encodeDatagram(dg) {
145
+ const w = new (0, _chunkJL3NEW3Ocjs.BufferWriter)();
146
+ w.writeVarInt(DATAGRAM_TYPE);
147
+ w.writeVarInt(dg.trackAlias);
148
+ w.writeVarInt(dg.groupId);
149
+ w.writeVarInt(dg.objectId);
150
+ w.writeUint8(dg.publisherPriority);
151
+ w.writeVarInt(dg.payloadLength);
152
+ if (dg.payloadLength === 0 && dg.status !== void 0) {
153
+ w.writeVarInt(dg.status);
154
+ } else {
155
+ w.writeBytes(dg.payload);
156
+ }
157
+ return w.finish();
158
+ }
159
+ function encodeFetchStream(stream) {
160
+ const w = new (0, _chunkJL3NEW3Ocjs.BufferWriter)();
161
+ w.writeVarInt(FETCH_STREAM_TYPE);
162
+ w.writeVarInt(stream.subscribeId);
163
+ for (const obj of stream.objects) {
164
+ w.writeVarInt(obj.groupId);
165
+ w.writeVarInt(obj.subgroupId);
166
+ w.writeVarInt(obj.objectId);
167
+ w.writeUint8(obj.publisherPriority);
168
+ w.writeVarInt(obj.payloadLength);
169
+ if (obj.payloadLength === 0 && obj.status !== void 0) {
170
+ w.writeVarInt(obj.status);
171
+ } else {
172
+ w.writeBytes(obj.payload);
173
+ }
174
+ }
175
+ return w.finish();
176
+ }
177
+ function decodeSubgroupStream(bytes) {
178
+ try {
179
+ const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(bytes);
180
+ const streamType = Number(r.readVarInt());
181
+ if (streamType !== 4) {
182
+ return {
183
+ ok: false,
184
+ error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
185
+ "CONSTRAINT_VIOLATION",
186
+ `Expected subgroup type 0x04, got 0x${streamType.toString(16)}`,
187
+ 0
188
+ )
189
+ };
190
+ }
191
+ const trackAlias = r.readVarInt();
192
+ const groupId = r.readVarInt();
193
+ const subgroupId = r.readVarInt();
194
+ const publisherPriority = r.readUint8();
195
+ const objects = [];
196
+ while (r.remaining > 0) {
197
+ const byteOffset = r.offset;
198
+ const objectId = r.readVarInt();
199
+ const payloadLength = Number(r.readVarInt());
200
+ let payload;
201
+ let status;
202
+ let payloadByteOffset;
203
+ if (payloadLength === 0) {
204
+ status = r.readVarInt();
205
+ payloadByteOffset = r.offset;
206
+ payload = new Uint8Array(0);
207
+ } else {
208
+ payloadByteOffset = r.offset;
209
+ payload = r.readBytesView(payloadLength);
210
+ }
211
+ const obj = {
212
+ type: "object",
213
+ objectId,
214
+ payloadLength,
215
+ payload,
216
+ byteOffset,
217
+ payloadByteOffset
218
+ };
219
+ if (status !== void 0) obj.status = status;
220
+ objects.push(obj);
221
+ }
222
+ return {
223
+ ok: true,
224
+ value: {
225
+ type: "subgroup",
226
+ streamTypeId: 4,
227
+ trackAlias,
228
+ groupId,
229
+ subgroupId,
230
+ publisherPriority,
231
+ objects
232
+ },
233
+ bytesRead: r.offset
234
+ };
235
+ } catch (e) {
236
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError) return { ok: false, error: e };
237
+ throw e;
238
+ }
239
+ }
240
+ function decodeDatagram(bytes) {
241
+ try {
242
+ const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(bytes);
243
+ const streamType = Number(r.readVarInt());
244
+ if (streamType !== 1) {
245
+ return {
246
+ ok: false,
247
+ error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
248
+ "CONSTRAINT_VIOLATION",
249
+ `Expected datagram type 0x01, got 0x${streamType.toString(16)}`,
250
+ 0
251
+ )
252
+ };
253
+ }
254
+ const trackAlias = r.readVarInt();
255
+ const groupId = r.readVarInt();
256
+ const objectId = r.readVarInt();
257
+ const publisherPriority = r.readUint8();
258
+ const payloadLength = Number(r.readVarInt());
259
+ let status;
260
+ let payload;
261
+ if (payloadLength === 0) {
262
+ status = r.readVarInt();
263
+ payload = new Uint8Array(0);
264
+ } else {
265
+ payload = r.readBytesView(payloadLength);
266
+ }
267
+ const result = {
268
+ type: "datagram",
269
+ streamTypeId: 1,
270
+ trackAlias,
271
+ groupId,
272
+ objectId,
273
+ publisherPriority,
274
+ payloadLength,
275
+ payload
276
+ };
277
+ if (status !== void 0) result.status = status;
278
+ return { ok: true, value: result, bytesRead: r.offset };
279
+ } catch (e) {
280
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError) return { ok: false, error: e };
281
+ throw e;
282
+ }
283
+ }
284
+ function decodeFetchStream(bytes) {
285
+ try {
286
+ const r = new (0, _chunkJL3NEW3Ocjs.BufferReader)(bytes);
287
+ const streamType = Number(r.readVarInt());
288
+ if (streamType !== 5) {
289
+ return {
290
+ ok: false,
291
+ error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
292
+ "CONSTRAINT_VIOLATION",
293
+ `Expected fetch type 0x05, got 0x${streamType.toString(16)}`,
294
+ 0
295
+ )
296
+ };
297
+ }
298
+ const subscribeId = r.readVarInt();
299
+ const objects = [];
300
+ while (r.remaining > 0) {
301
+ const byteOffset = r.offset;
302
+ const groupId = r.readVarInt();
303
+ const subgroupId = r.readVarInt();
304
+ const objectId = r.readVarInt();
305
+ const publisherPriority = r.readUint8();
306
+ const payloadLength = Number(r.readVarInt());
307
+ let payload;
308
+ let status;
309
+ let payloadByteOffset;
310
+ if (payloadLength === 0) {
311
+ status = r.readVarInt();
312
+ payloadByteOffset = r.offset;
313
+ payload = new Uint8Array(0);
314
+ } else {
315
+ payloadByteOffset = r.offset;
316
+ payload = r.readBytesView(payloadLength);
317
+ }
318
+ const obj = {
319
+ type: "object",
320
+ groupId,
321
+ subgroupId,
322
+ objectId,
323
+ publisherPriority,
324
+ payloadLength,
325
+ payload,
326
+ byteOffset,
327
+ payloadByteOffset
328
+ };
329
+ if (status !== void 0) obj.status = status;
330
+ objects.push(obj);
331
+ }
332
+ return {
333
+ ok: true,
334
+ value: { type: "fetch", subscribeId, objects },
335
+ bytesRead: r.offset
336
+ };
337
+ } catch (e) {
338
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError) return { ok: false, error: e };
339
+ throw e;
340
+ }
341
+ }
342
+
343
+ // src/drafts/draft07/codec.ts
344
+ var textEncoder = /* @__PURE__ */ new TextEncoder();
345
+ var textDecoder = /* @__PURE__ */ new TextDecoder();
346
+ var DATA_STREAM_TYPE_IDS = /* @__PURE__ */ new Set([MSG_OBJECT_DATAGRAM]);
347
+ function encodeSetupParams(params, w) {
348
+ let count = 0;
349
+ if (params.role !== void 0) count++;
350
+ if (params.path !== void 0) count++;
351
+ if (params.max_subscribe_id !== void 0) count++;
352
+ if (params.unknown) count += params.unknown.length;
353
+ w.writeVarInt(count);
354
+ if (params.role !== void 0) {
355
+ w.writeVarInt(SETUP_PARAM_ROLE);
356
+ const tmpW = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(16);
357
+ tmpW.writeVarInt(params.role);
358
+ const raw = tmpW.finish();
359
+ w.writeVarInt(raw.byteLength);
360
+ w.writeBytes(raw);
361
+ }
362
+ if (params.path !== void 0) {
363
+ w.writeVarInt(SETUP_PARAM_PATH);
364
+ const encoded = textEncoder.encode(params.path);
365
+ w.writeVarInt(encoded.byteLength);
366
+ w.writeBytes(encoded);
367
+ }
368
+ if (params.max_subscribe_id !== void 0) {
369
+ w.writeVarInt(SETUP_PARAM_MAX_SUBSCRIBE_ID);
370
+ const tmpW = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(16);
371
+ tmpW.writeVarInt(params.max_subscribe_id);
372
+ const raw = tmpW.finish();
373
+ w.writeVarInt(raw.byteLength);
374
+ w.writeBytes(raw);
375
+ }
376
+ if (params.unknown) {
377
+ for (const u of params.unknown) {
378
+ w.writeVarInt(BigInt(u.id));
379
+ const raw = _chunkJL3NEW3Ocjs.hexToBytes.call(void 0, u.raw_hex);
380
+ w.writeVarInt(raw.byteLength);
381
+ w.writeBytes(raw);
382
+ }
383
+ }
384
+ }
385
+ function decodeSetupParams(r) {
386
+ const count = Number(r.readVarInt());
387
+ const result = {};
388
+ const unknown = [];
389
+ for (let i = 0; i < count; i++) {
390
+ const paramType = r.readVarInt();
391
+ const length = Number(r.readVarInt());
392
+ if (paramType === SETUP_PARAM_ROLE) {
393
+ const blob = r.readBytes(length);
394
+ const tmpReader = new (0, _chunkJL3NEW3Ocjs.BufferReader)(blob);
395
+ result.role = tmpReader.readVarInt();
396
+ } else if (paramType === SETUP_PARAM_PATH) {
397
+ const bytes = r.readBytes(length);
398
+ result.path = textDecoder.decode(bytes);
399
+ } else if (paramType === SETUP_PARAM_MAX_SUBSCRIBE_ID) {
400
+ const blob = r.readBytes(length);
401
+ const tmpReader = new (0, _chunkJL3NEW3Ocjs.BufferReader)(blob);
402
+ result.max_subscribe_id = tmpReader.readVarInt();
403
+ } else {
404
+ const bytes = r.readBytes(length);
405
+ unknown.push({
406
+ id: `0x${paramType.toString(16)}`,
407
+ length,
408
+ raw_hex: _chunkJL3NEW3Ocjs.bytesToHex.call(void 0, bytes)
409
+ });
410
+ }
411
+ }
412
+ if (unknown.length > 0) result.unknown = unknown;
413
+ return result;
414
+ }
415
+ function encodeParams(params, w) {
416
+ let count = params.unknown ? params.unknown.length : 0;
417
+ if (params.authorization_info !== void 0) count++;
418
+ if (params.delivery_timeout !== void 0) count++;
419
+ if (params.max_cache_duration !== void 0) count++;
420
+ w.writeVarInt(count);
421
+ if (params.authorization_info !== void 0) {
422
+ w.writeVarInt(PARAM_AUTHORIZATION_INFO);
423
+ const encoded = textEncoder.encode(params.authorization_info);
424
+ w.writeVarInt(encoded.byteLength);
425
+ w.writeBytes(encoded);
426
+ }
427
+ if (params.delivery_timeout !== void 0) {
428
+ w.writeVarInt(PARAM_DELIVERY_TIMEOUT);
429
+ const tmpW = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(16);
430
+ tmpW.writeVarInt(params.delivery_timeout);
431
+ const raw = tmpW.finish();
432
+ w.writeVarInt(raw.byteLength);
433
+ w.writeBytes(raw);
434
+ }
435
+ if (params.max_cache_duration !== void 0) {
436
+ w.writeVarInt(PARAM_MAX_CACHE_DURATION);
437
+ const tmpW = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(16);
438
+ tmpW.writeVarInt(params.max_cache_duration);
439
+ const raw = tmpW.finish();
440
+ w.writeVarInt(raw.byteLength);
441
+ w.writeBytes(raw);
442
+ }
443
+ if (params.unknown) {
444
+ for (const u of params.unknown) {
445
+ w.writeVarInt(BigInt(u.id));
446
+ const raw = _chunkJL3NEW3Ocjs.hexToBytes.call(void 0, u.raw_hex);
447
+ w.writeVarInt(raw.byteLength);
448
+ w.writeBytes(raw);
449
+ }
450
+ }
451
+ }
452
+ function decodeParams(r) {
453
+ const count = Number(r.readVarInt());
454
+ const result = {};
455
+ const unknown = [];
456
+ for (let i = 0; i < count; i++) {
457
+ const paramType = r.readVarInt();
458
+ const length = Number(r.readVarInt());
459
+ if (paramType === PARAM_AUTHORIZATION_INFO) {
460
+ const bytes = r.readBytes(length);
461
+ result.authorization_info = textDecoder.decode(bytes);
462
+ } else if (paramType === PARAM_DELIVERY_TIMEOUT) {
463
+ const blob = r.readBytes(length);
464
+ const tmpReader = new (0, _chunkJL3NEW3Ocjs.BufferReader)(blob);
465
+ result.delivery_timeout = tmpReader.readVarInt();
466
+ } else if (paramType === PARAM_MAX_CACHE_DURATION) {
467
+ const blob = r.readBytes(length);
468
+ const tmpReader = new (0, _chunkJL3NEW3Ocjs.BufferReader)(blob);
469
+ result.max_cache_duration = tmpReader.readVarInt();
470
+ } else {
471
+ const bytes = r.readBytes(length);
472
+ unknown.push({
473
+ id: `0x${paramType.toString(16)}`,
474
+ length,
475
+ raw_hex: _chunkJL3NEW3Ocjs.bytesToHex.call(void 0, bytes)
476
+ });
477
+ }
478
+ }
479
+ if (unknown.length > 0) result.unknown = unknown;
480
+ return result;
481
+ }
482
+ function encodeClientSetupPayload(msg, writer) {
483
+ writer.writeVarInt(msg.supported_versions.length);
484
+ for (const version of msg.supported_versions) {
485
+ writer.writeVarInt(version);
486
+ }
487
+ encodeSetupParams(msg.parameters, writer);
488
+ }
489
+ function encodeServerSetupPayload(msg, writer) {
490
+ writer.writeVarInt(msg.selected_version);
491
+ encodeSetupParams(msg.parameters, writer);
492
+ }
493
+ function encodeSubscribePayload(msg, writer) {
494
+ writer.writeVarInt(msg.subscribe_id);
495
+ writer.writeVarInt(msg.track_alias);
496
+ writer.writeTuple(msg.track_namespace);
497
+ writer.writeString(msg.track_name);
498
+ writer.writeUint8(msg.subscriber_priority);
499
+ writer.writeUint8(msg.group_order);
500
+ writer.writeVarInt(msg.filter_type);
501
+ if (msg.filter_type === 3n || msg.filter_type === 4n) {
502
+ writer.writeVarInt(msg.start_group);
503
+ writer.writeVarInt(msg.start_object);
504
+ }
505
+ if (msg.filter_type === 4n) {
506
+ writer.writeVarInt(msg.end_group);
507
+ writer.writeVarInt(msg.end_object);
508
+ }
509
+ encodeParams(msg.parameters, writer);
510
+ }
511
+ function encodeSubscribeOkPayload(msg, writer) {
512
+ writer.writeVarInt(msg.subscribe_id);
513
+ writer.writeVarInt(msg.expires);
514
+ writer.writeUint8(msg.group_order);
515
+ writer.writeUint8(msg.content_exists);
516
+ if (msg.content_exists) {
517
+ writer.writeVarInt(msg.largest_group_id);
518
+ writer.writeVarInt(msg.largest_object_id);
519
+ }
520
+ encodeParams(msg.parameters, writer);
521
+ }
522
+ function encodeSubscribeErrorPayload(msg, writer) {
523
+ writer.writeVarInt(msg.subscribe_id);
524
+ writer.writeVarInt(msg.error_code);
525
+ writer.writeString(msg.reason_phrase);
526
+ writer.writeVarInt(msg.track_alias);
527
+ }
528
+ function encodeSubscribeDonePayload(msg, writer) {
529
+ writer.writeVarInt(msg.subscribe_id);
530
+ writer.writeVarInt(msg.status_code);
531
+ writer.writeString(msg.reason_phrase);
532
+ writer.writeUint8(msg.content_exists);
533
+ if (msg.content_exists) {
534
+ writer.writeVarInt(msg.final_group);
535
+ writer.writeVarInt(msg.final_object);
536
+ }
537
+ }
538
+ function encodeSubscribeUpdatePayload(msg, writer) {
539
+ writer.writeVarInt(msg.subscribe_id);
540
+ writer.writeVarInt(msg.start_group);
541
+ writer.writeVarInt(msg.start_object);
542
+ writer.writeVarInt(msg.end_group);
543
+ writer.writeVarInt(msg.end_object);
544
+ writer.writeUint8(msg.subscriber_priority);
545
+ encodeParams(msg.parameters, writer);
546
+ }
547
+ function encodeUnsubscribePayload(msg, writer) {
548
+ writer.writeVarInt(msg.subscribe_id);
549
+ }
550
+ function encodeAnnouncePayload(msg, writer) {
551
+ writer.writeTuple(msg.track_namespace);
552
+ encodeParams(msg.parameters, writer);
553
+ }
554
+ function encodeAnnounceOkPayload(msg, writer) {
555
+ writer.writeTuple(msg.track_namespace);
556
+ }
557
+ function encodeAnnounceErrorPayload(msg, writer) {
558
+ writer.writeTuple(msg.track_namespace);
559
+ writer.writeVarInt(msg.error_code);
560
+ writer.writeString(msg.reason_phrase);
561
+ }
562
+ function encodeAnnounceCancelPayload(msg, writer) {
563
+ writer.writeTuple(msg.track_namespace);
564
+ writer.writeVarInt(msg.error_code);
565
+ writer.writeString(msg.reason_phrase);
566
+ }
567
+ function encodeUnannouncePayload(msg, writer) {
568
+ writer.writeTuple(msg.track_namespace);
569
+ }
570
+ function encodeTrackStatusRequestPayload(msg, writer) {
571
+ writer.writeTuple(msg.track_namespace);
572
+ writer.writeString(msg.track_name);
573
+ }
574
+ function encodeTrackStatusPayload(msg, writer) {
575
+ writer.writeTuple(msg.track_namespace);
576
+ writer.writeString(msg.track_name);
577
+ writer.writeVarInt(msg.status_code);
578
+ writer.writeVarInt(msg.last_group_id);
579
+ writer.writeVarInt(msg.last_object_id);
580
+ }
581
+ function encodeGoAwayPayload(msg, writer) {
582
+ writer.writeString(msg.new_session_uri);
583
+ }
584
+ function encodeSubscribeAnnouncesPayload(msg, writer) {
585
+ writer.writeTuple(msg.track_namespace_prefix);
586
+ encodeParams(msg.parameters, writer);
587
+ }
588
+ function encodeSubscribeAnnouncesOkPayload(msg, writer) {
589
+ writer.writeTuple(msg.track_namespace_prefix);
590
+ }
591
+ function encodeSubscribeAnnouncesErrorPayload(msg, writer) {
592
+ writer.writeTuple(msg.track_namespace_prefix);
593
+ writer.writeVarInt(msg.error_code);
594
+ writer.writeString(msg.reason_phrase);
595
+ }
596
+ function encodeUnsubscribeAnnouncesPayload(msg, writer) {
597
+ writer.writeTuple(msg.track_namespace_prefix);
598
+ }
599
+ function encodeMaxSubscribeIdPayload(msg, writer) {
600
+ writer.writeVarInt(msg.subscribe_id);
601
+ }
602
+ function encodeFetchPayload(msg, writer) {
603
+ writer.writeVarInt(msg.subscribe_id);
604
+ writer.writeTuple(msg.track_namespace);
605
+ writer.writeString(msg.track_name);
606
+ writer.writeUint8(msg.subscriber_priority);
607
+ writer.writeUint8(msg.group_order);
608
+ writer.writeVarInt(msg.start_group);
609
+ writer.writeVarInt(msg.start_object);
610
+ writer.writeVarInt(msg.end_group);
611
+ writer.writeVarInt(msg.end_object);
612
+ encodeParams(msg.parameters, writer);
613
+ }
614
+ function encodeFetchOkPayload(msg, writer) {
615
+ writer.writeVarInt(msg.subscribe_id);
616
+ writer.writeUint8(msg.group_order);
617
+ writer.writeUint8(msg.end_of_track);
618
+ writer.writeVarInt(msg.largest_group_id);
619
+ writer.writeVarInt(msg.largest_object_id);
620
+ encodeParams(msg.parameters, writer);
621
+ }
622
+ function encodeFetchErrorPayload(msg, writer) {
623
+ writer.writeVarInt(msg.subscribe_id);
624
+ writer.writeVarInt(msg.error_code);
625
+ writer.writeString(msg.reason_phrase);
626
+ }
627
+ function encodeFetchCancelPayload(msg, writer) {
628
+ writer.writeVarInt(msg.subscribe_id);
629
+ }
630
+ function encodeObjectPayload(msg, writer) {
631
+ if (msg.payload.byteLength === 0) {
632
+ writer.writeVarInt(0);
633
+ writer.writeVarInt(_nullishCoalesce(msg.object_status, () => ( 0)));
634
+ } else {
635
+ writer.writeVarInt(msg.payload.byteLength);
636
+ writer.writeBytes(msg.payload);
637
+ }
638
+ }
639
+ function encodeObjectDatagram(msg, writer) {
640
+ writer.writeVarInt(MSG_OBJECT_DATAGRAM);
641
+ writer.writeVarInt(msg.track_alias);
642
+ writer.writeVarInt(msg.group_id);
643
+ writer.writeVarInt(msg.object_id);
644
+ writer.writeUint8(msg.publisher_priority);
645
+ encodeObjectPayload(msg, writer);
646
+ }
647
+ function encodePayload(msg, w) {
648
+ switch (msg.type) {
649
+ case "client_setup":
650
+ return encodeClientSetupPayload(msg, w);
651
+ case "server_setup":
652
+ return encodeServerSetupPayload(msg, w);
653
+ case "subscribe":
654
+ return encodeSubscribePayload(msg, w);
655
+ case "subscribe_ok":
656
+ return encodeSubscribeOkPayload(msg, w);
657
+ case "subscribe_error":
658
+ return encodeSubscribeErrorPayload(msg, w);
659
+ case "subscribe_update":
660
+ return encodeSubscribeUpdatePayload(msg, w);
661
+ case "subscribe_done":
662
+ return encodeSubscribeDonePayload(msg, w);
663
+ case "unsubscribe":
664
+ return encodeUnsubscribePayload(msg, w);
665
+ case "announce":
666
+ return encodeAnnouncePayload(msg, w);
667
+ case "announce_ok":
668
+ return encodeAnnounceOkPayload(msg, w);
669
+ case "announce_error":
670
+ return encodeAnnounceErrorPayload(msg, w);
671
+ case "unannounce":
672
+ return encodeUnannouncePayload(msg, w);
673
+ case "announce_cancel":
674
+ return encodeAnnounceCancelPayload(msg, w);
675
+ case "subscribe_announces":
676
+ return encodeSubscribeAnnouncesPayload(msg, w);
677
+ case "subscribe_announces_ok":
678
+ return encodeSubscribeAnnouncesOkPayload(msg, w);
679
+ case "subscribe_announces_error":
680
+ return encodeSubscribeAnnouncesErrorPayload(msg, w);
681
+ case "unsubscribe_announces":
682
+ return encodeUnsubscribeAnnouncesPayload(msg, w);
683
+ case "fetch":
684
+ return encodeFetchPayload(msg, w);
685
+ case "fetch_ok":
686
+ return encodeFetchOkPayload(msg, w);
687
+ case "fetch_error":
688
+ return encodeFetchErrorPayload(msg, w);
689
+ case "fetch_cancel":
690
+ return encodeFetchCancelPayload(msg, w);
691
+ case "track_status_request":
692
+ return encodeTrackStatusRequestPayload(msg, w);
693
+ case "track_status":
694
+ return encodeTrackStatusPayload(msg, w);
695
+ case "goaway":
696
+ return encodeGoAwayPayload(msg, w);
697
+ case "max_subscribe_id":
698
+ return encodeMaxSubscribeIdPayload(msg, w);
699
+ default:
700
+ throw new Error(`Unhandled message type: ${msg.type}`);
701
+ }
702
+ }
703
+ function decodeClientSetupPayload(reader) {
704
+ const numVersions = reader.readVarInt();
705
+ if (numVersions === 0n) {
706
+ throw new (0, _chunkJL3NEW3Ocjs.DecodeError)(
707
+ "CONSTRAINT_VIOLATION",
708
+ "supported_versions must not be empty",
709
+ reader.offset
710
+ );
711
+ }
712
+ const supported_versions = [];
713
+ for (let i = 0n; i < numVersions; i++) {
714
+ supported_versions.push(reader.readVarInt());
715
+ }
716
+ const parameters = decodeSetupParams(reader);
717
+ return { type: "client_setup", supported_versions, parameters };
718
+ }
719
+ function decodeServerSetupPayload(reader) {
720
+ const selected_version = reader.readVarInt();
721
+ const parameters = decodeSetupParams(reader);
722
+ return { type: "server_setup", selected_version, parameters };
723
+ }
724
+ function decodeSubscribePayload(reader) {
725
+ const subscribe_id = reader.readVarInt();
726
+ const track_alias = reader.readVarInt();
727
+ const track_namespace = reader.readTuple();
728
+ const track_name = reader.readString();
729
+ const subscriber_priority = reader.readUint8();
730
+ const group_order = reader.readUint8();
731
+ const filter_type = reader.readVarInt();
732
+ if (filter_type < 1n || filter_type > 4n) {
733
+ throw new (0, _chunkJL3NEW3Ocjs.DecodeError)(
734
+ "CONSTRAINT_VIOLATION",
735
+ `Invalid filter type: ${filter_type}`,
736
+ reader.offset
737
+ );
738
+ }
739
+ const base = {
740
+ type: "subscribe",
741
+ subscribe_id,
742
+ track_alias,
743
+ track_namespace,
744
+ track_name,
745
+ subscriber_priority,
746
+ group_order,
747
+ filter_type,
748
+ parameters: void 0
749
+ };
750
+ if (filter_type === 3n) {
751
+ const start_group = reader.readVarInt();
752
+ const start_object = reader.readVarInt();
753
+ base.parameters = decodeParams(reader);
754
+ return { ...base, start_group, start_object };
755
+ }
756
+ if (filter_type === 4n) {
757
+ const start_group = reader.readVarInt();
758
+ const start_object = reader.readVarInt();
759
+ const end_group = reader.readVarInt();
760
+ const end_object = reader.readVarInt();
761
+ base.parameters = decodeParams(reader);
762
+ return { ...base, start_group, start_object, end_group, end_object };
763
+ }
764
+ base.parameters = decodeParams(reader);
765
+ return base;
766
+ }
767
+ function decodeSubscribeOkPayload(reader) {
768
+ const subscribe_id = reader.readVarInt();
769
+ const expires = reader.readVarInt();
770
+ const group_order = reader.readUint8();
771
+ const content_exists = reader.readUint8();
772
+ if (content_exists) {
773
+ const largest_group_id = reader.readVarInt();
774
+ const largest_object_id = reader.readVarInt();
775
+ const parameters2 = decodeParams(reader);
776
+ return {
777
+ type: "subscribe_ok",
778
+ subscribe_id,
779
+ expires,
780
+ group_order,
781
+ content_exists,
782
+ largest_group_id,
783
+ largest_object_id,
784
+ parameters: parameters2
785
+ };
786
+ }
787
+ const parameters = decodeParams(reader);
788
+ return {
789
+ type: "subscribe_ok",
790
+ subscribe_id,
791
+ expires,
792
+ group_order,
793
+ content_exists,
794
+ parameters
795
+ };
796
+ }
797
+ function decodeSubscribeErrorPayload(reader) {
798
+ const subscribe_id = reader.readVarInt();
799
+ const error_code = reader.readVarInt();
800
+ const reason_phrase = reader.readString();
801
+ const track_alias = reader.readVarInt();
802
+ return {
803
+ type: "subscribe_error",
804
+ subscribe_id,
805
+ error_code,
806
+ reason_phrase,
807
+ track_alias
808
+ };
809
+ }
810
+ function decodeSubscribeDonePayload(reader) {
811
+ const subscribe_id = reader.readVarInt();
812
+ const status_code = reader.readVarInt();
813
+ const reason_phrase = reader.readString();
814
+ const content_exists = reader.readUint8();
815
+ if (content_exists) {
816
+ const final_group = reader.readVarInt();
817
+ const final_object = reader.readVarInt();
818
+ return {
819
+ type: "subscribe_done",
820
+ subscribe_id,
821
+ status_code,
822
+ reason_phrase,
823
+ content_exists,
824
+ final_group,
825
+ final_object
826
+ };
827
+ }
828
+ return {
829
+ type: "subscribe_done",
830
+ subscribe_id,
831
+ status_code,
832
+ reason_phrase,
833
+ content_exists
834
+ };
835
+ }
836
+ function decodeSubscribeUpdatePayload(reader) {
837
+ const subscribe_id = reader.readVarInt();
838
+ const start_group = reader.readVarInt();
839
+ const start_object = reader.readVarInt();
840
+ const end_group = reader.readVarInt();
841
+ const end_object = reader.readVarInt();
842
+ const subscriber_priority = reader.readUint8();
843
+ const parameters = decodeParams(reader);
844
+ return {
845
+ type: "subscribe_update",
846
+ subscribe_id,
847
+ start_group,
848
+ start_object,
849
+ end_group,
850
+ end_object,
851
+ subscriber_priority,
852
+ parameters
853
+ };
854
+ }
855
+ function decodeUnsubscribePayload(reader) {
856
+ const subscribe_id = reader.readVarInt();
857
+ return { type: "unsubscribe", subscribe_id };
858
+ }
859
+ function decodeAnnouncePayload(reader) {
860
+ const track_namespace = reader.readTuple();
861
+ const parameters = decodeParams(reader);
862
+ return { type: "announce", track_namespace, parameters };
863
+ }
864
+ function decodeAnnounceOkPayload(reader) {
865
+ const track_namespace = reader.readTuple();
866
+ return { type: "announce_ok", track_namespace };
867
+ }
868
+ function decodeAnnounceErrorPayload(reader) {
869
+ const track_namespace = reader.readTuple();
870
+ const error_code = reader.readVarInt();
871
+ const reason_phrase = reader.readString();
872
+ return { type: "announce_error", track_namespace, error_code, reason_phrase };
873
+ }
874
+ function decodeAnnounceCancelPayload(reader) {
875
+ const track_namespace = reader.readTuple();
876
+ const error_code = reader.readVarInt();
877
+ const reason_phrase = reader.readString();
878
+ return { type: "announce_cancel", track_namespace, error_code, reason_phrase };
879
+ }
880
+ function decodeUnannouncePayload(reader) {
881
+ const track_namespace = reader.readTuple();
882
+ return { type: "unannounce", track_namespace };
883
+ }
884
+ function decodeTrackStatusRequestPayload(reader) {
885
+ const track_namespace = reader.readTuple();
886
+ const track_name = reader.readString();
887
+ return { type: "track_status_request", track_namespace, track_name };
888
+ }
889
+ function decodeTrackStatusPayload(reader) {
890
+ const track_namespace = reader.readTuple();
891
+ const track_name = reader.readString();
892
+ const status_code = reader.readVarInt();
893
+ const last_group_id = reader.readVarInt();
894
+ const last_object_id = reader.readVarInt();
895
+ return {
896
+ type: "track_status",
897
+ track_namespace,
898
+ track_name,
899
+ status_code,
900
+ last_group_id,
901
+ last_object_id
902
+ };
903
+ }
904
+ function decodeGoAwayPayload(reader) {
905
+ const new_session_uri = reader.readString();
906
+ return { type: "goaway", new_session_uri };
907
+ }
908
+ function decodeSubscribeAnnouncesPayload(reader) {
909
+ const track_namespace_prefix = reader.readTuple();
910
+ const parameters = decodeParams(reader);
911
+ return { type: "subscribe_announces", track_namespace_prefix, parameters };
912
+ }
913
+ function decodeSubscribeAnnouncesOkPayload(reader) {
914
+ const track_namespace_prefix = reader.readTuple();
915
+ return { type: "subscribe_announces_ok", track_namespace_prefix };
916
+ }
917
+ function decodeSubscribeAnnouncesErrorPayload(reader) {
918
+ const track_namespace_prefix = reader.readTuple();
919
+ const error_code = reader.readVarInt();
920
+ const reason_phrase = reader.readString();
921
+ return {
922
+ type: "subscribe_announces_error",
923
+ track_namespace_prefix,
924
+ error_code,
925
+ reason_phrase
926
+ };
927
+ }
928
+ function decodeUnsubscribeAnnouncesPayload(reader) {
929
+ const track_namespace_prefix = reader.readTuple();
930
+ return { type: "unsubscribe_announces", track_namespace_prefix };
931
+ }
932
+ function decodeMaxSubscribeIdPayload(reader) {
933
+ const subscribe_id = reader.readVarInt();
934
+ return { type: "max_subscribe_id", subscribe_id };
935
+ }
936
+ function decodeFetchPayload(reader) {
937
+ const subscribe_id = reader.readVarInt();
938
+ const track_namespace = reader.readTuple();
939
+ const track_name = reader.readString();
940
+ const subscriber_priority = reader.readUint8();
941
+ const group_order = reader.readUint8();
942
+ const start_group = reader.readVarInt();
943
+ const start_object = reader.readVarInt();
944
+ const end_group = reader.readVarInt();
945
+ const end_object = reader.readVarInt();
946
+ const parameters = decodeParams(reader);
947
+ return {
948
+ type: "fetch",
949
+ subscribe_id,
950
+ track_namespace,
951
+ track_name,
952
+ subscriber_priority,
953
+ group_order,
954
+ start_group,
955
+ start_object,
956
+ end_group,
957
+ end_object,
958
+ parameters
959
+ };
960
+ }
961
+ function decodeFetchOkPayload(reader) {
962
+ const subscribe_id = reader.readVarInt();
963
+ const group_order = reader.readUint8();
964
+ const end_of_track = reader.readUint8();
965
+ const largest_group_id = reader.readVarInt();
966
+ const largest_object_id = reader.readVarInt();
967
+ const parameters = decodeParams(reader);
968
+ return {
969
+ type: "fetch_ok",
970
+ subscribe_id,
971
+ group_order,
972
+ end_of_track,
973
+ largest_group_id,
974
+ largest_object_id,
975
+ parameters
976
+ };
977
+ }
978
+ function decodeFetchErrorPayload(reader) {
979
+ const subscribe_id = reader.readVarInt();
980
+ const error_code = reader.readVarInt();
981
+ const reason_phrase = reader.readString();
982
+ return { type: "fetch_error", subscribe_id, error_code, reason_phrase };
983
+ }
984
+ function decodeFetchCancelPayload(reader) {
985
+ const subscribe_id = reader.readVarInt();
986
+ return { type: "fetch_cancel", subscribe_id };
987
+ }
988
+ function decodeObjectDatagram(reader) {
989
+ const track_alias = reader.readVarInt();
990
+ const group_id = reader.readVarInt();
991
+ const object_id = reader.readVarInt();
992
+ const publisher_priority = reader.readUint8();
993
+ const payloadLength = Number(reader.readVarInt());
994
+ if (payloadLength === 0) {
995
+ const object_status = reader.remaining > 0 ? Number(reader.readVarInt()) : 0;
996
+ return {
997
+ type: "object_datagram",
998
+ track_alias,
999
+ group_id,
1000
+ object_id,
1001
+ publisher_priority,
1002
+ object_status,
1003
+ payload: new Uint8Array(0)
1004
+ };
1005
+ }
1006
+ const payload = reader.readBytesView(payloadLength);
1007
+ return {
1008
+ type: "object_datagram",
1009
+ track_alias,
1010
+ group_id,
1011
+ object_id,
1012
+ publisher_priority,
1013
+ payload
1014
+ };
1015
+ }
1016
+ var payloadDecoders = /* @__PURE__ */ new Map([
1017
+ [MSG_CLIENT_SETUP, decodeClientSetupPayload],
1018
+ [MSG_SERVER_SETUP, decodeServerSetupPayload],
1019
+ [MSG_SUBSCRIBE, decodeSubscribePayload],
1020
+ [MSG_SUBSCRIBE_OK, decodeSubscribeOkPayload],
1021
+ [MSG_SUBSCRIBE_ERROR, decodeSubscribeErrorPayload],
1022
+ [MSG_SUBSCRIBE_DONE, decodeSubscribeDonePayload],
1023
+ [MSG_SUBSCRIBE_UPDATE, decodeSubscribeUpdatePayload],
1024
+ [MSG_UNSUBSCRIBE, decodeUnsubscribePayload],
1025
+ [MSG_ANNOUNCE, decodeAnnouncePayload],
1026
+ [MSG_ANNOUNCE_OK, decodeAnnounceOkPayload],
1027
+ [MSG_ANNOUNCE_ERROR, decodeAnnounceErrorPayload],
1028
+ [MSG_ANNOUNCE_CANCEL, decodeAnnounceCancelPayload],
1029
+ [MSG_UNANNOUNCE, decodeUnannouncePayload],
1030
+ [MSG_TRACK_STATUS_REQUEST, decodeTrackStatusRequestPayload],
1031
+ [MSG_TRACK_STATUS, decodeTrackStatusPayload],
1032
+ [MSG_GOAWAY, decodeGoAwayPayload],
1033
+ [MSG_SUBSCRIBE_ANNOUNCES, decodeSubscribeAnnouncesPayload],
1034
+ [MSG_SUBSCRIBE_ANNOUNCES_OK, decodeSubscribeAnnouncesOkPayload],
1035
+ [MSG_SUBSCRIBE_ANNOUNCES_ERROR, decodeSubscribeAnnouncesErrorPayload],
1036
+ [MSG_UNSUBSCRIBE_ANNOUNCES, decodeUnsubscribeAnnouncesPayload],
1037
+ [MSG_MAX_SUBSCRIBE_ID, decodeMaxSubscribeIdPayload],
1038
+ [MSG_FETCH, decodeFetchPayload],
1039
+ [MSG_FETCH_OK, decodeFetchOkPayload],
1040
+ [MSG_FETCH_ERROR, decodeFetchErrorPayload],
1041
+ [MSG_FETCH_CANCEL, decodeFetchCancelPayload]
1042
+ ]);
1043
+ var dataStreamDecoders = /* @__PURE__ */ new Map([[MSG_OBJECT_DATAGRAM, decodeObjectDatagram]]);
1044
+ function encodeMessage(message) {
1045
+ if (message.type === "object_datagram") {
1046
+ const writer2 = new (0, _chunkJL3NEW3Ocjs.BufferWriter)();
1047
+ encodeObjectDatagram(message, writer2);
1048
+ return writer2.finish();
1049
+ }
1050
+ const typeId = MESSAGE_ID_MAP.get(message.type);
1051
+ if (typeId === void 0) {
1052
+ throw new Error(`Unknown message type: ${message.type}`);
1053
+ }
1054
+ const payloadWriter = new (0, _chunkJL3NEW3Ocjs.BufferWriter)();
1055
+ encodePayload(message, payloadWriter);
1056
+ const payload = payloadWriter.finishView();
1057
+ const writer = new (0, _chunkJL3NEW3Ocjs.BufferWriter)(payload.byteLength + 16);
1058
+ writer.writeVarInt(typeId);
1059
+ writer.writeVarInt(payload.byteLength);
1060
+ writer.writeBytes(payload);
1061
+ return writer.finish();
1062
+ }
1063
+ function decodeMessage(bytes) {
1064
+ try {
1065
+ const reader = new (0, _chunkJL3NEW3Ocjs.BufferReader)(bytes, 0);
1066
+ const typeId = reader.readVarInt();
1067
+ if (DATA_STREAM_TYPE_IDS.has(typeId)) {
1068
+ const decoder2 = dataStreamDecoders.get(typeId);
1069
+ if (!decoder2) {
1070
+ return {
1071
+ ok: false,
1072
+ error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
1073
+ "UNKNOWN_MESSAGE_TYPE",
1074
+ `Unknown data stream type ID: 0x${typeId.toString(16)}`,
1075
+ 0
1076
+ )
1077
+ };
1078
+ }
1079
+ const message2 = decoder2(reader);
1080
+ return { ok: true, value: message2, bytesRead: reader.offset };
1081
+ }
1082
+ const payloadLength = Number(reader.readVarInt());
1083
+ if (reader.remaining < payloadLength) {
1084
+ return {
1085
+ ok: false,
1086
+ error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
1087
+ "UNEXPECTED_END",
1088
+ `Not enough bytes for payload: need ${payloadLength}, have ${reader.remaining}`,
1089
+ reader.offset
1090
+ )
1091
+ };
1092
+ }
1093
+ const payloadBytes = reader.readBytes(payloadLength);
1094
+ const totalBytesRead = reader.offset;
1095
+ const decoder = payloadDecoders.get(typeId);
1096
+ if (!decoder) {
1097
+ return {
1098
+ ok: false,
1099
+ error: new (0, _chunkJL3NEW3Ocjs.DecodeError)(
1100
+ "UNKNOWN_MESSAGE_TYPE",
1101
+ `Unknown message type ID: 0x${typeId.toString(16)}`,
1102
+ 0
1103
+ )
1104
+ };
1105
+ }
1106
+ const payloadReader = new (0, _chunkJL3NEW3Ocjs.BufferReader)(payloadBytes, 0);
1107
+ const message = decoder(payloadReader);
1108
+ return { ok: true, value: message, bytesRead: totalBytesRead };
1109
+ } catch (e) {
1110
+ if (e instanceof _chunkJL3NEW3Ocjs.DecodeError) {
1111
+ return { ok: false, error: e };
1112
+ }
1113
+ throw e;
1114
+ }
1115
+ }
1116
+ function createStreamDecoder() {
1117
+ let buffer = new Uint8Array(0);
1118
+ let offset = 0;
1119
+ return new TransformStream({
1120
+ transform(chunk, controller) {
1121
+ if (offset > 0) {
1122
+ buffer = buffer.subarray(offset);
1123
+ offset = 0;
1124
+ }
1125
+ const newBuffer = new Uint8Array(buffer.length + chunk.length);
1126
+ newBuffer.set(buffer, 0);
1127
+ newBuffer.set(chunk, buffer.length);
1128
+ buffer = newBuffer;
1129
+ while (offset < buffer.length) {
1130
+ const result = decodeMessage(buffer.subarray(offset));
1131
+ if (!result.ok) {
1132
+ if (result.error.code === "UNEXPECTED_END") break;
1133
+ controller.error(result.error);
1134
+ return;
1135
+ }
1136
+ controller.enqueue(result.value);
1137
+ offset += result.bytesRead;
1138
+ }
1139
+ },
1140
+ flush(controller) {
1141
+ if (offset < buffer.length) {
1142
+ controller.error(
1143
+ new (0, _chunkJL3NEW3Ocjs.DecodeError)("UNEXPECTED_END", "Stream ended with incomplete message data", 0)
1144
+ );
1145
+ }
1146
+ }
1147
+ });
1148
+ }
1149
+ function createDraft07Codec() {
1150
+ return {
1151
+ draft: "07",
1152
+ encodeMessage,
1153
+ decodeMessage,
1154
+ encodeVarInt,
1155
+ decodeVarInt,
1156
+ createStreamDecoder,
1157
+ encodeSubgroupStream,
1158
+ decodeSubgroupStream,
1159
+ encodeDatagram,
1160
+ decodeDatagram,
1161
+ encodeFetchStream,
1162
+ decodeFetchStream
1163
+ };
1164
+ }
1165
+
1166
+
1167
+
1168
+
1169
+
1170
+
1171
+
1172
+
1173
+
1174
+
1175
+
1176
+
1177
+
1178
+
1179
+
1180
+
1181
+
1182
+
1183
+
1184
+
1185
+
1186
+
1187
+
1188
+
1189
+
1190
+
1191
+
1192
+
1193
+
1194
+
1195
+
1196
+
1197
+
1198
+
1199
+
1200
+
1201
+
1202
+
1203
+
1204
+
1205
+
1206
+
1207
+
1208
+
1209
+
1210
+
1211
+
1212
+ exports.MSG_SUBSCRIBE_UPDATE = MSG_SUBSCRIBE_UPDATE; exports.MSG_SUBSCRIBE = MSG_SUBSCRIBE; exports.MSG_SUBSCRIBE_OK = MSG_SUBSCRIBE_OK; exports.MSG_SUBSCRIBE_ERROR = MSG_SUBSCRIBE_ERROR; exports.MSG_ANNOUNCE = MSG_ANNOUNCE; exports.MSG_ANNOUNCE_OK = MSG_ANNOUNCE_OK; exports.MSG_ANNOUNCE_ERROR = MSG_ANNOUNCE_ERROR; exports.MSG_UNANNOUNCE = MSG_UNANNOUNCE; exports.MSG_UNSUBSCRIBE = MSG_UNSUBSCRIBE; exports.MSG_SUBSCRIBE_DONE = MSG_SUBSCRIBE_DONE; exports.MSG_ANNOUNCE_CANCEL = MSG_ANNOUNCE_CANCEL; exports.MSG_TRACK_STATUS_REQUEST = MSG_TRACK_STATUS_REQUEST; exports.MSG_TRACK_STATUS = MSG_TRACK_STATUS; exports.MSG_GOAWAY = MSG_GOAWAY; exports.MSG_SUBSCRIBE_ANNOUNCES = MSG_SUBSCRIBE_ANNOUNCES; exports.MSG_SUBSCRIBE_ANNOUNCES_OK = MSG_SUBSCRIBE_ANNOUNCES_OK; exports.MSG_SUBSCRIBE_ANNOUNCES_ERROR = MSG_SUBSCRIBE_ANNOUNCES_ERROR; exports.MSG_UNSUBSCRIBE_ANNOUNCES = MSG_UNSUBSCRIBE_ANNOUNCES; exports.MSG_MAX_SUBSCRIBE_ID = MSG_MAX_SUBSCRIBE_ID; exports.MSG_FETCH = MSG_FETCH; exports.MSG_FETCH_CANCEL = MSG_FETCH_CANCEL; exports.MSG_FETCH_OK = MSG_FETCH_OK; exports.MSG_FETCH_ERROR = MSG_FETCH_ERROR; exports.MSG_CLIENT_SETUP = MSG_CLIENT_SETUP; exports.MSG_SERVER_SETUP = MSG_SERVER_SETUP; exports.SETUP_PARAM_ROLE = SETUP_PARAM_ROLE; exports.SETUP_PARAM_PATH = SETUP_PARAM_PATH; exports.SETUP_PARAM_MAX_SUBSCRIBE_ID = SETUP_PARAM_MAX_SUBSCRIBE_ID; exports.PARAM_AUTHORIZATION_INFO = PARAM_AUTHORIZATION_INFO; exports.PARAM_DELIVERY_TIMEOUT = PARAM_DELIVERY_TIMEOUT; exports.PARAM_MAX_CACHE_DURATION = PARAM_MAX_CACHE_DURATION; exports.MSG_OBJECT_DATAGRAM = MSG_OBJECT_DATAGRAM; exports.MSG_STREAM_HEADER_SUBGROUP = MSG_STREAM_HEADER_SUBGROUP; exports.MSG_FETCH_HEADER = MSG_FETCH_HEADER; exports.MESSAGE_TYPE_MAP = MESSAGE_TYPE_MAP; exports.MESSAGE_ID_MAP = MESSAGE_ID_MAP; exports.encodeVarInt = encodeVarInt; exports.decodeVarInt = decodeVarInt; exports.encodeSubgroupStream = encodeSubgroupStream; exports.encodeDatagram = encodeDatagram; exports.encodeFetchStream = encodeFetchStream; exports.decodeSubgroupStream = decodeSubgroupStream; exports.decodeDatagram = decodeDatagram; exports.decodeFetchStream = decodeFetchStream; exports.createDraft07Codec = createDraft07Codec;