@moqtap/codec 0.1.0 → 0.2.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 (277) hide show
  1. package/README.md +99 -95
  2. package/dist/chunk-4RIXXEII.js +1275 -0
  3. package/dist/chunk-4XYGE53S.cjs +698 -0
  4. package/dist/chunk-4YJANAXU.cjs +1109 -0
  5. package/dist/chunk-6AEHWULA.cjs +641 -0
  6. package/dist/chunk-7DUBLRXC.js +680 -0
  7. package/dist/{chunk-WNTXF3DE.cjs → chunk-7IVGHMKJ.cjs} +164 -62
  8. package/dist/{chunk-YBSEOSSP.js → chunk-A27S7HW7.js} +5 -1
  9. package/dist/chunk-BISI45MN.cjs +680 -0
  10. package/dist/{chunk-3BSZ55L3.cjs → chunk-BPNL5YFQ.cjs} +158 -24
  11. package/dist/chunk-CXDHOMHG.js +1097 -0
  12. package/dist/chunk-DUBCL3WF.cjs +749 -0
  13. package/dist/chunk-DWK5ZQZ4.js +642 -0
  14. package/dist/chunk-E6E3NQYU.js +680 -0
  15. package/dist/chunk-EFM5T7OM.js +698 -0
  16. package/dist/chunk-ENURAVHI.cjs +680 -0
  17. package/dist/{chunk-5WFXFLL4.cjs → chunk-FUFTMAQD.cjs} +96 -63
  18. package/dist/{chunk-2NARXGVA.cjs → chunk-FWISIR26.cjs} +5 -1
  19. package/dist/{chunk-YPXLV5YK.js → chunk-FXZ2MYKJ.js} +376 -38
  20. package/dist/chunk-G26SJ6XS.cjs +1341 -0
  21. package/dist/chunk-G7GI7LJA.js +737 -0
  22. package/dist/chunk-GXEW4COZ.cjs +737 -0
  23. package/dist/chunk-HSVYF6XX.cjs +1361 -0
  24. package/dist/chunk-IBVM4DMJ.cjs +1097 -0
  25. package/dist/chunk-IV2H5CFI.cjs +1275 -0
  26. package/dist/chunk-IV2HRJVT.js +1198 -0
  27. package/dist/chunk-JSQM2MG3.js +680 -0
  28. package/dist/chunk-K4OLITS2.cjs +1055 -0
  29. package/dist/{chunk-UOBWHJA5.js → chunk-KFTCU2P6.js} +2 -3
  30. package/dist/chunk-LH4NTURO.js +1361 -0
  31. package/dist/{chunk-DC4L6ZIT.js → chunk-MFAP7R6L.js} +154 -20
  32. package/dist/chunk-NGVE2RZT.js +1097 -0
  33. package/dist/chunk-NUX5BHWO.js +1341 -0
  34. package/dist/chunk-PJRA2TQ5.js +1055 -0
  35. package/dist/chunk-RVJAGE4S.cjs +1198 -0
  36. package/dist/{chunk-QYG6KGOV.cjs → chunk-RWQ43Z4F.cjs} +2 -3
  37. package/dist/chunk-RZHAPEXO.js +749 -0
  38. package/dist/chunk-ST24APEO.js +1109 -0
  39. package/dist/chunk-SYHW3FLI.cjs +642 -0
  40. package/dist/chunk-TLYNOOQP.cjs +432 -0
  41. package/dist/{chunk-23YG7F46.js → chunk-TMNGRIPL.js} +153 -51
  42. package/dist/{chunk-IQPDRQVC.js → chunk-U2B3B42P.js} +62 -29
  43. package/dist/chunk-UNS34PTA.cjs +680 -0
  44. package/dist/chunk-UR6JKS56.js +432 -0
  45. package/dist/{chunk-GDRGWFEK.cjs → chunk-UYXTY6ZQ.cjs} +376 -38
  46. package/dist/chunk-XUUCOLWU.cjs +1097 -0
  47. package/dist/chunk-YG5KJESI.js +641 -0
  48. package/dist/chunk-ZBKE2QRQ.js +1401 -0
  49. package/dist/chunk-ZSPO2GF2.cjs +1401 -0
  50. package/dist/codec-95k8CAu5.d.cts +35 -0
  51. package/dist/codec-AFuOxfsO.d.ts +60 -0
  52. package/dist/codec-B-UJ5Iow.d.cts +75 -0
  53. package/dist/codec-BC5jfvMb.d.ts +35 -0
  54. package/dist/codec-BECYPfY8.d.ts +35 -0
  55. package/dist/codec-BsPU1vNC.d.ts +39 -0
  56. package/dist/codec-BvpuF-6u.d.cts +39 -0
  57. package/dist/codec-C8jZI5Cx.d.cts +39 -0
  58. package/dist/codec-CAevkgf5.d.cts +33 -0
  59. package/dist/codec-CSUqCrRs.d.ts +39 -0
  60. package/dist/codec-C_HMXNK_.d.ts +33 -0
  61. package/dist/{codec-CTvFtQQI.d.cts → codec-CpuvYTSV.d.cts} +5 -5
  62. package/dist/codec-D0x8-SCw.d.cts +35 -0
  63. package/dist/codec-D7ARhpG1.d.ts +75 -0
  64. package/dist/codec-DNAUGshO.d.cts +60 -0
  65. package/dist/codec-DPx_QNn0.d.ts +31 -0
  66. package/dist/{codec-qPzfmLNu.d.ts → codec-DRhCx_hw.d.ts} +5 -5
  67. package/dist/codec-Db7YPe3l.d.ts +31 -0
  68. package/dist/codec-axkJpb7D.d.cts +31 -0
  69. package/dist/codec-ujAbFaep.d.cts +31 -0
  70. package/dist/draft10-session.cjs +6 -0
  71. package/dist/draft10-session.d.cts +8 -0
  72. package/dist/draft10-session.d.ts +8 -0
  73. package/dist/draft10-session.js +6 -0
  74. package/dist/draft10.cjs +115 -0
  75. package/dist/draft10.d.cts +95 -0
  76. package/dist/draft10.d.ts +95 -0
  77. package/dist/draft10.js +115 -0
  78. package/dist/draft11-session.cjs +6 -0
  79. package/dist/draft11-session.d.cts +8 -0
  80. package/dist/draft11-session.d.ts +8 -0
  81. package/dist/draft11-session.js +6 -0
  82. package/dist/draft11.cjs +109 -0
  83. package/dist/draft11.d.cts +99 -0
  84. package/dist/draft11.d.ts +99 -0
  85. package/dist/draft11.js +109 -0
  86. package/dist/draft12-session.cjs +6 -0
  87. package/dist/draft12-session.d.cts +8 -0
  88. package/dist/draft12-session.d.ts +8 -0
  89. package/dist/draft12-session.js +6 -0
  90. package/dist/draft12.cjs +117 -0
  91. package/dist/draft12.d.cts +106 -0
  92. package/dist/draft12.d.ts +106 -0
  93. package/dist/draft12.js +117 -0
  94. package/dist/draft13-session.cjs +6 -0
  95. package/dist/draft13-session.d.cts +8 -0
  96. package/dist/draft13-session.d.ts +8 -0
  97. package/dist/draft13-session.js +6 -0
  98. package/dist/draft13.cjs +119 -0
  99. package/dist/draft13.d.cts +108 -0
  100. package/dist/draft13.d.ts +108 -0
  101. package/dist/draft13.js +119 -0
  102. package/dist/draft14-session.cjs +2 -2
  103. package/dist/draft14-session.d.cts +4 -4
  104. package/dist/draft14-session.d.ts +4 -4
  105. package/dist/draft14-session.js +1 -1
  106. package/dist/draft14.cjs +4 -4
  107. package/dist/draft14.d.cts +27 -15
  108. package/dist/draft14.d.ts +27 -15
  109. package/dist/draft14.js +3 -3
  110. package/dist/draft15-session.cjs +6 -0
  111. package/dist/draft15-session.d.cts +8 -0
  112. package/dist/draft15-session.d.ts +8 -0
  113. package/dist/draft15-session.js +6 -0
  114. package/dist/draft15.cjs +111 -0
  115. package/dist/draft15.d.cts +93 -0
  116. package/dist/draft15.d.ts +93 -0
  117. package/dist/draft15.js +111 -0
  118. package/dist/draft16-session.cjs +6 -0
  119. package/dist/draft16-session.d.cts +8 -0
  120. package/dist/draft16-session.d.ts +8 -0
  121. package/dist/draft16-session.js +6 -0
  122. package/dist/draft16.cjs +113 -0
  123. package/dist/draft16.d.cts +94 -0
  124. package/dist/draft16.d.ts +94 -0
  125. package/dist/draft16.js +113 -0
  126. package/dist/draft17-session.cjs +8 -0
  127. package/dist/draft17-session.d.cts +51 -0
  128. package/dist/draft17-session.d.ts +51 -0
  129. package/dist/draft17-session.js +8 -0
  130. package/dist/draft17.cjs +99 -0
  131. package/dist/draft17.d.cts +40 -0
  132. package/dist/draft17.d.ts +40 -0
  133. package/dist/draft17.js +99 -0
  134. package/dist/draft7-session.cjs +3 -3
  135. package/dist/draft7-session.d.cts +3 -3
  136. package/dist/draft7-session.d.ts +3 -3
  137. package/dist/draft7-session.js +2 -2
  138. package/dist/draft7.cjs +6 -6
  139. package/dist/draft7.d.cts +10 -10
  140. package/dist/draft7.d.ts +10 -10
  141. package/dist/draft7.js +3 -3
  142. package/dist/draft8-session.cjs +6 -0
  143. package/dist/draft8-session.d.cts +8 -0
  144. package/dist/draft8-session.d.ts +8 -0
  145. package/dist/draft8-session.js +6 -0
  146. package/dist/draft8.cjs +115 -0
  147. package/dist/draft8.d.cts +95 -0
  148. package/dist/draft8.d.ts +95 -0
  149. package/dist/draft8.js +115 -0
  150. package/dist/draft9-session.cjs +6 -0
  151. package/dist/draft9-session.d.cts +8 -0
  152. package/dist/draft9-session.d.ts +8 -0
  153. package/dist/draft9-session.js +6 -0
  154. package/dist/draft9.cjs +115 -0
  155. package/dist/draft9.d.cts +95 -0
  156. package/dist/draft9.d.ts +95 -0
  157. package/dist/draft9.js +115 -0
  158. package/dist/index.cjs +79 -7
  159. package/dist/index.d.cts +71 -8
  160. package/dist/index.d.ts +71 -8
  161. package/dist/index.js +77 -5
  162. package/dist/{session-types-B9NIf7_F.d.ts → session-types-CJIFbTPd.d.ts} +20 -20
  163. package/dist/{session-types-CCo-oA-d.d.cts → session-types-Cbq8IGCP.d.cts} +20 -20
  164. package/dist/session.cjs +5 -5
  165. package/dist/session.d.cts +3 -3
  166. package/dist/session.d.ts +3 -3
  167. package/dist/session.js +5 -5
  168. package/dist/types-4VxSL2Ho.d.cts +261 -0
  169. package/dist/types-4VxSL2Ho.d.ts +261 -0
  170. package/dist/types-B2afJZM-.d.cts +236 -0
  171. package/dist/types-B2afJZM-.d.ts +236 -0
  172. package/dist/{types-CIk5W10V.d.ts → types-BTFeKYCb.d.cts} +37 -37
  173. package/dist/{types-CIk5W10V.d.cts → types-BTFeKYCb.d.ts} +37 -37
  174. package/dist/types-Bg6QYNVt.d.cts +290 -0
  175. package/dist/types-Bg6QYNVt.d.ts +290 -0
  176. package/dist/types-C_1HrqBl.d.cts +306 -0
  177. package/dist/types-C_1HrqBl.d.ts +306 -0
  178. package/dist/types-Cw4WE9dh.d.cts +261 -0
  179. package/dist/types-Cw4WE9dh.d.ts +261 -0
  180. package/dist/types-D5gNQiDj.d.cts +261 -0
  181. package/dist/types-D5gNQiDj.d.ts +261 -0
  182. package/dist/types-DqCDFqgB.d.cts +230 -0
  183. package/dist/types-DqCDFqgB.d.ts +230 -0
  184. package/dist/types-ERexTpT8.d.cts +217 -0
  185. package/dist/types-ERexTpT8.d.ts +217 -0
  186. package/dist/{types-ClXELFGN.d.cts → types-QNXoxC9Y.d.cts} +36 -41
  187. package/dist/{types-ClXELFGN.d.ts → types-QNXoxC9Y.d.ts} +36 -41
  188. package/dist/types-r-CasCf1.d.cts +262 -0
  189. package/dist/types-r-CasCf1.d.ts +262 -0
  190. package/package.json +116 -8
  191. package/src/core/buffer-reader.ts +16 -9
  192. package/src/core/buffer-writer.ts +2 -2
  193. package/src/core/errors.ts +1 -1
  194. package/src/core/session-types.ts +28 -41
  195. package/src/core/types.ts +92 -75
  196. package/src/drafts/draft07/announce-fsm.ts +1 -1
  197. package/src/drafts/draft07/codec.ts +235 -118
  198. package/src/drafts/draft07/index.ts +43 -44
  199. package/src/drafts/draft07/messages.ts +1 -1
  200. package/src/drafts/draft07/parameters.ts +2 -2
  201. package/src/drafts/draft07/rules.ts +67 -38
  202. package/src/drafts/draft07/session-fsm.ts +330 -117
  203. package/src/drafts/draft07/session.ts +10 -10
  204. package/src/drafts/draft07/subscription-fsm.ts +1 -1
  205. package/src/drafts/draft07/varint.ts +4 -4
  206. package/src/drafts/draft08/codec.ts +1254 -0
  207. package/src/drafts/draft08/index.ts +125 -0
  208. package/src/drafts/draft08/messages.ts +72 -0
  209. package/src/drafts/draft08/rules.ts +91 -0
  210. package/src/drafts/draft08/session-fsm.ts +718 -0
  211. package/src/drafts/draft08/session.ts +26 -0
  212. package/src/drafts/draft08/types.ts +377 -0
  213. package/src/drafts/draft09/codec.ts +1235 -0
  214. package/src/drafts/draft09/index.ts +125 -0
  215. package/src/drafts/draft09/messages.ts +72 -0
  216. package/src/drafts/draft09/rules.ts +91 -0
  217. package/src/drafts/draft09/session-fsm.ts +718 -0
  218. package/src/drafts/draft09/session.ts +26 -0
  219. package/src/drafts/draft09/types.ts +376 -0
  220. package/src/drafts/draft10/codec.ts +1235 -0
  221. package/src/drafts/draft10/index.ts +125 -0
  222. package/src/drafts/draft10/messages.ts +72 -0
  223. package/src/drafts/draft10/rules.ts +91 -0
  224. package/src/drafts/draft10/session-fsm.ts +718 -0
  225. package/src/drafts/draft10/session.ts +26 -0
  226. package/src/drafts/draft10/types.ts +376 -0
  227. package/src/drafts/draft11/codec.ts +1198 -0
  228. package/src/drafts/draft11/index.ts +123 -0
  229. package/src/drafts/draft11/messages.ts +71 -0
  230. package/src/drafts/draft11/rules.ts +100 -0
  231. package/src/drafts/draft11/session-fsm.ts +758 -0
  232. package/src/drafts/draft11/session.ts +26 -0
  233. package/src/drafts/draft11/types.ts +375 -0
  234. package/src/drafts/draft12/codec.ts +1354 -0
  235. package/src/drafts/draft12/index.ts +130 -0
  236. package/src/drafts/draft12/messages.ts +84 -0
  237. package/src/drafts/draft12/rules.ts +106 -0
  238. package/src/drafts/draft12/session-fsm.ts +805 -0
  239. package/src/drafts/draft12/session.ts +26 -0
  240. package/src/drafts/draft12/types.ts +414 -0
  241. package/src/drafts/draft13/codec.ts +1438 -0
  242. package/src/drafts/draft13/index.ts +132 -0
  243. package/src/drafts/draft13/messages.ts +86 -0
  244. package/src/drafts/draft13/rules.ts +108 -0
  245. package/src/drafts/draft13/session-fsm.ts +819 -0
  246. package/src/drafts/draft13/session.ts +26 -0
  247. package/src/drafts/draft13/types.ts +433 -0
  248. package/src/drafts/draft14/codec.ts +339 -189
  249. package/src/drafts/draft14/index.ts +103 -108
  250. package/src/drafts/draft14/messages.ts +61 -61
  251. package/src/drafts/draft14/rules.ts +77 -34
  252. package/src/drafts/draft14/session-fsm.ts +640 -147
  253. package/src/drafts/draft14/session.ts +13 -13
  254. package/src/drafts/draft14/types.ts +68 -68
  255. package/src/drafts/draft15/codec.ts +1661 -0
  256. package/src/drafts/draft15/index.ts +121 -0
  257. package/src/drafts/draft15/messages.ts +64 -0
  258. package/src/drafts/draft15/rules.ts +95 -0
  259. package/src/drafts/draft15/session-fsm.ts +687 -0
  260. package/src/drafts/draft15/session.ts +26 -0
  261. package/src/drafts/draft15/types.ts +336 -0
  262. package/src/drafts/draft16/codec.ts +1623 -0
  263. package/src/drafts/draft16/index.ts +123 -0
  264. package/src/drafts/draft16/messages.ts +67 -0
  265. package/src/drafts/draft16/rules.ts +96 -0
  266. package/src/drafts/draft16/session-fsm.ts +682 -0
  267. package/src/drafts/draft16/session.ts +26 -0
  268. package/src/drafts/draft16/types.ts +354 -0
  269. package/src/drafts/draft17/codec.ts +1621 -0
  270. package/src/drafts/draft17/index.ts +105 -0
  271. package/src/drafts/draft17/messages.ts +53 -0
  272. package/src/drafts/draft17/rules.ts +85 -0
  273. package/src/drafts/draft17/session-fsm.ts +437 -0
  274. package/src/drafts/draft17/session.ts +15 -0
  275. package/src/drafts/draft17/types.ts +310 -0
  276. package/src/index.ts +283 -33
  277. package/src/session.ts +20 -20
