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