@moqtap/codec 0.2.1 → 0.2.3

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 (576) hide show
  1. package/dist/{chunk-LH4NTURO.js → chunk-2GODRVT5.js} +699 -589
  2. package/dist/{chunk-4RIXXEII.js → chunk-2ZT6CVSE.js} +274 -242
  3. package/dist/{chunk-XUUCOLWU.cjs → chunk-4N4INRE7.cjs} +332 -321
  4. package/dist/{chunk-PJRA2TQ5.js → chunk-73MWUKSJ.js} +274 -228
  5. package/dist/{chunk-NGVE2RZT.js → chunk-77MNXX3M.js} +549 -538
  6. package/dist/{chunk-A27S7HW7.js → chunk-7L43FE6P.js} +24 -3
  7. package/dist/{chunk-RVJAGE4S.cjs → chunk-ACQ4CUJP.cjs} +297 -265
  8. package/dist/{chunk-IBVM4DMJ.cjs → chunk-BGWGVINJ.cjs} +332 -321
  9. package/dist/{chunk-KFTCU2P6.js → chunk-C6KUWLQC.js} +0 -3
  10. package/dist/{chunk-CXDHOMHG.js → chunk-CEH7ESNC.js} +549 -538
  11. package/dist/{chunk-ZBKE2QRQ.js → chunk-E6P74GDT.js} +686 -599
  12. package/dist/{chunk-FUFTMAQD.cjs → chunk-FPISPJ5N.cjs} +785 -497
  13. package/dist/{chunk-7IVGHMKJ.cjs → chunk-FZDIEHQL.cjs} +300 -124
  14. package/dist/{chunk-ZSPO2GF2.cjs → chunk-GLBQDG4L.cjs} +971 -884
  15. package/dist/chunk-HDWJ2GDE.js +24 -0
  16. package/dist/{chunk-4YJANAXU.cjs → chunk-JGG7CMSZ.cjs} +469 -434
  17. package/dist/{chunk-IV2H5CFI.cjs → chunk-JTVCOMBI.cjs} +298 -266
  18. package/dist/chunk-KNDYS3DK.cjs +24 -0
  19. package/dist/{chunk-BPNL5YFQ.cjs → chunk-KZCYQ7ED.cjs} +5 -5
  20. package/dist/{chunk-U2B3B42P.js → chunk-MC7W6PMI.js} +709 -421
  21. package/dist/{chunk-MFAP7R6L.js → chunk-MRJWLGYH.js} +1 -1
  22. package/dist/{chunk-RWQ43Z4F.cjs → chunk-MZ7VU52O.cjs} +0 -3
  23. package/dist/{chunk-TMNGRIPL.js → chunk-N2KBF5Q2.js} +285 -109
  24. package/dist/{chunk-IV2HRJVT.js → chunk-PZBPH2D7.js} +274 -242
  25. package/dist/{chunk-FWISIR26.cjs → chunk-RUPCJTC3.cjs} +24 -3
  26. package/dist/{chunk-G26SJ6XS.cjs → chunk-S74DWJE2.cjs} +1001 -925
  27. package/dist/{chunk-NUX5BHWO.js → chunk-U3IPZYPX.js} +1113 -1037
  28. package/dist/{chunk-HSVYF6XX.cjs → chunk-VJUUZ4W2.cjs} +1106 -996
  29. package/dist/{chunk-ST24APEO.js → chunk-XSNX2IUJ.js} +574 -539
  30. package/dist/{chunk-K4OLITS2.cjs → chunk-YIG2C3LF.cjs} +295 -249
  31. package/dist/{drafts/draft15/codec.d.ts → codec-B2cH-f5V.d.cts} +11 -10
  32. package/dist/codec-B5K73Bdj.d.ts +30 -0
  33. package/dist/{codec-C_HMXNK_.d.ts → codec-BFeliJFc.d.ts} +4 -10
  34. package/dist/codec-BUMjz0J4.d.cts +30 -0
  35. package/dist/{codec-D0x8-SCw.d.cts → codec-Bap882Fh.d.cts} +3 -9
  36. package/dist/codec-BdVMRMOI.d.ts +34 -0
  37. package/dist/codec-Bq-tLtfP.d.ts +30 -0
  38. package/dist/codec-BwFgpeQu.d.ts +23 -0
  39. package/dist/{codec-95k8CAu5.d.cts → codec-C4n1PS09.d.cts} +3 -9
  40. package/dist/{codec-BECYPfY8.d.ts → codec-CPlK3Pi5.d.ts} +3 -9
  41. package/dist/{drafts/draft08/codec.d.ts → codec-CPvPq0sb.d.cts} +11 -9
  42. package/dist/codec-DNUIgLqc.d.cts +23 -0
  43. package/dist/codec-DRcsBCsb.d.ts +23 -0
  44. package/dist/{codec-CAevkgf5.d.cts → codec-DY4QH364.d.cts} +4 -10
  45. package/dist/codec-DZhZSIii.d.cts +30 -0
  46. package/dist/{drafts/draft14/codec.d.ts → codec-FvGCxIhr.d.ts} +11 -10
  47. package/dist/codec-HgBgHkFI.d.cts +23 -0
  48. package/dist/codec-KXHvXZVb.d.cts +35 -0
  49. package/dist/{codec-BC5jfvMb.d.ts → codec-R8GrCPt2.d.ts} +3 -9
  50. package/dist/{codec-BsPU1vNC.d.ts → codec-SKBeHQk7.d.ts} +3 -11
  51. package/dist/draft10-session.d.cts +1 -1
  52. package/dist/draft10-session.d.ts +1 -1
  53. package/dist/draft10.cjs +4 -3
  54. package/dist/draft10.d.cts +15 -5
  55. package/dist/draft10.d.ts +15 -5
  56. package/dist/draft10.js +3 -2
  57. package/dist/draft11-session.d.cts +1 -1
  58. package/dist/draft11-session.d.ts +1 -1
  59. package/dist/draft11.cjs +4 -3
  60. package/dist/draft11.d.cts +13 -5
  61. package/dist/draft11.d.ts +13 -5
  62. package/dist/draft11.js +3 -2
  63. package/dist/draft12-session.d.cts +1 -1
  64. package/dist/draft12-session.d.ts +1 -1
  65. package/dist/draft12.cjs +4 -3
  66. package/dist/draft12.d.cts +13 -5
  67. package/dist/draft12.d.ts +13 -5
  68. package/dist/draft12.js +3 -2
  69. package/dist/draft13-session.d.cts +1 -1
  70. package/dist/draft13-session.d.ts +1 -1
  71. package/dist/draft13.cjs +4 -3
  72. package/dist/draft13.d.cts +13 -5
  73. package/dist/draft13.d.ts +13 -5
  74. package/dist/draft13.js +3 -2
  75. package/dist/draft14-session.d.cts +1 -1
  76. package/dist/draft14-session.d.ts +1 -1
  77. package/dist/draft14.cjs +4 -3
  78. package/dist/draft14.d.cts +59 -5
  79. package/dist/draft14.d.ts +59 -5
  80. package/dist/draft14.js +3 -2
  81. package/dist/draft15-session.d.cts +1 -1
  82. package/dist/draft15-session.d.ts +1 -1
  83. package/dist/draft15.cjs +4 -3
  84. package/dist/draft15.d.cts +48 -5
  85. package/dist/draft15.d.ts +48 -5
  86. package/dist/draft15.js +3 -2
  87. package/dist/draft16-session.d.cts +1 -1
  88. package/dist/draft16-session.d.ts +1 -1
  89. package/dist/draft16.cjs +4 -3
  90. package/dist/draft16.d.cts +37 -5
  91. package/dist/draft16.d.ts +37 -5
  92. package/dist/draft16.js +3 -2
  93. package/dist/draft17-session.d.cts +1 -1
  94. package/dist/draft17-session.d.ts +1 -1
  95. package/dist/draft17.cjs +4 -3
  96. package/dist/draft17.d.cts +16 -5
  97. package/dist/draft17.d.ts +16 -5
  98. package/dist/draft17.js +3 -2
  99. package/dist/draft7-session.cjs +3 -3
  100. package/dist/draft7-session.js +2 -2
  101. package/dist/draft7.cjs +18 -6
  102. package/dist/draft7.d.cts +84 -8
  103. package/dist/draft7.d.ts +84 -8
  104. package/dist/draft7.js +15 -3
  105. package/dist/draft8-session.d.cts +1 -1
  106. package/dist/draft8-session.d.ts +1 -1
  107. package/dist/draft8.cjs +4 -3
  108. package/dist/draft8.d.cts +15 -5
  109. package/dist/draft8.d.ts +15 -5
  110. package/dist/draft8.js +3 -2
  111. package/dist/draft9-session.d.cts +1 -1
  112. package/dist/draft9-session.d.ts +1 -1
  113. package/dist/draft9.cjs +4 -3
  114. package/dist/draft9.d.cts +15 -5
  115. package/dist/draft9.d.ts +15 -5
  116. package/dist/draft9.js +3 -2
  117. package/dist/index.cjs +25 -24
  118. package/dist/index.d.cts +20 -20
  119. package/dist/index.d.ts +38 -46
  120. package/dist/index.js +111 -93
  121. package/dist/session.cjs +3 -3
  122. package/dist/session.d.ts +8 -4
  123. package/dist/session.js +26 -32
  124. package/dist/{types-ERexTpT8.d.cts → types-8gUGeMgs.d.cts} +4 -1
  125. package/dist/{types-ERexTpT8.d.ts → types-8gUGeMgs.d.ts} +4 -1
  126. package/dist/{types-Cw4WE9dh.d.ts → types-B0FT5Qs2.d.cts} +9 -1
  127. package/dist/{types-Cw4WE9dh.d.cts → types-B0FT5Qs2.d.ts} +9 -1
  128. package/dist/{types-DqCDFqgB.d.cts → types-B9A2g05r.d.cts} +4 -1
  129. package/dist/{types-DqCDFqgB.d.ts → types-B9A2g05r.d.ts} +4 -1
  130. package/dist/{types-Bg6QYNVt.d.cts → types-BeAVNU-F.d.cts} +7 -2
  131. package/dist/{types-Bg6QYNVt.d.ts → types-BeAVNU-F.d.ts} +7 -2
  132. package/dist/{types-C_1HrqBl.d.ts → types-CDa7F5ct.d.cts} +7 -2
  133. package/dist/{types-C_1HrqBl.d.cts → types-CDa7F5ct.d.ts} +7 -2
  134. package/dist/{types-r-CasCf1.d.cts → types-D1dI_oTX.d.cts} +8 -1
  135. package/dist/{types-r-CasCf1.d.ts → types-D1dI_oTX.d.ts} +8 -1
  136. package/dist/{types-BTFeKYCb.d.ts → types-DKpsfD3i.d.cts} +19 -4
  137. package/dist/{types-BTFeKYCb.d.cts → types-DKpsfD3i.d.ts} +19 -4
  138. package/dist/{types-4VxSL2Ho.d.ts → types-DxSFvL2b.d.cts} +7 -1
  139. package/dist/{types-4VxSL2Ho.d.cts → types-DxSFvL2b.d.ts} +7 -1
  140. package/dist/{types-B2afJZM-.d.ts → types-Pme7sua0.d.cts} +4 -1
  141. package/dist/{types-B2afJZM-.d.cts → types-Pme7sua0.d.ts} +4 -1
  142. package/dist/{types-D5gNQiDj.d.ts → types-gQsr0AAA.d.cts} +9 -1
  143. package/dist/{types-D5gNQiDj.d.cts → types-gQsr0AAA.d.ts} +9 -1
  144. package/package.json +2 -2
  145. package/src/core/buffer-reader.ts +130 -114
  146. package/src/core/buffer-writer.ts +100 -91
  147. package/src/core/hex.ts +7 -3
  148. package/src/drafts/draft07/codec.ts +14 -9
  149. package/src/drafts/draft07/data-streams.ts +240 -240
  150. package/src/drafts/draft07/varint.ts +51 -23
  151. package/src/drafts/draft08/codec.ts +19 -10
  152. package/src/drafts/draft08/data-streams.ts +359 -359
  153. package/src/drafts/draft09/codec.ts +19 -10
  154. package/src/drafts/draft09/data-streams.ts +332 -332
  155. package/src/drafts/draft10/codec.ts +19 -10
  156. package/src/drafts/draft10/data-streams.ts +332 -332
  157. package/src/drafts/draft11/codec.ts +33 -14
  158. package/src/drafts/draft11/data-streams.ts +269 -269
  159. package/src/drafts/draft12/codec.ts +27 -31
  160. package/src/drafts/draft12/data-streams.ts +275 -275
  161. package/src/drafts/draft13/codec.ts +27 -31
  162. package/src/drafts/draft13/data-streams.ts +275 -275
  163. package/src/drafts/draft14/codec.ts +19 -10
  164. package/src/drafts/draft14/data-streams.ts +813 -798
  165. package/src/drafts/draft15/codec.ts +21 -12
  166. package/src/drafts/draft15/data-streams.ts +794 -778
  167. package/src/drafts/draft16/codec.ts +21 -12
  168. package/src/drafts/draft16/data-streams.ts +789 -773
  169. package/src/drafts/draft17/codec.ts +21 -12
  170. package/src/drafts/draft17/data-streams.ts +758 -742
  171. package/dist/codec-AFuOxfsO.d.ts +0 -60
  172. package/dist/codec-B-UJ5Iow.d.cts +0 -75
  173. package/dist/codec-BvpuF-6u.d.cts +0 -39
  174. package/dist/codec-C8jZI5Cx.d.cts +0 -39
  175. package/dist/codec-CSUqCrRs.d.ts +0 -39
  176. package/dist/codec-CpuvYTSV.d.cts +0 -86
  177. package/dist/codec-D7ARhpG1.d.ts +0 -75
  178. package/dist/codec-DNAUGshO.d.cts +0 -60
  179. package/dist/codec-DPx_QNn0.d.ts +0 -31
  180. package/dist/codec-DRhCx_hw.d.ts +0 -86
  181. package/dist/codec-Db7YPe3l.d.ts +0 -31
  182. package/dist/codec-axkJpb7D.d.cts +0 -31
  183. package/dist/codec-ujAbFaep.d.cts +0 -31
  184. package/dist/core/buffer-reader.d.ts +0 -15
  185. package/dist/core/buffer-reader.d.ts.map +0 -1
  186. package/dist/core/buffer-reader.js +0 -98
  187. package/dist/core/buffer-reader.js.map +0 -1
  188. package/dist/core/buffer-writer.d.ts +0 -16
  189. package/dist/core/buffer-writer.d.ts.map +0 -1
  190. package/dist/core/buffer-writer.js +0 -86
  191. package/dist/core/buffer-writer.js.map +0 -1
  192. package/dist/core/errors.d.ts +0 -2
  193. package/dist/core/errors.d.ts.map +0 -1
  194. package/dist/core/errors.js +0 -2
  195. package/dist/core/errors.js.map +0 -1
  196. package/dist/core/hex.d.ts +0 -5
  197. package/dist/core/hex.d.ts.map +0 -1
  198. package/dist/core/hex.js +0 -17
  199. package/dist/core/hex.js.map +0 -1
  200. package/dist/core/session-types.d.ts +0 -99
  201. package/dist/core/session-types.d.ts.map +0 -1
  202. package/dist/core/session-types.js +0 -2
  203. package/dist/core/session-types.js.map +0 -1
  204. package/dist/core/types.d.ts +0 -235
  205. package/dist/core/types.d.ts.map +0 -1
  206. package/dist/core/types.js +0 -11
  207. package/dist/core/types.js.map +0 -1
  208. package/dist/drafts/draft07/announce-fsm.d.ts +0 -2
  209. package/dist/drafts/draft07/announce-fsm.d.ts.map +0 -1
  210. package/dist/drafts/draft07/announce-fsm.js +0 -2
  211. package/dist/drafts/draft07/announce-fsm.js.map +0 -1
  212. package/dist/drafts/draft07/codec.d.ts +0 -17
  213. package/dist/drafts/draft07/codec.d.ts.map +0 -1
  214. package/dist/drafts/draft07/codec.js +0 -722
  215. package/dist/drafts/draft07/codec.js.map +0 -1
  216. package/dist/drafts/draft07/data-streams.d.ts +0 -9
  217. package/dist/drafts/draft07/data-streams.d.ts.map +0 -1
  218. package/dist/drafts/draft07/data-streams.js +0 -228
  219. package/dist/drafts/draft07/data-streams.js.map +0 -1
  220. package/dist/drafts/draft07/index.d.ts +0 -14
  221. package/dist/drafts/draft07/index.d.ts.map +0 -1
  222. package/dist/drafts/draft07/index.js +0 -18
  223. package/dist/drafts/draft07/index.js.map +0 -1
  224. package/dist/drafts/draft07/messages.d.ts +0 -32
  225. package/dist/drafts/draft07/messages.d.ts.map +0 -1
  226. package/dist/drafts/draft07/messages.js +0 -42
  227. package/dist/drafts/draft07/messages.js.map +0 -1
  228. package/dist/drafts/draft07/parameters.d.ts +0 -4
  229. package/dist/drafts/draft07/parameters.d.ts.map +0 -1
  230. package/dist/drafts/draft07/parameters.js +0 -10
  231. package/dist/drafts/draft07/parameters.js.map +0 -1
  232. package/dist/drafts/draft07/rules.d.ts +0 -8
  233. package/dist/drafts/draft07/rules.d.ts.map +0 -1
  234. package/dist/drafts/draft07/rules.js +0 -95
  235. package/dist/drafts/draft07/rules.js.map +0 -1
  236. package/dist/drafts/draft07/session-fsm.d.ts +0 -38
  237. package/dist/drafts/draft07/session-fsm.d.ts.map +0 -1
  238. package/dist/drafts/draft07/session-fsm.js +0 -354
  239. package/dist/drafts/draft07/session-fsm.js.map +0 -1
  240. package/dist/drafts/draft07/session.d.ts +0 -4
  241. package/dist/drafts/draft07/session.d.ts.map +0 -1
  242. package/dist/drafts/draft07/session.js +0 -5
  243. package/dist/drafts/draft07/session.js.map +0 -1
  244. package/dist/drafts/draft07/subscription-fsm.d.ts +0 -2
  245. package/dist/drafts/draft07/subscription-fsm.d.ts.map +0 -1
  246. package/dist/drafts/draft07/subscription-fsm.js +0 -2
  247. package/dist/drafts/draft07/subscription-fsm.js.map +0 -1
  248. package/dist/drafts/draft07/types.d.ts +0 -61
  249. package/dist/drafts/draft07/types.d.ts.map +0 -1
  250. package/dist/drafts/draft07/types.js +0 -4
  251. package/dist/drafts/draft07/types.js.map +0 -1
  252. package/dist/drafts/draft07/varint.d.ts +0 -4
  253. package/dist/drafts/draft07/varint.d.ts.map +0 -1
  254. package/dist/drafts/draft07/varint.js +0 -22
  255. package/dist/drafts/draft07/varint.js.map +0 -1
  256. package/dist/drafts/draft08/codec.d.ts.map +0 -1
  257. package/dist/drafts/draft08/codec.js +0 -729
  258. package/dist/drafts/draft08/codec.js.map +0 -1
  259. package/dist/drafts/draft08/data-streams.d.ts +0 -12
  260. package/dist/drafts/draft08/data-streams.d.ts.map +0 -1
  261. package/dist/drafts/draft08/data-streams.js +0 -345
  262. package/dist/drafts/draft08/data-streams.js.map +0 -1
  263. package/dist/drafts/draft08/index.d.ts +0 -9
  264. package/dist/drafts/draft08/index.d.ts.map +0 -1
  265. package/dist/drafts/draft08/index.js +0 -7
  266. package/dist/drafts/draft08/index.js.map +0 -1
  267. package/dist/drafts/draft08/messages.d.ts +0 -34
  268. package/dist/drafts/draft08/messages.d.ts.map +0 -1
  269. package/dist/drafts/draft08/messages.js +0 -66
  270. package/dist/drafts/draft08/messages.js.map +0 -1
  271. package/dist/drafts/draft08/rules.d.ts +0 -8
  272. package/dist/drafts/draft08/rules.d.ts.map +0 -1
  273. package/dist/drafts/draft08/rules.js +0 -83
  274. package/dist/drafts/draft08/rules.js.map +0 -1
  275. package/dist/drafts/draft08/session-fsm.d.ts +0 -47
  276. package/dist/drafts/draft08/session-fsm.d.ts.map +0 -1
  277. package/dist/drafts/draft08/session-fsm.js +0 -483
  278. package/dist/drafts/draft08/session-fsm.js.map +0 -1
  279. package/dist/drafts/draft08/session.d.ts +0 -5
  280. package/dist/drafts/draft08/session.d.ts.map +0 -1
  281. package/dist/drafts/draft08/session.js +0 -5
  282. package/dist/drafts/draft08/session.js.map +0 -1
  283. package/dist/drafts/draft08/types.d.ts +0 -268
  284. package/dist/drafts/draft08/types.d.ts.map +0 -1
  285. package/dist/drafts/draft08/types.js +0 -4
  286. package/dist/drafts/draft08/types.js.map +0 -1
  287. package/dist/drafts/draft09/codec.d.ts +0 -21
  288. package/dist/drafts/draft09/codec.d.ts.map +0 -1
  289. package/dist/drafts/draft09/codec.js +0 -721
  290. package/dist/drafts/draft09/codec.js.map +0 -1
  291. package/dist/drafts/draft09/data-streams.d.ts +0 -12
  292. package/dist/drafts/draft09/data-streams.d.ts.map +0 -1
  293. package/dist/drafts/draft09/data-streams.js +0 -307
  294. package/dist/drafts/draft09/data-streams.js.map +0 -1
  295. package/dist/drafts/draft09/index.d.ts +0 -9
  296. package/dist/drafts/draft09/index.d.ts.map +0 -1
  297. package/dist/drafts/draft09/index.js +0 -7
  298. package/dist/drafts/draft09/index.js.map +0 -1
  299. package/dist/drafts/draft09/messages.d.ts +0 -34
  300. package/dist/drafts/draft09/messages.d.ts.map +0 -1
  301. package/dist/drafts/draft09/messages.js +0 -66
  302. package/dist/drafts/draft09/messages.js.map +0 -1
  303. package/dist/drafts/draft09/rules.d.ts +0 -8
  304. package/dist/drafts/draft09/rules.d.ts.map +0 -1
  305. package/dist/drafts/draft09/rules.js +0 -83
  306. package/dist/drafts/draft09/rules.js.map +0 -1
  307. package/dist/drafts/draft09/session-fsm.d.ts +0 -47
  308. package/dist/drafts/draft09/session-fsm.d.ts.map +0 -1
  309. package/dist/drafts/draft09/session-fsm.js +0 -483
  310. package/dist/drafts/draft09/session-fsm.js.map +0 -1
  311. package/dist/drafts/draft09/session.d.ts +0 -5
  312. package/dist/drafts/draft09/session.d.ts.map +0 -1
  313. package/dist/drafts/draft09/session.js +0 -5
  314. package/dist/drafts/draft09/session.js.map +0 -1
  315. package/dist/drafts/draft09/types.d.ts +0 -268
  316. package/dist/drafts/draft09/types.d.ts.map +0 -1
  317. package/dist/drafts/draft09/types.js +0 -4
  318. package/dist/drafts/draft09/types.js.map +0 -1
  319. package/dist/drafts/draft10/codec.d.ts +0 -21
  320. package/dist/drafts/draft10/codec.d.ts.map +0 -1
  321. package/dist/drafts/draft10/codec.js +0 -721
  322. package/dist/drafts/draft10/codec.js.map +0 -1
  323. package/dist/drafts/draft10/data-streams.d.ts +0 -12
  324. package/dist/drafts/draft10/data-streams.d.ts.map +0 -1
  325. package/dist/drafts/draft10/data-streams.js +0 -307
  326. package/dist/drafts/draft10/data-streams.js.map +0 -1
  327. package/dist/drafts/draft10/index.d.ts +0 -9
  328. package/dist/drafts/draft10/index.d.ts.map +0 -1
  329. package/dist/drafts/draft10/index.js +0 -7
  330. package/dist/drafts/draft10/index.js.map +0 -1
  331. package/dist/drafts/draft10/messages.d.ts +0 -34
  332. package/dist/drafts/draft10/messages.d.ts.map +0 -1
  333. package/dist/drafts/draft10/messages.js +0 -66
  334. package/dist/drafts/draft10/messages.js.map +0 -1
  335. package/dist/drafts/draft10/rules.d.ts +0 -8
  336. package/dist/drafts/draft10/rules.d.ts.map +0 -1
  337. package/dist/drafts/draft10/rules.js +0 -83
  338. package/dist/drafts/draft10/rules.js.map +0 -1
  339. package/dist/drafts/draft10/session-fsm.d.ts +0 -47
  340. package/dist/drafts/draft10/session-fsm.d.ts.map +0 -1
  341. package/dist/drafts/draft10/session-fsm.js +0 -483
  342. package/dist/drafts/draft10/session-fsm.js.map +0 -1
  343. package/dist/drafts/draft10/session.d.ts +0 -5
  344. package/dist/drafts/draft10/session.d.ts.map +0 -1
  345. package/dist/drafts/draft10/session.js +0 -5
  346. package/dist/drafts/draft10/session.js.map +0 -1
  347. package/dist/drafts/draft10/types.d.ts +0 -268
  348. package/dist/drafts/draft10/types.d.ts.map +0 -1
  349. package/dist/drafts/draft10/types.js +0 -4
  350. package/dist/drafts/draft10/types.js.map +0 -1
  351. package/dist/drafts/draft11/codec.d.ts +0 -25
  352. package/dist/drafts/draft11/codec.d.ts.map +0 -1
  353. package/dist/drafts/draft11/codec.js +0 -775
  354. package/dist/drafts/draft11/codec.js.map +0 -1
  355. package/dist/drafts/draft11/data-streams.d.ts +0 -10
  356. package/dist/drafts/draft11/data-streams.d.ts.map +0 -1
  357. package/dist/drafts/draft11/data-streams.js +0 -253
  358. package/dist/drafts/draft11/data-streams.js.map +0 -1
  359. package/dist/drafts/draft11/index.d.ts +0 -9
  360. package/dist/drafts/draft11/index.d.ts.map +0 -1
  361. package/dist/drafts/draft11/index.js +0 -7
  362. package/dist/drafts/draft11/index.js.map +0 -1
  363. package/dist/drafts/draft11/messages.d.ts +0 -33
  364. package/dist/drafts/draft11/messages.d.ts.map +0 -1
  365. package/dist/drafts/draft11/messages.js +0 -65
  366. package/dist/drafts/draft11/messages.js.map +0 -1
  367. package/dist/drafts/draft11/rules.d.ts +0 -8
  368. package/dist/drafts/draft11/rules.d.ts.map +0 -1
  369. package/dist/drafts/draft11/rules.js +0 -88
  370. package/dist/drafts/draft11/rules.js.map +0 -1
  371. package/dist/drafts/draft11/session-fsm.d.ts +0 -52
  372. package/dist/drafts/draft11/session-fsm.d.ts.map +0 -1
  373. package/dist/drafts/draft11/session-fsm.js +0 -530
  374. package/dist/drafts/draft11/session-fsm.js.map +0 -1
  375. package/dist/drafts/draft11/session.d.ts +0 -5
  376. package/dist/drafts/draft11/session.d.ts.map +0 -1
  377. package/dist/drafts/draft11/session.js +0 -5
  378. package/dist/drafts/draft11/session.js.map +0 -1
  379. package/dist/drafts/draft11/types.d.ts +0 -266
  380. package/dist/drafts/draft11/types.d.ts.map +0 -1
  381. package/dist/drafts/draft11/types.js +0 -4
  382. package/dist/drafts/draft11/types.js.map +0 -1
  383. package/dist/drafts/draft12/codec.d.ts +0 -27
  384. package/dist/drafts/draft12/codec.d.ts.map +0 -1
  385. package/dist/drafts/draft12/codec.js +0 -918
  386. package/dist/drafts/draft12/codec.js.map +0 -1
  387. package/dist/drafts/draft12/data-streams.d.ts +0 -10
  388. package/dist/drafts/draft12/data-streams.d.ts.map +0 -1
  389. package/dist/drafts/draft12/data-streams.js +0 -254
  390. package/dist/drafts/draft12/data-streams.js.map +0 -1
  391. package/dist/drafts/draft12/index.d.ts +0 -9
  392. package/dist/drafts/draft12/index.d.ts.map +0 -1
  393. package/dist/drafts/draft12/index.js +0 -7
  394. package/dist/drafts/draft12/index.js.map +0 -1
  395. package/dist/drafts/draft12/messages.d.ts +0 -37
  396. package/dist/drafts/draft12/messages.d.ts.map +0 -1
  397. package/dist/drafts/draft12/messages.js +0 -77
  398. package/dist/drafts/draft12/messages.js.map +0 -1
  399. package/dist/drafts/draft12/rules.d.ts +0 -8
  400. package/dist/drafts/draft12/rules.d.ts.map +0 -1
  401. package/dist/drafts/draft12/rules.js +0 -94
  402. package/dist/drafts/draft12/rules.js.map +0 -1
  403. package/dist/drafts/draft12/session-fsm.d.ts +0 -55
  404. package/dist/drafts/draft12/session-fsm.d.ts.map +0 -1
  405. package/dist/drafts/draft12/session-fsm.js +0 -569
  406. package/dist/drafts/draft12/session-fsm.js.map +0 -1
  407. package/dist/drafts/draft12/session.d.ts +0 -5
  408. package/dist/drafts/draft12/session.d.ts.map +0 -1
  409. package/dist/drafts/draft12/session.js +0 -5
  410. package/dist/drafts/draft12/session.js.map +0 -1
  411. package/dist/drafts/draft12/types.d.ts +0 -294
  412. package/dist/drafts/draft12/types.d.ts.map +0 -1
  413. package/dist/drafts/draft12/types.js +0 -4
  414. package/dist/drafts/draft12/types.js.map +0 -1
  415. package/dist/drafts/draft13/codec.d.ts +0 -27
  416. package/dist/drafts/draft13/codec.d.ts.map +0 -1
  417. package/dist/drafts/draft13/codec.js +0 -1000
  418. package/dist/drafts/draft13/codec.js.map +0 -1
  419. package/dist/drafts/draft13/data-streams.d.ts +0 -10
  420. package/dist/drafts/draft13/data-streams.d.ts.map +0 -1
  421. package/dist/drafts/draft13/data-streams.js +0 -254
  422. package/dist/drafts/draft13/data-streams.js.map +0 -1
  423. package/dist/drafts/draft13/index.d.ts +0 -9
  424. package/dist/drafts/draft13/index.d.ts.map +0 -1
  425. package/dist/drafts/draft13/index.js +0 -7
  426. package/dist/drafts/draft13/index.js.map +0 -1
  427. package/dist/drafts/draft13/messages.d.ts +0 -38
  428. package/dist/drafts/draft13/messages.d.ts.map +0 -1
  429. package/dist/drafts/draft13/messages.js +0 -79
  430. package/dist/drafts/draft13/messages.js.map +0 -1
  431. package/dist/drafts/draft13/rules.d.ts +0 -8
  432. package/dist/drafts/draft13/rules.d.ts.map +0 -1
  433. package/dist/drafts/draft13/rules.js +0 -96
  434. package/dist/drafts/draft13/rules.js.map +0 -1
  435. package/dist/drafts/draft13/session-fsm.d.ts +0 -56
  436. package/dist/drafts/draft13/session-fsm.d.ts.map +0 -1
  437. package/dist/drafts/draft13/session-fsm.js +0 -581
  438. package/dist/drafts/draft13/session-fsm.js.map +0 -1
  439. package/dist/drafts/draft13/session.d.ts +0 -5
  440. package/dist/drafts/draft13/session.d.ts.map +0 -1
  441. package/dist/drafts/draft13/session.js +0 -5
  442. package/dist/drafts/draft13/session.js.map +0 -1
  443. package/dist/drafts/draft13/types.d.ts +0 -310
  444. package/dist/drafts/draft13/types.d.ts.map +0 -1
  445. package/dist/drafts/draft13/types.js +0 -4
  446. package/dist/drafts/draft13/types.js.map +0 -1
  447. package/dist/drafts/draft14/codec.d.ts.map +0 -1
  448. package/dist/drafts/draft14/codec.js +0 -752
  449. package/dist/drafts/draft14/codec.js.map +0 -1
  450. package/dist/drafts/draft14/data-streams.d.ts +0 -56
  451. package/dist/drafts/draft14/data-streams.d.ts.map +0 -1
  452. package/dist/drafts/draft14/data-streams.js +0 -729
  453. package/dist/drafts/draft14/data-streams.js.map +0 -1
  454. package/dist/drafts/draft14/index.d.ts +0 -9
  455. package/dist/drafts/draft14/index.d.ts.map +0 -1
  456. package/dist/drafts/draft14/index.js +0 -7
  457. package/dist/drafts/draft14/index.js.map +0 -1
  458. package/dist/drafts/draft14/messages.d.ts +0 -36
  459. package/dist/drafts/draft14/messages.d.ts.map +0 -1
  460. package/dist/drafts/draft14/messages.js +0 -71
  461. package/dist/drafts/draft14/messages.js.map +0 -1
  462. package/dist/drafts/draft14/rules.d.ts +0 -8
  463. package/dist/drafts/draft14/rules.d.ts.map +0 -1
  464. package/dist/drafts/draft14/rules.js +0 -101
  465. package/dist/drafts/draft14/rules.js.map +0 -1
  466. package/dist/drafts/draft14/session-fsm.d.ts +0 -58
  467. package/dist/drafts/draft14/session-fsm.d.ts.map +0 -1
  468. package/dist/drafts/draft14/session-fsm.js +0 -648
  469. package/dist/drafts/draft14/session-fsm.js.map +0 -1
  470. package/dist/drafts/draft14/session.d.ts +0 -5
  471. package/dist/drafts/draft14/session.d.ts.map +0 -1
  472. package/dist/drafts/draft14/session.js +0 -5
  473. package/dist/drafts/draft14/session.js.map +0 -1
  474. package/dist/drafts/draft14/types.d.ts +0 -263
  475. package/dist/drafts/draft14/types.d.ts.map +0 -1
  476. package/dist/drafts/draft14/types.js +0 -4
  477. package/dist/drafts/draft14/types.js.map +0 -1
  478. package/dist/drafts/draft15/codec.d.ts.map +0 -1
  479. package/dist/drafts/draft15/codec.js +0 -742
  480. package/dist/drafts/draft15/codec.js.map +0 -1
  481. package/dist/drafts/draft15/data-streams.d.ts +0 -45
  482. package/dist/drafts/draft15/data-streams.d.ts.map +0 -1
  483. package/dist/drafts/draft15/data-streams.js +0 -675
  484. package/dist/drafts/draft15/data-streams.js.map +0 -1
  485. package/dist/drafts/draft15/index.d.ts +0 -9
  486. package/dist/drafts/draft15/index.d.ts.map +0 -1
  487. package/dist/drafts/draft15/index.js +0 -7
  488. package/dist/drafts/draft15/index.js.map +0 -1
  489. package/dist/drafts/draft15/messages.d.ts +0 -31
  490. package/dist/drafts/draft15/messages.d.ts.map +0 -1
  491. package/dist/drafts/draft15/messages.js +0 -59
  492. package/dist/drafts/draft15/messages.js.map +0 -1
  493. package/dist/drafts/draft15/rules.d.ts +0 -8
  494. package/dist/drafts/draft15/rules.d.ts.map +0 -1
  495. package/dist/drafts/draft15/rules.js +0 -83
  496. package/dist/drafts/draft15/rules.js.map +0 -1
  497. package/dist/drafts/draft15/session-fsm.d.ts +0 -48
  498. package/dist/drafts/draft15/session-fsm.d.ts.map +0 -1
  499. package/dist/drafts/draft15/session-fsm.js +0 -479
  500. package/dist/drafts/draft15/session-fsm.js.map +0 -1
  501. package/dist/drafts/draft15/session.d.ts +0 -5
  502. package/dist/drafts/draft15/session.d.ts.map +0 -1
  503. package/dist/drafts/draft15/session.js +0 -5
  504. package/dist/drafts/draft15/session.js.map +0 -1
  505. package/dist/drafts/draft15/types.d.ts +0 -232
  506. package/dist/drafts/draft15/types.d.ts.map +0 -1
  507. package/dist/drafts/draft15/types.js +0 -4
  508. package/dist/drafts/draft15/types.js.map +0 -1
  509. package/dist/drafts/draft16/codec.d.ts +0 -29
  510. package/dist/drafts/draft16/codec.d.ts.map +0 -1
  511. package/dist/drafts/draft16/codec.js +0 -747
  512. package/dist/drafts/draft16/codec.js.map +0 -1
  513. package/dist/drafts/draft16/data-streams.d.ts +0 -34
  514. package/dist/drafts/draft16/data-streams.d.ts.map +0 -1
  515. package/dist/drafts/draft16/data-streams.js +0 -667
  516. package/dist/drafts/draft16/data-streams.js.map +0 -1
  517. package/dist/drafts/draft16/index.d.ts +0 -9
  518. package/dist/drafts/draft16/index.d.ts.map +0 -1
  519. package/dist/drafts/draft16/index.js +0 -7
  520. package/dist/drafts/draft16/index.js.map +0 -1
  521. package/dist/drafts/draft16/messages.d.ts +0 -32
  522. package/dist/drafts/draft16/messages.d.ts.map +0 -1
  523. package/dist/drafts/draft16/messages.js +0 -62
  524. package/dist/drafts/draft16/messages.js.map +0 -1
  525. package/dist/drafts/draft16/rules.d.ts +0 -8
  526. package/dist/drafts/draft16/rules.d.ts.map +0 -1
  527. package/dist/drafts/draft16/rules.js +0 -84
  528. package/dist/drafts/draft16/rules.js.map +0 -1
  529. package/dist/drafts/draft16/session-fsm.d.ts +0 -48
  530. package/dist/drafts/draft16/session-fsm.d.ts.map +0 -1
  531. package/dist/drafts/draft16/session-fsm.js +0 -474
  532. package/dist/drafts/draft16/session-fsm.js.map +0 -1
  533. package/dist/drafts/draft16/session.d.ts +0 -5
  534. package/dist/drafts/draft16/session.d.ts.map +0 -1
  535. package/dist/drafts/draft16/session.js +0 -5
  536. package/dist/drafts/draft16/session.js.map +0 -1
  537. package/dist/drafts/draft16/types.d.ts +0 -238
  538. package/dist/drafts/draft16/types.d.ts.map +0 -1
  539. package/dist/drafts/draft16/types.js +0 -4
  540. package/dist/drafts/draft16/types.js.map +0 -1
  541. package/dist/drafts/draft17/codec.d.ts +0 -29
  542. package/dist/drafts/draft17/codec.d.ts.map +0 -1
  543. package/dist/drafts/draft17/codec.js +0 -799
  544. package/dist/drafts/draft17/codec.js.map +0 -1
  545. package/dist/drafts/draft17/data-streams.d.ts +0 -13
  546. package/dist/drafts/draft17/data-streams.d.ts.map +0 -1
  547. package/dist/drafts/draft17/data-streams.js +0 -633
  548. package/dist/drafts/draft17/data-streams.js.map +0 -1
  549. package/dist/drafts/draft17/index.d.ts +0 -8
  550. package/dist/drafts/draft17/index.d.ts.map +0 -1
  551. package/dist/drafts/draft17/index.js +0 -6
  552. package/dist/drafts/draft17/index.js.map +0 -1
  553. package/dist/drafts/draft17/messages.d.ts +0 -25
  554. package/dist/drafts/draft17/messages.d.ts.map +0 -1
  555. package/dist/drafts/draft17/messages.js +0 -48
  556. package/dist/drafts/draft17/messages.js.map +0 -1
  557. package/dist/drafts/draft17/rules.d.ts +0 -8
  558. package/dist/drafts/draft17/rules.d.ts.map +0 -1
  559. package/dist/drafts/draft17/rules.js +0 -71
  560. package/dist/drafts/draft17/rules.js.map +0 -1
  561. package/dist/drafts/draft17/session-fsm.d.ts +0 -45
  562. package/dist/drafts/draft17/session-fsm.d.ts.map +0 -1
  563. package/dist/drafts/draft17/session-fsm.js +0 -328
  564. package/dist/drafts/draft17/session-fsm.js.map +0 -1
  565. package/dist/drafts/draft17/session.d.ts +0 -5
  566. package/dist/drafts/draft17/session.d.ts.map +0 -1
  567. package/dist/drafts/draft17/session.js +0 -6
  568. package/dist/drafts/draft17/session.js.map +0 -1
  569. package/dist/drafts/draft17/types.d.ts +0 -219
  570. package/dist/drafts/draft17/types.d.ts.map +0 -1
  571. package/dist/drafts/draft17/types.js +0 -3
  572. package/dist/drafts/draft17/types.js.map +0 -1
  573. package/dist/index.d.ts.map +0 -1
  574. package/dist/index.js.map +0 -1
  575. package/dist/session.d.ts.map +0 -1
  576. package/dist/session.js.map +0 -1