@@ -2,7 +2,7 @@ import {
2
2
  BufferReader,
3
3
  BufferWriter,
4
4
  DecodeError
5
- } from "./chunk-YBSEOSSP.js";
5
+ } from "./chunk-A27S7HW7.js";
6
6
 
7
7
  // src/drafts/draft07/messages.ts
8
8
  var MESSAGE_TYPE_IDS = {
@@ -97,7 +97,11 @@ function readGroupOrder(reader) {
97
97
  const wire = reader.readUint8();
98
98
  const value = WIRE_TO_GROUP_ORDER.get(wire);
99
99
  if (value === void 0) {
100
- throw new DecodeError("CONSTRAINT_VIOLATION", `Invalid group order value: ${wire}`, reader.offset - 1);
100
+ throw new DecodeError(
101
+ "CONSTRAINT_VIOLATION",
102
+ `Invalid group order value: ${wire}`,
103
+ reader.offset - 1
104
+ );
101
105
  }
102
106
  return value;
103
107
  }
@@ -255,50 +259,44 @@ function encodeFetchError(msg, writer) {
255
259
  function encodeFetchCancel(msg, writer) {
256
260
  writer.writeVarInt(msg.subscribeId);
257
261
  }
262
+ function encodeObjectPayload(msg, writer) {
263
+ if (msg.payload.byteLength === 0) {
264
+ writer.writeVarInt(0);
265
+ writer.writeVarInt(msg.objectStatus ?? 0);
266
+ } else {
267
+ writer.writeVarInt(msg.payload.byteLength);
268
+ writer.writeBytes(msg.payload);
269
+ }
270
+ }
258
271
  function encodeObjectStream(msg, writer) {
259
272
  writer.writeVarInt(MESSAGE_TYPE_IDS.object_stream);
260
- writer.writeVarInt(msg.subscribeId);
261
273
  writer.writeVarInt(msg.trackAlias);
262
274
  writer.writeVarInt(msg.groupId);
263
275
  writer.writeVarInt(msg.objectId);
264
276
  writer.writeUint8(msg.publisherPriority);
265
- if (msg.objectStatus !== void 0) {
266
- writer.writeVarInt(msg.objectStatus);
267
- } else {
268
- writer.writeVarInt(0);
269
- }
270
- writer.writeBytes(msg.payload);
277
+ encodeObjectPayload(msg, writer);
271
278
  }
272
279
  function encodeObjectDatagram(msg, writer) {
273
280
  writer.writeVarInt(MESSAGE_TYPE_IDS.object_datagram);
274
- writer.writeVarInt(msg.subscribeId);
275
281
  writer.writeVarInt(msg.trackAlias);
276
282
  writer.writeVarInt(msg.groupId);
277
283
  writer.writeVarInt(msg.objectId);
278
284
  writer.writeUint8(msg.publisherPriority);
279
- if (msg.objectStatus !== void 0) {
280
- writer.writeVarInt(msg.objectStatus);
281
- } else {
282
- writer.writeVarInt(0);
283
- }
284
- writer.writeBytes(msg.payload);
285
+ encodeObjectPayload(msg, writer);
285
286
  }
286
287
  function encodeStreamHeaderTrack(msg, writer) {
287
288
  writer.writeVarInt(MESSAGE_TYPE_IDS.stream_header_track);
288
- writer.writeVarInt(msg.subscribeId);
289
289
  writer.writeVarInt(msg.trackAlias);
290
290
  writer.writeUint8(msg.publisherPriority);
291
291
  }
292
292
  function encodeStreamHeaderGroup(msg, writer) {
293
293
  writer.writeVarInt(MESSAGE_TYPE_IDS.stream_header_group);
294
- writer.writeVarInt(msg.subscribeId);
295
294
  writer.writeVarInt(msg.trackAlias);
296
295
  writer.writeVarInt(msg.groupId);
297
296
  writer.writeUint8(msg.publisherPriority);
298
297
  }
299
298
  function encodeStreamHeaderSubgroup(msg, writer) {
300
299
  writer.writeVarInt(MESSAGE_TYPE_IDS.stream_header_subgroup);
301
- writer.writeVarInt(msg.subscribeId);
302
300
  writer.writeVarInt(msg.trackAlias);
303
301
  writer.writeVarInt(msg.groupId);
304
302
  writer.writeVarInt(msg.subgroupId);
@@ -341,7 +339,11 @@ var dataStreamEncoders = {
341
339
  function decodeClientSetup(reader) {
342
340
  const numVersions = reader.readVarInt();
343
341
  if (numVersions === 0n) {
344
- throw new DecodeError("CONSTRAINT_VIOLATION", "supported_versions must not be empty", reader.offset);
342
+ throw new DecodeError(
343
+ "CONSTRAINT_VIOLATION",
344
+ "supported_versions must not be empty",
345
+ reader.offset
346
+ );
345
347
  }
346
348
  const supportedVersions = [];
347
349
  for (let i = 0n; i < numVersions; i++) {
@@ -365,7 +367,11 @@ function decodeSubscribe(reader) {
365
367
  const filterTypeWire = reader.readVarInt();
366
368
  const filterType = WIRE_TO_FILTER_TYPE.get(filterTypeWire);
367
369
  if (filterType === void 0) {
368
- throw new DecodeError("CONSTRAINT_VIOLATION", `Invalid filter type: ${filterTypeWire}`, reader.offset);
370
+ throw new DecodeError(
371
+ "CONSTRAINT_VIOLATION",
372
+ `Invalid filter type: ${filterTypeWire}`,
373
+ reader.offset
374
+ );
369
375
  }
370
376
  const base = {
371
377
  type: "subscribe",
@@ -405,10 +411,26 @@ function decodeSubscribeOk(reader) {
405
411
  const largestGroupId = reader.readVarInt();
406
412
  const largestObjectId = reader.readVarInt();
407
413
  const parameters2 = reader.readParameters();
408
- return { type: "subscribe_ok", subscribeId, expires, groupOrder, contentExists, largestGroupId, largestObjectId, parameters: parameters2 };
414
+ return {
415
+ type: "subscribe_ok",
416
+ subscribeId,
417
+ expires,
418
+ groupOrder,
419
+ contentExists,
420
+ largestGroupId,
421
+ largestObjectId,
422
+ parameters: parameters2
423
+ };
409
424
  }
410
425
  const parameters = reader.readParameters();
411
- return { type: "subscribe_ok", subscribeId, expires, groupOrder, contentExists, parameters };
426
+ return {
427
+ type: "subscribe_ok",
428
+ subscribeId,
429
+ expires,
430
+ groupOrder,
431
+ contentExists,
432
+ parameters
433
+ };
412
434
  }
413
435
  function decodeSubscribeError(reader) {
414
436
  const subscribeId = reader.readVarInt();
@@ -426,7 +448,15 @@ function decodeSubscribeDone(reader) {
426
448
  if (contentExists) {
427
449
  const finalGroupId = reader.readVarInt();
428
450
  const finalObjectId = reader.readVarInt();
429
- return { type: "subscribe_done", subscribeId, statusCode, reasonPhrase, contentExists, finalGroupId, finalObjectId };
451
+ return {
452
+ type: "subscribe_done",
453
+ subscribeId,
454
+ statusCode,
455
+ reasonPhrase,
456
+ contentExists,
457
+ finalGroupId,
458
+ finalObjectId
459
+ };
430
460
  }
431
461
  return { type: "subscribe_done", subscribeId, statusCode, reasonPhrase, contentExists };
432
462
  }
@@ -438,7 +468,16 @@ function decodeSubscribeUpdate(reader) {
438
468
  const endObject = reader.readVarInt();
439
469
  const subscriberPriority = reader.readUint8();
440
470
  const parameters = reader.readParameters();
441
- return { type: "subscribe_update", subscribeId, startGroup, startObject, endGroup, endObject, subscriberPriority, parameters };
471
+ return {
472
+ type: "subscribe_update",
473
+ subscribeId,
474
+ startGroup,
475
+ startObject,
476
+ endGroup,
477
+ endObject,
478
+ subscriberPriority,
479
+ parameters
480
+ };
442
481
  }
443
482
  function decodeUnsubscribe(reader) {
444
483
  const subscribeId = reader.readVarInt();
@@ -520,7 +559,19 @@ function decodeFetch(reader) {
520
559
  const endGroup = reader.readVarInt();
521
560
  const endObject = reader.readVarInt();
522
561
  const parameters = reader.readParameters();
523
- return { type: "fetch", subscribeId, trackNamespace, trackName, subscriberPriority, groupOrder, startGroup, startObject, endGroup, endObject, parameters };
562
+ return {
563
+ type: "fetch",
564
+ subscribeId,
565
+ trackNamespace,
566
+ trackName,
567
+ subscriberPriority,
568
+ groupOrder,
569
+ startGroup,
570
+ startObject,
571
+ endGroup,
572
+ endObject,
573
+ parameters
574
+ };
524
575
  }
525
576
  function decodeFetchOk(reader) {
526
577
  const subscribeId = reader.readVarInt();
@@ -530,7 +581,15 @@ function decodeFetchOk(reader) {
530
581
  const largestGroupId = reader.readVarInt();
531
582
  const largestObjectId = reader.readVarInt();
532
583
  const parameters = reader.readParameters();
533
- return { type: "fetch_ok", subscribeId, groupOrder, endOfTrack, largestGroupId, largestObjectId, parameters };
584
+ return {
585
+ type: "fetch_ok",
586
+ subscribeId,
587
+ groupOrder,
588
+ endOfTrack,
589
+ largestGroupId,
590
+ largestObjectId,
591
+ parameters
592
+ };
534
593
  }
535
594
  function decodeFetchError(reader) {
536
595
  const subscribeId = reader.readVarInt();
@@ -543,53 +602,84 @@ function decodeFetchCancel(reader) {
543
602
  return { type: "fetch_cancel", subscribeId };
544
603
  }
545
604
  function decodeObjectStream(reader) {
546
- const subscribeId = reader.readVarInt();
547
605
  const trackAlias = reader.readVarInt();
548
606
  const groupId = reader.readVarInt();
549
607
  const objectId = reader.readVarInt();
550
608
  const publisherPriority = reader.readUint8();
551
- const objectStatusRaw = Number(reader.readVarInt());
552
- const payload = reader.readBytes(reader.remaining);
553
- const base = { type: "object_stream", subscribeId, trackAlias, groupId, objectId, publisherPriority, payload };
554
- if (objectStatusRaw !== 0) {
555
- return { ...base, objectStatus: objectStatusRaw };
609
+ const payloadLength = Number(reader.readVarInt());
610
+ if (payloadLength === 0) {
611
+ const objectStatus = reader.remaining > 0 ? Number(reader.readVarInt()) : 0;
612
+ return {
613
+ type: "object_stream",
614
+ trackAlias,
615
+ groupId,
616
+ objectId,
617
+ publisherPriority,
618
+ objectStatus,
619
+ payload: new Uint8Array(0)
620
+ };
556
621
  }
557
- return base;
622
+ const payload = reader.readBytes(payloadLength);
623
+ return {
624
+ type: "object_stream",
625
+ trackAlias,
626
+ groupId,
627
+ objectId,
628
+ publisherPriority,
629
+ payload
630
+ };
558
631
  }
559
632
  function decodeObjectDatagram(reader) {
560
- const subscribeId = reader.readVarInt();
561
633
  const trackAlias = reader.readVarInt();
562
634
  const groupId = reader.readVarInt();
563
635
  const objectId = reader.readVarInt();
564
636
  const publisherPriority = reader.readUint8();
565
- const objectStatusRaw = Number(reader.readVarInt());
566
- const payload = reader.readBytes(reader.remaining);
567
- const base = { type: "object_datagram", subscribeId, trackAlias, groupId, objectId, publisherPriority, payload };
568
- if (objectStatusRaw !== 0) {
569
- return { ...base, objectStatus: objectStatusRaw };
637
+ const payloadLength = Number(reader.readVarInt());
638
+ if (payloadLength === 0) {
639
+ const objectStatus = reader.remaining > 0 ? Number(reader.readVarInt()) : 0;
640
+ return {
641
+ type: "object_datagram",
642
+ trackAlias,
643
+ groupId,
644
+ objectId,
645
+ publisherPriority,
646
+ objectStatus,
647
+ payload: new Uint8Array(0)
648
+ };
570
649
  }
571
- return base;
650
+ const payload = reader.readBytes(payloadLength);
651
+ return {
652
+ type: "object_datagram",
653
+ trackAlias,
654
+ groupId,
655
+ objectId,
656
+ publisherPriority,
657
+ payload
658
+ };
572
659
  }
573
660
  function decodeStreamHeaderTrack(reader) {
574
- const subscribeId = reader.readVarInt();
575
661
  const trackAlias = reader.readVarInt();
576
662
  const publisherPriority = reader.readUint8();
577
- return { type: "stream_header_track", subscribeId, trackAlias, publisherPriority };
663
+ return { type: "stream_header_track", trackAlias, publisherPriority };
578
664
  }
579
665
  function decodeStreamHeaderGroup(reader) {
580
- const subscribeId = reader.readVarInt();
581
666
  const trackAlias = reader.readVarInt();
582
667
  const groupId = reader.readVarInt();
583
668
  const publisherPriority = reader.readUint8();
584
- return { type: "stream_header_group", subscribeId, trackAlias, groupId, publisherPriority };
669
+ return { type: "stream_header_group", trackAlias, groupId, publisherPriority };
585
670
  }
586
671
  function decodeStreamHeaderSubgroup(reader) {
587
- const subscribeId = reader.readVarInt();
588
672
  const trackAlias = reader.readVarInt();
589
673
  const groupId = reader.readVarInt();
590
674
  const subgroupId = reader.readVarInt();
591
675
  const publisherPriority = reader.readUint8();
592
- return { type: "stream_header_subgroup", subscribeId, trackAlias, groupId, subgroupId, publisherPriority };
676
+ return {
677
+ type: "stream_header_subgroup",
678
+ trackAlias,
679
+ groupId,
680
+ subgroupId,
681
+ publisherPriority
682
+ };
593
683
  }
594
684
  var controlDecoders = /* @__PURE__ */ new Map([
595
685
  [MESSAGE_TYPE_IDS.client_setup, decodeClientSetup],
@@ -681,18 +771,26 @@ function decodeMessageImpl(bytes) {
681
771
  if (!decoder2) {
682
772
  return {
683
773
  ok: false,
684
- error: new DecodeError("UNKNOWN_MESSAGE_TYPE", `Unknown data stream type ID: 0x${typeId.toString(16)}`, 0)
774
+ error: new DecodeError(
775
+ "UNKNOWN_MESSAGE_TYPE",
776
+ `Unknown data stream type ID: 0x${typeId.toString(16)}`,
777
+ 0
778
+ )
685
779
  };
686
780
  }
687
781
  const message2 = decoder2(reader);
688
782
  return { ok: true, value: message2, bytesRead: reader.offset };
689
783
  }
690
784
  const payloadLength = Number(reader.readVarInt());
691
- const headerBytes = reader.offset;
785
+ const _headerBytes = reader.offset;
692
786
  if (reader.remaining < payloadLength) {
693
787
  return {
694
788
  ok: false,
695
- error: new DecodeError("UNEXPECTED_END", `Not enough bytes for payload: need ${payloadLength}, have ${reader.remaining}`, reader.offset)
789
+ error: new DecodeError(
790
+ "UNEXPECTED_END",
791
+ `Not enough bytes for payload: need ${payloadLength}, have ${reader.remaining}`,
792
+ reader.offset
793
+ )
696
794
  };
697
795
  }
698
796
  const payloadBytes = reader.readBytes(payloadLength);
@@ -701,7 +799,11 @@ function decodeMessageImpl(bytes) {
701
799
  if (!decoder) {
702
800
  return {
703
801
  ok: false,
704
- error: new DecodeError("UNKNOWN_MESSAGE_TYPE", `Unknown message type ID: 0x${typeId.toString(16)}`, 0)
802
+ error: new DecodeError(
803
+ "UNKNOWN_MESSAGE_TYPE",
804
+ `Unknown message type ID: 0x${typeId.toString(16)}`,
805
+ 0
806
+ )
705
807
  };
706
808
  }
707
809
  const payloadReader = new BufferReader(payloadBytes, 0);
@@ -2,7 +2,7 @@ import {
2
2
  BufferReader,
3
3
  BufferWriter,
4
4
  DecodeError
5
- } from "./chunk-YBSEOSSP.js";
5
+ } from "./chunk-A27S7HW7.js";
6
6
 
7
7
  // src/drafts/draft14/messages.ts
8
8
  var MSG_SUBSCRIBE_UPDATE = 0x02n;
@@ -13,12 +13,12 @@ var MSG_PUBLISH_NAMESPACE = 0x06n;
13
13
  var MSG_PUBLISH_NAMESPACE_OK = 0x07n;
14
14
  var MSG_PUBLISH_NAMESPACE_ERROR = 0x08n;
15
15
  var MSG_PUBLISH_NAMESPACE_DONE = 0x09n;
16
- var MSG_UNSUBSCRIBE = 0x0An;
17
- var MSG_PUBLISH_DONE = 0x0Bn;
18
- var MSG_PUBLISH_NAMESPACE_CANCEL = 0x0Cn;
19
- var MSG_TRACK_STATUS = 0x0Dn;
20
- var MSG_TRACK_STATUS_OK = 0x0En;
21
- var MSG_TRACK_STATUS_ERROR = 0x0Fn;
16
+ var MSG_UNSUBSCRIBE = 0x0an;
17
+ var MSG_PUBLISH_DONE = 0x0bn;
18
+ var MSG_PUBLISH_NAMESPACE_CANCEL = 0x0cn;
19
+ var MSG_TRACK_STATUS = 0x0dn;
20
+ var MSG_TRACK_STATUS_OK = 0x0en;
21
+ var MSG_TRACK_STATUS_ERROR = 0x0fn;
22
22
  var MSG_GOAWAY = 0x10n;
23
23
  var MSG_SUBSCRIBE_NAMESPACE = 0x11n;
24
24
  var MSG_SUBSCRIBE_NAMESPACE_OK = 0x12n;
@@ -29,10 +29,10 @@ var MSG_FETCH = 0x16n;
29
29
  var MSG_FETCH_CANCEL = 0x17n;
30
30
  var MSG_FETCH_OK = 0x18n;
31
31
  var MSG_FETCH_ERROR = 0x19n;
32
- var MSG_REQUESTS_BLOCKED = 0x1An;
33
- var MSG_PUBLISH = 0x1Dn;
34
- var MSG_PUBLISH_OK = 0x1En;
35
- var MSG_PUBLISH_ERROR = 0x1Fn;
32
+ var MSG_REQUESTS_BLOCKED = 0x1an;
33
+ var MSG_PUBLISH = 0x1dn;
34
+ var MSG_PUBLISH_OK = 0x1en;
35
+ var MSG_PUBLISH_ERROR = 0x1fn;
36
36
  var MSG_CLIENT_SETUP = 0x20n;
37
37
  var MSG_SERVER_SETUP = 0x21n;
38
38
  var PARAM_ROLE = 0x00n;
@@ -137,7 +137,7 @@ function decodeParams(reader) {
137
137
  tmpWriter.writeVarInt(value);
138
138
  const raw = tmpWriter.finish();
139
139
  unknown.push({
140
- id: "0x" + paramType.toString(16),
140
+ id: `0x${paramType.toString(16)}`,
141
141
  length: raw.byteLength,
142
142
  raw_hex: bytesToHex(raw)
143
143
  });
@@ -149,7 +149,7 @@ function decodeParams(reader) {
149
149
  result.path = new TextDecoder().decode(bytes);
150
150
  } else {
151
151
  unknown.push({
152
- id: "0x" + paramType.toString(16),
152
+ id: `0x${paramType.toString(16)}`,
153
153
  length,
154
154
  raw_hex: bytesToHex(bytes)
155
155
  });
@@ -337,7 +337,11 @@ function encodeRequestsBlockedPayload(msg, w) {
337
337
  function decodeClientSetupPayload(r) {
338
338
  const numVersions = Number(r.readVarInt());
339
339
  if (numVersions === 0) {
340
- throw new DecodeError("CONSTRAINT_VIOLATION", "CLIENT_SETUP must offer at least one version", r.offset);
340
+ throw new DecodeError(
341
+ "CONSTRAINT_VIOLATION",
342
+ "CLIENT_SETUP must offer at least one version",
343
+ r.offset
344
+ );
341
345
  }
342
346
  const supported_versions = [];
343
347
  for (let i = 0; i < numVersions; i++) {
@@ -527,7 +531,16 @@ function decodeFetchPayload(r) {
527
531
  const start_object = r.readVarInt();
528
532
  const end_group = r.readVarInt();
529
533
  const parameters = decodeParams(r);
530
- return { type: "fetch", request_id, track_namespace, track_name, start_group, start_object, end_group, parameters };
534
+ return {
535
+ type: "fetch",
536
+ request_id,
537
+ track_namespace,
538
+ track_name,
539
+ start_group,
540
+ start_object,
541
+ end_group,
542
+ parameters
543
+ };
531
544
  }
532
545
  function decodeFetchOkPayload(r) {
533
546
  const request_id = r.readVarInt();
@@ -721,7 +734,11 @@ function decodeMessage(bytes) {
721
734
  if (!decoder) {
722
735
  return {
723
736
  ok: false,
724
- error: new DecodeError("UNKNOWN_MESSAGE_TYPE", `Unknown message type ID: 0x${typeId.toString(16)}`, 0)
737
+ error: new DecodeError(
738
+ "UNKNOWN_MESSAGE_TYPE",
739
+ `Unknown message type ID: 0x${typeId.toString(16)}`,
740
+ 0
741
+ )
725
742
  };
726
743
  }
727
744
  const message = decoder(payloadReader);
@@ -772,7 +789,14 @@ function decodeSubgroupStream(bytes) {
772
789
  const r = new BufferReader(bytes);
773
790
  const streamType = r.readVarInt();
774
791
  if (streamType !== 0n) {
775
- return { ok: false, error: new DecodeError("CONSTRAINT_VIOLATION", `Expected subgroup stream type 0, got ${streamType}`, 0) };
792
+ return {
793
+ ok: false,
794
+ error: new DecodeError(
795
+ "CONSTRAINT_VIOLATION",
796
+ `Expected subgroup stream type 0, got ${streamType}`,
797
+ 0
798
+ )
799
+ };
776
800
  }
777
801
  const trackAlias = r.readVarInt();
778
802
  const groupId = r.readVarInt();
@@ -818,7 +842,14 @@ function decodeFetchStream(bytes) {
818
842
  const r = new BufferReader(bytes);
819
843
  const streamType = r.readVarInt();
820
844
  if (streamType !== 2n) {
821
- return { ok: false, error: new DecodeError("CONSTRAINT_VIOLATION", `Expected fetch stream type 2, got ${streamType}`, 0) };
845
+ return {
846
+ ok: false,
847
+ error: new DecodeError(
848
+ "CONSTRAINT_VIOLATION",
849
+ `Expected fetch stream type 2, got ${streamType}`,
850
+ 0
851
+ )
852
+ };
822
853
  }
823
854
  const subscribeRequestId = r.readVarInt();
824
855
  const objects = [];
@@ -897,7 +928,11 @@ function createSubgroupStreamDecoder() {
897
928
  const streamType = r.readVarInt();
898
929
  if (streamType !== 0n) {
899
930
  controller.error(
900
- new DecodeError("CONSTRAINT_VIOLATION", `Expected subgroup stream type 0, got ${streamType}`, 0)
931
+ new DecodeError(
932
+ "CONSTRAINT_VIOLATION",
933
+ `Expected subgroup stream type 0, got ${streamType}`,
934
+ 0
935
+ )
901
936
  );
902
937
  return;
903
938
  }
@@ -941,9 +976,7 @@ function createSubgroupStreamDecoder() {
941
976
  },
942
977
  flush(controller) {
943
978
  if (buffer.length > 0) {
944
- controller.error(
945
- new DecodeError("UNEXPECTED_END", "Stream ended with incomplete data", 0)
946
- );
979
+ controller.error(new DecodeError("UNEXPECTED_END", "Stream ended with incomplete data", 0));
947
980
  }
948
981
  }
949
982
  });
@@ -963,7 +996,11 @@ function createFetchStreamDecoder() {
963
996
  const streamType = r.readVarInt();
964
997
  if (streamType !== 2n) {
965
998
  controller.error(
966
- new DecodeError("CONSTRAINT_VIOLATION", `Expected fetch stream type 2, got ${streamType}`, 0)
999
+ new DecodeError(
1000
+ "CONSTRAINT_VIOLATION",
1001
+ `Expected fetch stream type 2, got ${streamType}`,
1002
+ 0
1003
+ )
967
1004
  );
968
1005
  return;
969
1006
  }
@@ -1001,9 +1038,7 @@ function createFetchStreamDecoder() {
1001
1038
  },
1002
1039
  flush(controller) {
1003
1040
  if (buffer.length > 0) {
1004
- controller.error(
1005
- new DecodeError("UNEXPECTED_END", "Stream ended with incomplete data", 0)
1006
- );
1041
+ controller.error(new DecodeError("UNEXPECTED_END", "Stream ended with incomplete data", 0));
1007
1042
  }
1008
1043
  }
1009
1044
  });
@@ -1106,9 +1141,7 @@ function createDataStreamDecoder() {
1106
1141
  },
1107
1142
  flush(controller) {
1108
1143
  if (buffer.length > 0) {
1109
- controller.error(
1110
- new DecodeError("UNEXPECTED_END", "Stream ended with incomplete data", 0)
1111
- );
1144
+ controller.error(new DecodeError("UNEXPECTED_END", "Stream ended with incomplete data", 0));
1112
1145
  }
1113
1146
  }
1114
1147
  });