@@ -1,729 +0,0 @@
1
- import { bytesToHex, hexToBytes } from "../../core/hex.js";
2
- import { BufferReader } from "../../core/buffer-reader.js";
3
- import { BufferWriter } from "../../core/buffer-writer.js";
4
- import { DecodeError } from "../../core/types.js";
5
- import { MESSAGE_ID_MAP, MSG_ANNOUNCE, MSG_ANNOUNCE_CANCEL, MSG_ANNOUNCE_ERROR, MSG_ANNOUNCE_OK, MSG_CLIENT_SETUP, MSG_FETCH, MSG_FETCH_CANCEL, MSG_FETCH_ERROR, MSG_FETCH_OK, MSG_GOAWAY, MSG_MAX_SUBSCRIBE_ID, MSG_SERVER_SETUP, MSG_SUBSCRIBE, MSG_SUBSCRIBE_ANNOUNCES, MSG_SUBSCRIBE_ANNOUNCES_ERROR, MSG_SUBSCRIBE_ANNOUNCES_OK, MSG_SUBSCRIBE_DONE, MSG_SUBSCRIBE_ERROR, MSG_SUBSCRIBE_OK, MSG_SUBSCRIBE_UPDATE, MSG_SUBSCRIBES_BLOCKED, MSG_TRACK_STATUS, MSG_TRACK_STATUS_REQUEST, MSG_UNANNOUNCE, MSG_UNSUBSCRIBE, MSG_UNSUBSCRIBE_ANNOUNCES, PARAM_AUTHORIZATION_INFO, PARAM_DELIVERY_TIMEOUT, PARAM_MAX_CACHE_DURATION, SETUP_PARAM_MAX_SUBSCRIBE_ID, SETUP_PARAM_PATH, } from "./messages.js";
6
- // ─── Setup Parameter Encoding/Decoding (all type+length+value) ──────────────
7
- function encodeSetupParams(params, w) {
8
- let count = 0;
9
- if (params.path !== undefined)
10
- count++;
11
- if (params.max_subscribe_id !== undefined)
12
- count++;
13
- if (params.unknown)
14
- count += params.unknown.length;
15
- w.writeVarInt(count);
16
- if (params.path !== undefined) {
17
- w.writeVarInt(SETUP_PARAM_PATH);
18
- const encoded = new TextEncoder().encode(params.path);
19
- w.writeVarInt(encoded.byteLength);
20
- w.writeBytes(encoded);
21
- }
22
- if (params.max_subscribe_id !== undefined) {
23
- w.writeVarInt(SETUP_PARAM_MAX_SUBSCRIBE_ID);
24
- const tmpW = new BufferWriter(16);
25
- tmpW.writeVarInt(params.max_subscribe_id);
26
- const raw = tmpW.finish();
27
- w.writeVarInt(raw.byteLength);
28
- w.writeBytes(raw);
29
- }
30
- // unknown params: all are type + length + raw_hex bytes
31
- if (params.unknown) {
32
- for (const u of params.unknown) {
33
- w.writeVarInt(BigInt(u.id));
34
- const raw = hexToBytes(u.raw_hex);
35
- w.writeVarInt(raw.byteLength);
36
- w.writeBytes(raw);
37
- }
38
- }
39
- }
40
- function decodeSetupParams(r) {
41
- const count = Number(r.readVarInt());
42
- const result = {};
43
- const unknown = [];
44
- for (let i = 0; i < count; i++) {
45
- const paramType = r.readVarInt();
46
- const length = Number(r.readVarInt());
47
- if (paramType === SETUP_PARAM_PATH) {
48
- const bytes = r.readBytes(length);
49
- result.path = new TextDecoder().decode(bytes);
50
- }
51
- else if (paramType === SETUP_PARAM_MAX_SUBSCRIBE_ID) {
52
- const blob = r.readBytes(length);
53
- const tmpReader = new BufferReader(blob);
54
- result.max_subscribe_id = tmpReader.readVarInt();
55
- }
56
- else {
57
- const bytes = r.readBytes(length);
58
- unknown.push({ id: `0x${paramType.toString(16)}`, length, raw_hex: bytesToHex(bytes) });
59
- }
60
- }
61
- if (unknown.length > 0)
62
- result.unknown = unknown;
63
- return result;
64
- }
65
- // ─── Version-Specific Parameter Encoding/Decoding (all type+length+value) ────
66
- function encodeParams(params, w) {
67
- let count = params.unknown ? params.unknown.length : 0;
68
- if (params.authorization_info !== undefined)
69
- count++;
70
- if (params.delivery_timeout !== undefined)
71
- count++;
72
- if (params.max_cache_duration !== undefined)
73
- count++;
74
- w.writeVarInt(count);
75
- if (params.authorization_info !== undefined) {
76
- w.writeVarInt(PARAM_AUTHORIZATION_INFO);
77
- const encoded = new TextEncoder().encode(params.authorization_info);
78
- w.writeVarInt(encoded.byteLength);
79
- w.writeBytes(encoded);
80
- }
81
- if (params.delivery_timeout !== undefined) {
82
- w.writeVarInt(PARAM_DELIVERY_TIMEOUT);
83
- const tmpW = new BufferWriter(16);
84
- tmpW.writeVarInt(params.delivery_timeout);
85
- const raw = tmpW.finish();
86
- w.writeVarInt(raw.byteLength);
87
- w.writeBytes(raw);
88
- }
89
- if (params.max_cache_duration !== undefined) {
90
- w.writeVarInt(PARAM_MAX_CACHE_DURATION);
91
- const tmpW = new BufferWriter(16);
92
- tmpW.writeVarInt(params.max_cache_duration);
93
- const raw = tmpW.finish();
94
- w.writeVarInt(raw.byteLength);
95
- w.writeBytes(raw);
96
- }
97
- if (params.unknown) {
98
- for (const u of params.unknown) {
99
- w.writeVarInt(BigInt(u.id));
100
- const raw = hexToBytes(u.raw_hex);
101
- w.writeVarInt(raw.byteLength);
102
- w.writeBytes(raw);
103
- }
104
- }
105
- }
106
- function decodeParams(r) {
107
- const count = Number(r.readVarInt());
108
- const result = {};
109
- const unknown = [];
110
- for (let i = 0; i < count; i++) {
111
- const paramType = r.readVarInt();
112
- const length = Number(r.readVarInt());
113
- if (paramType === PARAM_AUTHORIZATION_INFO) {
114
- const bytes = r.readBytes(length);
115
- result.authorization_info = new TextDecoder().decode(bytes);
116
- }
117
- else if (paramType === PARAM_DELIVERY_TIMEOUT) {
118
- const blob = r.readBytes(length);
119
- const tmpReader = new BufferReader(blob);
120
- result.delivery_timeout = tmpReader.readVarInt();
121
- }
122
- else if (paramType === PARAM_MAX_CACHE_DURATION) {
123
- const blob = r.readBytes(length);
124
- const tmpReader = new BufferReader(blob);
125
- result.max_cache_duration = tmpReader.readVarInt();
126
- }
127
- else {
128
- const bytes = r.readBytes(length);
129
- unknown.push({ id: `0x${paramType.toString(16)}`, length, raw_hex: bytesToHex(bytes) });
130
- }
131
- }
132
- if (unknown.length > 0)
133
- result.unknown = unknown;
134
- return result;
135
- }
136
- // ─── Payload Encoders ──────────────────────────────────────────────────────────
137
- function encodeClientSetupPayload(msg, w) {
138
- w.writeVarInt(msg.supported_versions.length);
139
- for (const v of msg.supported_versions)
140
- w.writeVarInt(v);
141
- encodeSetupParams(msg.parameters, w);
142
- }
143
- function encodeServerSetupPayload(msg, w) {
144
- w.writeVarInt(msg.selected_version);
145
- encodeSetupParams(msg.parameters, w);
146
- }
147
- function encodeSubscribePayload(msg, w) {
148
- w.writeVarInt(msg.subscribe_id);
149
- w.writeVarInt(msg.track_alias);
150
- w.writeTuple(msg.track_namespace);
151
- w.writeString(msg.track_name);
152
- w.writeUint8(msg.subscriber_priority);
153
- w.writeUint8(msg.group_order);
154
- w.writeVarInt(msg.filter_type);
155
- const ft = Number(msg.filter_type);
156
- if (ft === 3 || ft === 4) {
157
- w.writeVarInt(msg.start_group);
158
- w.writeVarInt(msg.start_object);
159
- }
160
- if (ft === 4) {
161
- w.writeVarInt(msg.end_group);
162
- }
163
- encodeParams(msg.parameters, w);
164
- }
165
- function encodeSubscribeOkPayload(msg, w) {
166
- w.writeVarInt(msg.subscribe_id);
167
- w.writeVarInt(msg.expires);
168
- w.writeUint8(msg.group_order);
169
- w.writeUint8(msg.content_exists);
170
- if (msg.content_exists === 1) {
171
- w.writeVarInt(msg.largest_group_id);
172
- w.writeVarInt(msg.largest_object_id);
173
- }
174
- encodeParams(msg.parameters, w);
175
- }
176
- function encodeSubscribeErrorPayload(msg, w) {
177
- w.writeVarInt(msg.subscribe_id);
178
- w.writeVarInt(msg.error_code);
179
- w.writeString(msg.reason_phrase);
180
- w.writeVarInt(msg.track_alias);
181
- }
182
- function encodeSubscribeUpdatePayload(msg, w) {
183
- w.writeVarInt(msg.subscribe_id);
184
- w.writeVarInt(msg.start_group);
185
- w.writeVarInt(msg.start_object);
186
- w.writeVarInt(msg.end_group);
187
- w.writeUint8(msg.subscriber_priority);
188
- encodeParams(msg.parameters, w);
189
- }
190
- function encodeSubscribeDonePayload(msg, w) {
191
- w.writeVarInt(msg.subscribe_id);
192
- w.writeVarInt(msg.status_code);
193
- w.writeVarInt(msg.stream_count);
194
- w.writeString(msg.reason_phrase);
195
- }
196
- function encodeUnsubscribePayload(msg, w) {
197
- w.writeVarInt(msg.subscribe_id);
198
- }
199
- function encodeAnnouncePayload(msg, w) {
200
- w.writeTuple(msg.track_namespace);
201
- encodeParams(msg.parameters, w);
202
- }
203
- function encodeAnnounceOkPayload(msg, w) {
204
- w.writeTuple(msg.track_namespace);
205
- }
206
- function encodeAnnounceErrorPayload(msg, w) {
207
- w.writeTuple(msg.track_namespace);
208
- w.writeVarInt(msg.error_code);
209
- w.writeString(msg.reason_phrase);
210
- }
211
- function encodeUnannouncePayload(msg, w) {
212
- w.writeTuple(msg.track_namespace);
213
- }
214
- function encodeAnnounceCancelPayload(msg, w) {
215
- w.writeTuple(msg.track_namespace);
216
- w.writeVarInt(msg.error_code);
217
- w.writeString(msg.reason_phrase);
218
- }
219
- function encodeSubscribeAnnouncesPayload(msg, w) {
220
- w.writeTuple(msg.track_namespace_prefix);
221
- encodeParams(msg.parameters, w);
222
- }
223
- function encodeSubscribeAnnouncesOkPayload(msg, w) {
224
- w.writeTuple(msg.track_namespace_prefix);
225
- }
226
- function encodeSubscribeAnnouncesErrorPayload(msg, w) {
227
- w.writeTuple(msg.track_namespace_prefix);
228
- w.writeVarInt(msg.error_code);
229
- w.writeString(msg.reason_phrase);
230
- }
231
- function encodeUnsubscribeAnnouncesPayload(msg, w) {
232
- w.writeTuple(msg.track_namespace_prefix);
233
- }
234
- function encodeFetchPayload(msg, w) {
235
- w.writeVarInt(msg.subscribe_id);
236
- w.writeUint8(msg.subscriber_priority);
237
- w.writeUint8(msg.group_order);
238
- w.writeVarInt(msg.fetch_type);
239
- const ft = Number(msg.fetch_type);
240
- if (ft === 1 && msg.standalone) {
241
- w.writeTuple(msg.standalone.track_namespace);
242
- w.writeString(msg.standalone.track_name);
243
- w.writeVarInt(msg.standalone.start_group);
244
- w.writeVarInt(msg.standalone.start_object);
245
- w.writeVarInt(msg.standalone.end_group);
246
- w.writeVarInt(msg.standalone.end_object);
247
- }
248
- else if (ft === 2 && msg.joining) {
249
- w.writeVarInt(msg.joining.joining_subscribe_id);
250
- w.writeVarInt(msg.joining.preceding_group_offset);
251
- }
252
- encodeParams(msg.parameters, w);
253
- }
254
- function encodeFetchOkPayload(msg, w) {
255
- w.writeVarInt(msg.subscribe_id);
256
- w.writeUint8(msg.group_order);
257
- w.writeUint8(msg.end_of_track);
258
- w.writeVarInt(msg.largest_group_id);
259
- w.writeVarInt(msg.largest_object_id);
260
- encodeParams(msg.parameters, w);
261
- }
262
- function encodeFetchErrorPayload(msg, w) {
263
- w.writeVarInt(msg.subscribe_id);
264
- w.writeVarInt(msg.error_code);
265
- w.writeString(msg.reason_phrase);
266
- }
267
- function encodeFetchCancelPayload(msg, w) {
268
- w.writeVarInt(msg.subscribe_id);
269
- }
270
- function encodeTrackStatusRequestPayload(msg, w) {
271
- w.writeTuple(msg.track_namespace);
272
- w.writeString(msg.track_name);
273
- }
274
- function encodeTrackStatusPayload(msg, w) {
275
- w.writeTuple(msg.track_namespace);
276
- w.writeString(msg.track_name);
277
- w.writeVarInt(msg.status_code);
278
- w.writeVarInt(msg.last_group_id);
279
- w.writeVarInt(msg.last_object_id);
280
- }
281
- function encodeGoAwayPayload(msg, w) {
282
- w.writeString(msg.new_session_uri);
283
- }
284
- function encodeMaxSubscribeIdPayload(msg, w) {
285
- w.writeVarInt(msg.subscribe_id);
286
- }
287
- function encodeSubscribesBlockedPayload(msg, w) {
288
- w.writeVarInt(msg.maximum_subscribe_id);
289
- }
290
- // ─── Payload Decoders ──────────────────────────────────────────────────────────
291
- function decodeClientSetupPayload(r) {
292
- const numVersions = Number(r.readVarInt());
293
- if (numVersions === 0) {
294
- throw new DecodeError("CONSTRAINT_VIOLATION", "supported_versions must not be empty", r.offset);
295
- }
296
- const supported_versions = [];
297
- for (let i = 0; i < numVersions; i++)
298
- supported_versions.push(r.readVarInt());
299
- const parameters = decodeSetupParams(r);
300
- return { type: "client_setup", supported_versions, parameters };
301
- }
302
- function decodeServerSetupPayload(r) {
303
- const selected_version = r.readVarInt();
304
- const parameters = decodeSetupParams(r);
305
- return { type: "server_setup", selected_version, parameters };
306
- }
307
- function decodeSubscribePayload(r) {
308
- const subscribe_id = r.readVarInt();
309
- const track_alias = r.readVarInt();
310
- const track_namespace = r.readTuple();
311
- const track_name = r.readString();
312
- const subscriber_priority = r.readUint8();
313
- const group_order = r.readUint8();
314
- const filter_type = r.readVarInt();
315
- const ft = Number(filter_type);
316
- if (ft < 1 || ft > 4) {
317
- throw new DecodeError("CONSTRAINT_VIOLATION", `Invalid filter_type: ${ft}`, r.offset);
318
- }
319
- let start_group;
320
- let start_object;
321
- let end_group;
322
- if (ft === 3 || ft === 4) {
323
- start_group = r.readVarInt();
324
- start_object = r.readVarInt();
325
- }
326
- if (ft === 4) {
327
- end_group = r.readVarInt();
328
- }
329
- const parameters = decodeParams(r);
330
- const msg = {
331
- type: "subscribe",
332
- subscribe_id,
333
- track_alias,
334
- track_namespace,
335
- track_name,
336
- subscriber_priority,
337
- group_order,
338
- filter_type,
339
- parameters,
340
- };
341
- if (start_group !== undefined)
342
- msg.start_group = start_group;
343
- if (start_object !== undefined)
344
- msg.start_object = start_object;
345
- if (end_group !== undefined)
346
- msg.end_group = end_group;
347
- return msg;
348
- }
349
- function decodeSubscribeOkPayload(r) {
350
- const subscribe_id = r.readVarInt();
351
- const expires = r.readVarInt();
352
- const group_order = r.readUint8();
353
- const content_exists = r.readUint8();
354
- let largest_group_id;
355
- let largest_object_id;
356
- if (content_exists === 1) {
357
- largest_group_id = r.readVarInt();
358
- largest_object_id = r.readVarInt();
359
- }
360
- const parameters = decodeParams(r);
361
- const msg = {
362
- type: "subscribe_ok",
363
- subscribe_id,
364
- expires,
365
- group_order,
366
- content_exists,
367
- parameters,
368
- };
369
- if (largest_group_id !== undefined)
370
- msg.largest_group_id = largest_group_id;
371
- if (largest_object_id !== undefined)
372
- msg.largest_object_id = largest_object_id;
373
- return msg;
374
- }
375
- function decodeSubscribeErrorPayload(r) {
376
- const subscribe_id = r.readVarInt();
377
- const error_code = r.readVarInt();
378
- const reason_phrase = r.readString();
379
- const track_alias = r.readVarInt();
380
- return { type: "subscribe_error", subscribe_id, error_code, reason_phrase, track_alias };
381
- }
382
- function decodeSubscribeUpdatePayload(r) {
383
- const subscribe_id = r.readVarInt();
384
- const start_group = r.readVarInt();
385
- const start_object = r.readVarInt();
386
- const end_group = r.readVarInt();
387
- const subscriber_priority = r.readUint8();
388
- const parameters = decodeParams(r);
389
- return {
390
- type: "subscribe_update",
391
- subscribe_id,
392
- start_group,
393
- start_object,
394
- end_group,
395
- subscriber_priority,
396
- parameters,
397
- };
398
- }
399
- function decodeSubscribeDonePayload(r) {
400
- const subscribe_id = r.readVarInt();
401
- const status_code = r.readVarInt();
402
- const stream_count = r.readVarInt();
403
- const reason_phrase = r.readString();
404
- return { type: "subscribe_done", subscribe_id, status_code, stream_count, reason_phrase };
405
- }
406
- function decodeUnsubscribePayload(r) {
407
- const subscribe_id = r.readVarInt();
408
- return { type: "unsubscribe", subscribe_id };
409
- }
410
- function decodeAnnouncePayload(r) {
411
- const track_namespace = r.readTuple();
412
- const parameters = decodeParams(r);
413
- return { type: "announce", track_namespace, parameters };
414
- }
415
- function decodeAnnounceOkPayload(r) {
416
- const track_namespace = r.readTuple();
417
- return { type: "announce_ok", track_namespace };
418
- }
419
- function decodeAnnounceErrorPayload(r) {
420
- const track_namespace = r.readTuple();
421
- const error_code = r.readVarInt();
422
- const reason_phrase = r.readString();
423
- return { type: "announce_error", track_namespace, error_code, reason_phrase };
424
- }
425
- function decodeUnannouncePayload(r) {
426
- const track_namespace = r.readTuple();
427
- return { type: "unannounce", track_namespace };
428
- }
429
- function decodeAnnounceCancelPayload(r) {
430
- const track_namespace = r.readTuple();
431
- const error_code = r.readVarInt();
432
- const reason_phrase = r.readString();
433
- return { type: "announce_cancel", track_namespace, error_code, reason_phrase };
434
- }
435
- function decodeSubscribeAnnouncesPayload(r) {
436
- const track_namespace_prefix = r.readTuple();
437
- const parameters = decodeParams(r);
438
- return { type: "subscribe_announces", track_namespace_prefix, parameters };
439
- }
440
- function decodeSubscribeAnnouncesOkPayload(r) {
441
- const track_namespace_prefix = r.readTuple();
442
- return { type: "subscribe_announces_ok", track_namespace_prefix };
443
- }
444
- function decodeSubscribeAnnouncesErrorPayload(r) {
445
- const track_namespace_prefix = r.readTuple();
446
- const error_code = r.readVarInt();
447
- const reason_phrase = r.readString();
448
- return { type: "subscribe_announces_error", track_namespace_prefix, error_code, reason_phrase };
449
- }
450
- function decodeUnsubscribeAnnouncesPayload(r) {
451
- const track_namespace_prefix = r.readTuple();
452
- return { type: "unsubscribe_announces", track_namespace_prefix };
453
- }
454
- function decodeFetchPayload(r) {
455
- const subscribe_id = r.readVarInt();
456
- const subscriber_priority = r.readUint8();
457
- const group_order = r.readUint8();
458
- const fetch_type = r.readVarInt();
459
- const ft = Number(fetch_type);
460
- if (ft < 1 || ft > 2) {
461
- throw new DecodeError("CONSTRAINT_VIOLATION", `Invalid fetch_type: ${ft}`, r.offset);
462
- }
463
- let standalone;
464
- let joining;
465
- if (ft === 1) {
466
- const track_namespace = r.readTuple();
467
- const track_name = r.readString();
468
- const start_group = r.readVarInt();
469
- const start_object = r.readVarInt();
470
- const end_group = r.readVarInt();
471
- const end_object = r.readVarInt();
472
- standalone = { track_namespace, track_name, start_group, start_object, end_group, end_object };
473
- }
474
- else {
475
- const joining_subscribe_id = r.readVarInt();
476
- const preceding_group_offset = r.readVarInt();
477
- joining = { joining_subscribe_id, preceding_group_offset };
478
- }
479
- const parameters = decodeParams(r);
480
- return {
481
- type: "fetch",
482
- subscribe_id,
483
- subscriber_priority,
484
- group_order,
485
- fetch_type,
486
- standalone,
487
- joining,
488
- parameters,
489
- };
490
- }
491
- function decodeFetchOkPayload(r) {
492
- const subscribe_id = r.readVarInt();
493
- const group_order = r.readUint8();
494
- const end_of_track = r.readUint8();
495
- const largest_group_id = r.readVarInt();
496
- const largest_object_id = r.readVarInt();
497
- const parameters = decodeParams(r);
498
- return {
499
- type: "fetch_ok",
500
- subscribe_id,
501
- group_order,
502
- end_of_track,
503
- largest_group_id,
504
- largest_object_id,
505
- parameters,
506
- };
507
- }
508
- function decodeFetchErrorPayload(r) {
509
- const subscribe_id = r.readVarInt();
510
- const error_code = r.readVarInt();
511
- const reason_phrase = r.readString();
512
- return { type: "fetch_error", subscribe_id, error_code, reason_phrase };
513
- }
514
- function decodeFetchCancelPayload(r) {
515
- const subscribe_id = r.readVarInt();
516
- return { type: "fetch_cancel", subscribe_id };
517
- }
518
- function decodeTrackStatusRequestPayload(r) {
519
- const track_namespace = r.readTuple();
520
- const track_name = r.readString();
521
- return { type: "track_status_request", track_namespace, track_name };
522
- }
523
- function decodeTrackStatusPayload(r) {
524
- const track_namespace = r.readTuple();
525
- const track_name = r.readString();
526
- const status_code = r.readVarInt();
527
- const last_group_id = r.readVarInt();
528
- const last_object_id = r.readVarInt();
529
- return {
530
- type: "track_status",
531
- track_namespace,
532
- track_name,
533
- status_code,
534
- last_group_id,
535
- last_object_id,
536
- };
537
- }
538
- function decodeGoAwayPayload(r) {
539
- const new_session_uri = r.readString();
540
- return { type: "goaway", new_session_uri };
541
- }
542
- function decodeMaxSubscribeIdPayload(r) {
543
- const subscribe_id = r.readVarInt();
544
- return { type: "max_subscribe_id", subscribe_id };
545
- }
546
- function decodeSubscribesBlockedPayload(r) {
547
- const maximum_subscribe_id = r.readVarInt();
548
- return { type: "subscribes_blocked", maximum_subscribe_id };
549
- }
550
- // ─── Payload dispatch tables ───────────────────────────────────────────────────
551
- const payloadDecoders = new Map([
552
- [MSG_CLIENT_SETUP, decodeClientSetupPayload],
553
- [MSG_SERVER_SETUP, decodeServerSetupPayload],
554
- [MSG_SUBSCRIBE, decodeSubscribePayload],
555
- [MSG_SUBSCRIBE_OK, decodeSubscribeOkPayload],
556
- [MSG_SUBSCRIBE_ERROR, decodeSubscribeErrorPayload],
557
- [MSG_SUBSCRIBE_UPDATE, decodeSubscribeUpdatePayload],
558
- [MSG_SUBSCRIBE_DONE, decodeSubscribeDonePayload],
559
- [MSG_UNSUBSCRIBE, decodeUnsubscribePayload],
560
- [MSG_ANNOUNCE, decodeAnnouncePayload],
561
- [MSG_ANNOUNCE_OK, decodeAnnounceOkPayload],
562
- [MSG_ANNOUNCE_ERROR, decodeAnnounceErrorPayload],
563
- [MSG_UNANNOUNCE, decodeUnannouncePayload],
564
- [MSG_ANNOUNCE_CANCEL, decodeAnnounceCancelPayload],
565
- [MSG_SUBSCRIBE_ANNOUNCES, decodeSubscribeAnnouncesPayload],
566
- [MSG_SUBSCRIBE_ANNOUNCES_OK, decodeSubscribeAnnouncesOkPayload],
567
- [MSG_SUBSCRIBE_ANNOUNCES_ERROR, decodeSubscribeAnnouncesErrorPayload],
568
- [MSG_UNSUBSCRIBE_ANNOUNCES, decodeUnsubscribeAnnouncesPayload],
569
- [MSG_FETCH, decodeFetchPayload],
570
- [MSG_FETCH_OK, decodeFetchOkPayload],
571
- [MSG_FETCH_ERROR, decodeFetchErrorPayload],
572
- [MSG_FETCH_CANCEL, decodeFetchCancelPayload],
573
- [MSG_TRACK_STATUS_REQUEST, decodeTrackStatusRequestPayload],
574
- [MSG_TRACK_STATUS, decodeTrackStatusPayload],
575
- [MSG_GOAWAY, decodeGoAwayPayload],
576
- [MSG_MAX_SUBSCRIBE_ID, decodeMaxSubscribeIdPayload],
577
- [MSG_SUBSCRIBES_BLOCKED, decodeSubscribesBlockedPayload],
578
- ]);
579
- // ─── Public API ────────────────────────────────────────────────────────────────
580
- /**
581
- * Encode a draft-08 control message.
582
- * All messages use varint type + varint length + payload framing.
583
- */
584
- export function encodeMessage(message) {
585
- const typeId = MESSAGE_ID_MAP.get(message.type);
586
- if (typeId === undefined)
587
- throw new Error(`Unknown message type: ${message.type}`);
588
- const payloadWriter = new BufferWriter();
589
- encodePayload(message, payloadWriter);
590
- const payload = payloadWriter.finish();
591
- const writer = new BufferWriter();
592
- writer.writeVarInt(typeId);
593
- writer.writeVarInt(payload.byteLength);
594
- writer.writeBytes(payload);
595
- return writer.finish();
596
- }
597
- function encodePayload(msg, w) {
598
- switch (msg.type) {
599
- case "client_setup":
600
- return encodeClientSetupPayload(msg, w);
601
- case "server_setup":
602
- return encodeServerSetupPayload(msg, w);
603
- case "subscribe":
604
- return encodeSubscribePayload(msg, w);
605
- case "subscribe_ok":
606
- return encodeSubscribeOkPayload(msg, w);
607
- case "subscribe_error":
608
- return encodeSubscribeErrorPayload(msg, w);
609
- case "subscribe_update":
610
- return encodeSubscribeUpdatePayload(msg, w);
611
- case "subscribe_done":
612
- return encodeSubscribeDonePayload(msg, w);
613
- case "unsubscribe":
614
- return encodeUnsubscribePayload(msg, w);
615
- case "announce":
616
- return encodeAnnouncePayload(msg, w);
617
- case "announce_ok":
618
- return encodeAnnounceOkPayload(msg, w);
619
- case "announce_error":
620
- return encodeAnnounceErrorPayload(msg, w);
621
- case "unannounce":
622
- return encodeUnannouncePayload(msg, w);
623
- case "announce_cancel":
624
- return encodeAnnounceCancelPayload(msg, w);
625
- case "subscribe_announces":
626
- return encodeSubscribeAnnouncesPayload(msg, w);
627
- case "subscribe_announces_ok":
628
- return encodeSubscribeAnnouncesOkPayload(msg, w);
629
- case "subscribe_announces_error":
630
- return encodeSubscribeAnnouncesErrorPayload(msg, w);
631
- case "unsubscribe_announces":
632
- return encodeUnsubscribeAnnouncesPayload(msg, w);
633
- case "fetch":
634
- return encodeFetchPayload(msg, w);
635
- case "fetch_ok":
636
- return encodeFetchOkPayload(msg, w);
637
- case "fetch_error":
638
- return encodeFetchErrorPayload(msg, w);
639
- case "fetch_cancel":
640
- return encodeFetchCancelPayload(msg, w);
641
- case "track_status_request":
642
- return encodeTrackStatusRequestPayload(msg, w);
643
- case "track_status":
644
- return encodeTrackStatusPayload(msg, w);
645
- case "goaway":
646
- return encodeGoAwayPayload(msg, w);
647
- case "max_subscribe_id":
648
- return encodeMaxSubscribeIdPayload(msg, w);
649
- case "subscribes_blocked":
650
- return encodeSubscribesBlockedPayload(msg, w);
651
- default: {
652
- const _exhaustive = msg;
653
- throw new Error(`Unhandled message type: ${_exhaustive.type}`);
654
- }
655
- }
656
- }
657
- /**
658
- * Decode a draft-08 control message from bytes.
659
- * All messages use varint type + varint length + payload framing.
660
- */
661
- export function decodeMessage(bytes) {
662
- try {
663
- const reader = new BufferReader(bytes);
664
- const typeId = reader.readVarInt();
665
- const payloadLength = Number(reader.readVarInt());
666
- const payloadBytes = reader.readBytes(payloadLength);
667
- const payloadReader = new BufferReader(payloadBytes);
668
- const decoder = payloadDecoders.get(typeId);
669
- if (!decoder) {
670
- return {
671
- ok: false,
672
- error: new DecodeError("UNKNOWN_MESSAGE_TYPE", `Unknown message type ID: 0x${typeId.toString(16)}`, 0),
673
- };
674
- }
675
- const message = decoder(payloadReader);
676
- return { ok: true, value: message, bytesRead: reader.offset };
677
- }
678
- catch (e) {
679
- if (e instanceof DecodeError)
680
- return { ok: false, error: e };
681
- throw e;
682
- }
683
- }
684
- export { decodeDataStream, decodeDatagram, decodeDatagramStatus, decodeFetchStream, decodeSubgroupStream, encodeDatagram, encodeDatagramStatus, encodeFetchStream, encodeSubgroupStream, } from "./data-streams.js";
685
- import { decodeDataStream, decodeDatagram, decodeDatagramStatus, decodeFetchStream, decodeSubgroupStream, encodeDatagram, encodeDatagramStatus, encodeFetchStream, encodeSubgroupStream, } from "./data-streams.js";
686
- export function createStreamDecoder() {
687
- let buffer = new Uint8Array(0);
688
- return new TransformStream({
689
- transform(chunk, controller) {
690
- const newBuffer = new Uint8Array(buffer.length + chunk.length);
691
- newBuffer.set(buffer, 0);
692
- newBuffer.set(chunk, buffer.length);
693
- buffer = newBuffer;
694
- while (buffer.length > 0) {
695
- const result = decodeMessage(buffer);
696
- if (!result.ok) {
697
- if (result.error.code === "UNEXPECTED_END")
698
- break;
699
- controller.error(result.error);
700
- return;
701
- }
702
- controller.enqueue(result.value);
703
- buffer = buffer.slice(result.bytesRead);
704
- }
705
- },
706
- flush(controller) {
707
- if (buffer.length > 0)
708
- controller.error(new DecodeError("UNEXPECTED_END", "Stream ended with incomplete data", 0));
709
- },
710
- });
711
- }
712
- export function createDraft08Codec() {
713
- return {
714
- draft: "draft-ietf-moq-transport-08",
715
- encodeMessage,
716
- decodeMessage,
717
- encodeSubgroupStream,
718
- encodeDatagram,
719
- encodeDatagramStatus,
720
- encodeFetchStream,
721
- decodeSubgroupStream,
722
- decodeDatagram,
723
- decodeDatagramStatus,
724
- decodeFetchStream,
725
- decodeDataStream,
726
- createStreamDecoder,
727
- };
728
- }
729
- //# sourceMappingURL=codec.js.map