@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
@@ -0,0 +1,217 @@
1
+ interface UnknownParam {
2
+ readonly id: string;
3
+ readonly length: number;
4
+ readonly raw_hex: string;
5
+ }
6
+ interface Draft17SetupOptions {
7
+ path?: string;
8
+ max_auth_token_cache_size?: bigint;
9
+ authority?: string;
10
+ moqt_implementation?: string;
11
+ unknown?: UnknownParam[];
12
+ }
13
+ interface SubscriptionFilter {
14
+ readonly filter_type: bigint;
15
+ readonly start_group?: bigint;
16
+ readonly start_object?: bigint;
17
+ readonly end_group?: bigint;
18
+ }
19
+ interface LargestObject {
20
+ readonly group: bigint;
21
+ readonly object: bigint;
22
+ }
23
+ interface Draft17Params {
24
+ expires?: bigint;
25
+ largest_object?: LargestObject;
26
+ subscriber_priority?: bigint;
27
+ subscription_filter?: SubscriptionFilter;
28
+ group_order?: bigint;
29
+ unknown?: UnknownParam[];
30
+ }
31
+ interface Draft17TrackProperties {
32
+ unknown?: UnknownParam[];
33
+ }
34
+ type Draft17MessageType = "setup" | "subscribe" | "subscribe_ok" | "request_update" | "publish" | "publish_ok" | "publish_done" | "publish_namespace" | "namespace" | "namespace_done" | "subscribe_namespace" | "publish_blocked" | "fetch" | "fetch_ok" | "track_status" | "request_ok" | "request_error" | "goaway";
35
+ interface Draft17BaseMessage {
36
+ readonly type: Draft17MessageType;
37
+ }
38
+ interface Draft17Setup extends Draft17BaseMessage {
39
+ readonly type: "setup";
40
+ readonly options: Draft17SetupOptions;
41
+ }
42
+ interface Draft17Subscribe extends Draft17BaseMessage {
43
+ readonly type: "subscribe";
44
+ readonly request_id: bigint;
45
+ readonly required_request_id_delta: bigint;
46
+ readonly track_namespace: string[];
47
+ readonly track_name: string;
48
+ readonly parameters: Draft17Params;
49
+ }
50
+ interface Draft17SubscribeOk extends Draft17BaseMessage {
51
+ readonly type: "subscribe_ok";
52
+ readonly track_alias: bigint;
53
+ readonly parameters: Draft17Params;
54
+ readonly track_properties: Draft17TrackProperties;
55
+ }
56
+ interface Draft17RequestUpdate extends Draft17BaseMessage {
57
+ readonly type: "request_update";
58
+ readonly request_id: bigint;
59
+ readonly required_request_id_delta: bigint;
60
+ readonly parameters: Draft17Params;
61
+ }
62
+ interface Draft17Publish extends Draft17BaseMessage {
63
+ readonly type: "publish";
64
+ readonly request_id: bigint;
65
+ readonly required_request_id_delta: bigint;
66
+ readonly track_namespace: string[];
67
+ readonly track_name: string;
68
+ readonly track_alias: bigint;
69
+ readonly parameters: Draft17Params;
70
+ readonly track_properties: Draft17TrackProperties;
71
+ }
72
+ interface Draft17PublishOk extends Draft17BaseMessage {
73
+ readonly type: "publish_ok";
74
+ readonly parameters: Draft17Params;
75
+ }
76
+ interface Draft17PublishDone extends Draft17BaseMessage {
77
+ readonly type: "publish_done";
78
+ readonly status_code: bigint;
79
+ readonly stream_count: bigint;
80
+ readonly reason_phrase: string;
81
+ }
82
+ interface Draft17PublishNamespace extends Draft17BaseMessage {
83
+ readonly type: "publish_namespace";
84
+ readonly request_id: bigint;
85
+ readonly required_request_id_delta: bigint;
86
+ readonly track_namespace: string[];
87
+ readonly parameters: Draft17Params;
88
+ }
89
+ interface Draft17Namespace extends Draft17BaseMessage {
90
+ readonly type: "namespace";
91
+ readonly namespace_suffix: string[];
92
+ }
93
+ interface Draft17NamespaceDone extends Draft17BaseMessage {
94
+ readonly type: "namespace_done";
95
+ readonly namespace_suffix: string[];
96
+ }
97
+ interface Draft17SubscribeNamespace extends Draft17BaseMessage {
98
+ readonly type: "subscribe_namespace";
99
+ readonly request_id: bigint;
100
+ readonly required_request_id_delta: bigint;
101
+ readonly namespace_prefix: string[];
102
+ readonly subscribe_options: bigint;
103
+ readonly parameters: Draft17Params;
104
+ }
105
+ interface Draft17PublishBlocked extends Draft17BaseMessage {
106
+ readonly type: "publish_blocked";
107
+ readonly namespace_suffix: string[];
108
+ readonly track_name: string;
109
+ }
110
+ interface StandaloneFetch {
111
+ readonly track_namespace: string[];
112
+ readonly track_name: string;
113
+ readonly start_group: bigint;
114
+ readonly start_object: bigint;
115
+ readonly end_group: bigint;
116
+ readonly end_object: bigint;
117
+ }
118
+ interface JoiningFetch {
119
+ readonly joining_request_id: bigint;
120
+ readonly joining_start: bigint;
121
+ }
122
+ interface Draft17Fetch extends Draft17BaseMessage {
123
+ readonly type: "fetch";
124
+ readonly request_id: bigint;
125
+ readonly required_request_id_delta: bigint;
126
+ readonly fetch_type: bigint;
127
+ readonly standalone?: StandaloneFetch;
128
+ readonly joining?: JoiningFetch;
129
+ readonly parameters: Draft17Params;
130
+ }
131
+ interface Draft17FetchOk extends Draft17BaseMessage {
132
+ readonly type: "fetch_ok";
133
+ readonly end_of_track: number;
134
+ readonly end_group: bigint;
135
+ readonly end_object: bigint;
136
+ readonly parameters: Draft17Params;
137
+ readonly track_properties: Draft17TrackProperties;
138
+ }
139
+ interface Draft17TrackStatus extends Draft17BaseMessage {
140
+ readonly type: "track_status";
141
+ readonly request_id: bigint;
142
+ readonly required_request_id_delta: bigint;
143
+ readonly track_namespace: string[];
144
+ readonly track_name: string;
145
+ readonly parameters: Draft17Params;
146
+ }
147
+ interface Draft17RequestOk extends Draft17BaseMessage {
148
+ readonly type: "request_ok";
149
+ readonly parameters: Draft17Params;
150
+ }
151
+ interface Draft17RequestError extends Draft17BaseMessage {
152
+ readonly type: "request_error";
153
+ readonly error_code: bigint;
154
+ readonly retry_interval: bigint;
155
+ readonly reason_phrase: string;
156
+ }
157
+ interface Draft17GoAway extends Draft17BaseMessage {
158
+ readonly type: "goaway";
159
+ readonly new_session_uri: string;
160
+ readonly timeout: bigint;
161
+ }
162
+ type Draft17Message = Draft17Setup | Draft17Subscribe | Draft17SubscribeOk | Draft17RequestUpdate | Draft17Publish | Draft17PublishOk | Draft17PublishDone | Draft17PublishNamespace | Draft17Namespace | Draft17NamespaceDone | Draft17SubscribeNamespace | Draft17PublishBlocked | Draft17Fetch | Draft17FetchOk | Draft17TrackStatus | Draft17RequestOk | Draft17RequestError | Draft17GoAway;
163
+ interface ObjectPayload {
164
+ readonly type: "object";
165
+ readonly objectId: bigint;
166
+ readonly payloadLength: number;
167
+ readonly status?: bigint;
168
+ readonly payload: Uint8Array;
169
+ }
170
+ interface SubgroupStream {
171
+ readonly type: "subgroup";
172
+ readonly headerType: number;
173
+ readonly trackAlias: bigint;
174
+ readonly groupId: bigint;
175
+ readonly subgroupId: bigint;
176
+ readonly publisherPriority: number;
177
+ readonly objects: ObjectPayload[];
178
+ }
179
+ interface DatagramObject {
180
+ readonly type: "datagram";
181
+ readonly datagramType: number;
182
+ readonly trackAlias: bigint;
183
+ readonly groupId: bigint;
184
+ readonly objectId: bigint;
185
+ readonly publisherPriority: number;
186
+ readonly endOfGroup?: boolean;
187
+ readonly objectStatus?: bigint;
188
+ readonly payloadLength: number;
189
+ readonly payload: Uint8Array;
190
+ }
191
+ interface FetchObjectPayload extends ObjectPayload {
192
+ readonly serializationFlags: number;
193
+ readonly groupId: bigint;
194
+ readonly subgroupId: bigint;
195
+ readonly publisherPriority: number;
196
+ }
197
+ interface FetchStream {
198
+ readonly type: "fetch";
199
+ readonly requestId: bigint;
200
+ readonly objects: FetchObjectPayload[];
201
+ }
202
+ type Draft17DataStream = SubgroupStream | DatagramObject | FetchStream;
203
+ interface SubgroupStreamHeader {
204
+ readonly type: "subgroup_header";
205
+ readonly trackAlias: bigint;
206
+ readonly groupId: bigint;
207
+ readonly subgroupId: bigint;
208
+ readonly publisherPriority: number;
209
+ }
210
+ interface FetchStreamHeader {
211
+ readonly type: "fetch_header";
212
+ readonly requestId: bigint;
213
+ }
214
+ type DataStreamHeader = SubgroupStreamHeader | FetchStreamHeader;
215
+ type DataStreamEvent = DataStreamHeader | ObjectPayload;
216
+
217
+ export type { Draft17TrackStatus as A, FetchStream as B, FetchStreamHeader as C, Draft17DataStream as D, SubgroupStream as E, FetchObjectPayload as F, SubgroupStreamHeader as G, SubscriptionFilter as H, JoiningFetch as J, LargestObject as L, ObjectPayload as O, StandaloneFetch as S, UnknownParam as U, Draft17Message as a, Draft17Params as b, Draft17SetupOptions as c, Draft17MessageType as d, DataStreamEvent as e, DataStreamHeader as f, DatagramObject as g, Draft17BaseMessage as h, Draft17Fetch as i, Draft17FetchOk as j, Draft17GoAway as k, Draft17Namespace as l, Draft17NamespaceDone as m, Draft17Publish as n, Draft17PublishBlocked as o, Draft17PublishDone as p, Draft17PublishNamespace as q, Draft17PublishOk as r, Draft17RequestError as s, Draft17RequestOk as t, Draft17RequestUpdate as u, Draft17Setup as v, Draft17Subscribe as w, Draft17SubscribeNamespace as x, Draft17SubscribeOk as y, Draft17TrackProperties as z };
@@ -1,21 +1,21 @@
1
- type Draft = 'draft-ietf-moq-transport-07' | 'draft-ietf-moq-transport-14';
2
- type DraftShorthand = '07' | '14';
3
- type MoqtMessageType = 'client_setup' | 'server_setup' | 'subscribe' | 'subscribe_ok' | 'subscribe_error' | 'subscribe_done' | 'subscribe_update' | 'unsubscribe' | 'announce' | 'announce_ok' | 'announce_error' | 'announce_cancel' | 'unannounce' | 'track_status_request' | 'track_status' | 'object_stream' | 'object_datagram' | 'stream_header_track' | 'stream_header_group' | 'stream_header_subgroup' | 'goaway' | 'subscribe_announces' | 'subscribe_announces_ok' | 'subscribe_announces_error' | 'unsubscribe_announces' | 'max_subscribe_id' | 'fetch' | 'fetch_ok' | 'fetch_error' | 'fetch_cancel';
1
+ type Draft = "draft-ietf-moq-transport-07" | "draft-ietf-moq-transport-08" | "draft-ietf-moq-transport-09" | "draft-ietf-moq-transport-10" | "draft-ietf-moq-transport-11" | "draft-ietf-moq-transport-12" | "draft-ietf-moq-transport-13" | "draft-ietf-moq-transport-14" | "draft-ietf-moq-transport-15" | "draft-ietf-moq-transport-16" | "draft-ietf-moq-transport-17";
2
+ type DraftShorthand = "07" | "08" | "09" | "10" | "11" | "12" | "13" | "14" | "15" | "16" | "17";
3
+ type MoqtMessageType = "client_setup" | "server_setup" | "subscribe" | "subscribe_ok" | "subscribe_error" | "subscribe_done" | "subscribe_update" | "unsubscribe" | "announce" | "announce_ok" | "announce_error" | "announce_cancel" | "unannounce" | "track_status_request" | "track_status" | "object_stream" | "object_datagram" | "stream_header_track" | "stream_header_group" | "stream_header_subgroup" | "goaway" | "subscribe_announces" | "subscribe_announces_ok" | "subscribe_announces_error" | "unsubscribe_announces" | "max_subscribe_id" | "fetch" | "fetch_ok" | "fetch_error" | "fetch_cancel";
4
4
  interface BaseMessage {
5
5
  readonly type: MoqtMessageType;
6
6
  }
7
7
  interface ClientSetup extends BaseMessage {
8
- readonly type: 'client_setup';
8
+ readonly type: "client_setup";
9
9
  readonly supportedVersions: bigint[];
10
10
  readonly parameters: Map<bigint, Uint8Array>;
11
11
  }
12
12
  interface ServerSetup extends BaseMessage {
13
- readonly type: 'server_setup';
13
+ readonly type: "server_setup";
14
14
  readonly selectedVersion: bigint;
15
15
  readonly parameters: Map<bigint, Uint8Array>;
16
16
  }
17
17
  interface Subscribe extends BaseMessage {
18
- readonly type: 'subscribe';
18
+ readonly type: "subscribe";
19
19
  readonly subscribeId: bigint;
20
20
  readonly trackAlias: bigint;
21
21
  readonly trackNamespace: string[];
@@ -29,9 +29,9 @@ interface Subscribe extends BaseMessage {
29
29
  readonly endObject?: bigint;
30
30
  readonly parameters: Map<bigint, Uint8Array>;
31
31
  }
32
- type FilterType = 'latest_group' | 'latest_object' | 'absolute_start' | 'absolute_range';
32
+ type FilterType = "latest_group" | "latest_object" | "absolute_start" | "absolute_range";
33
33
  interface SubscribeOk extends BaseMessage {
34
- readonly type: 'subscribe_ok';
34
+ readonly type: "subscribe_ok";
35
35
  readonly subscribeId: bigint;
36
36
  readonly expires: bigint;
37
37
  readonly groupOrder: GroupOrderValue;
@@ -40,16 +40,16 @@ interface SubscribeOk extends BaseMessage {
40
40
  readonly largestObjectId?: bigint;
41
41
  readonly parameters: Map<bigint, Uint8Array>;
42
42
  }
43
- type GroupOrderValue = 'ascending' | 'descending' | 'original';
43
+ type GroupOrderValue = "ascending" | "descending" | "original";
44
44
  interface SubscribeError extends BaseMessage {
45
- readonly type: 'subscribe_error';
45
+ readonly type: "subscribe_error";
46
46
  readonly subscribeId: bigint;
47
47
  readonly errorCode: bigint;
48
48
  readonly reasonPhrase: string;
49
49
  readonly trackAlias: bigint;
50
50
  }
51
51
  interface SubscribeDone extends BaseMessage {
52
- readonly type: 'subscribe_done';
52
+ readonly type: "subscribe_done";
53
53
  readonly subscribeId: bigint;
54
54
  readonly statusCode: bigint;
55
55
  readonly reasonPhrase: string;
@@ -58,7 +58,7 @@ interface SubscribeDone extends BaseMessage {
58
58
  readonly finalObjectId?: bigint;
59
59
  }
60
60
  interface SubscribeUpdate extends BaseMessage {
61
- readonly type: 'subscribe_update';
61
+ readonly type: "subscribe_update";
62
62
  readonly subscribeId: bigint;
63
63
  readonly startGroup: bigint;
64
64
  readonly startObject: bigint;
@@ -68,41 +68,41 @@ interface SubscribeUpdate extends BaseMessage {
68
68
  readonly parameters: Map<bigint, Uint8Array>;
69
69
  }
70
70
  interface Unsubscribe extends BaseMessage {
71
- readonly type: 'unsubscribe';
71
+ readonly type: "unsubscribe";
72
72
  readonly subscribeId: bigint;
73
73
  }
74
74
  interface Announce extends BaseMessage {
75
- readonly type: 'announce';
75
+ readonly type: "announce";
76
76
  readonly trackNamespace: string[];
77
77
  readonly parameters: Map<bigint, Uint8Array>;
78
78
  }
79
79
  interface AnnounceOk extends BaseMessage {
80
- readonly type: 'announce_ok';
80
+ readonly type: "announce_ok";
81
81
  readonly trackNamespace: string[];
82
82
  }
83
83
  interface AnnounceError extends BaseMessage {
84
- readonly type: 'announce_error';
84
+ readonly type: "announce_error";
85
85
  readonly trackNamespace: string[];
86
86
  readonly errorCode: bigint;
87
87
  readonly reasonPhrase: string;
88
88
  }
89
89
  interface AnnounceCancel extends BaseMessage {
90
- readonly type: 'announce_cancel';
90
+ readonly type: "announce_cancel";
91
91
  readonly trackNamespace: string[];
92
92
  readonly errorCode: bigint;
93
93
  readonly reasonPhrase: string;
94
94
  }
95
95
  interface Unannounce extends BaseMessage {
96
- readonly type: 'unannounce';
96
+ readonly type: "unannounce";
97
97
  readonly trackNamespace: string[];
98
98
  }
99
99
  interface TrackStatusRequest extends BaseMessage {
100
- readonly type: 'track_status_request';
100
+ readonly type: "track_status_request";
101
101
  readonly trackNamespace: string[];
102
102
  readonly trackName: string;
103
103
  }
104
104
  interface TrackStatus extends BaseMessage {
105
- readonly type: 'track_status';
105
+ readonly type: "track_status";
106
106
  readonly trackNamespace: string[];
107
107
  readonly trackName: string;
108
108
  readonly statusCode: bigint;
@@ -110,8 +110,7 @@ interface TrackStatus extends BaseMessage {
110
110
  readonly lastObjectId: bigint;
111
111
  }
112
112
  interface ObjectStream extends BaseMessage {
113
- readonly type: 'object_stream';
114
- readonly subscribeId: bigint;
113
+ readonly type: "object_stream";
115
114
  readonly trackAlias: bigint;
116
115
  readonly groupId: bigint;
117
116
  readonly objectId: bigint;
@@ -120,8 +119,7 @@ interface ObjectStream extends BaseMessage {
120
119
  readonly payload: Uint8Array;
121
120
  }
122
121
  interface ObjectDatagram extends BaseMessage {
123
- readonly type: 'object_datagram';
124
- readonly subscribeId: bigint;
122
+ readonly type: "object_datagram";
125
123
  readonly trackAlias: bigint;
126
124
  readonly groupId: bigint;
127
125
  readonly objectId: bigint;
@@ -130,55 +128,52 @@ interface ObjectDatagram extends BaseMessage {
130
128
  readonly payload: Uint8Array;
131
129
  }
132
130
  interface StreamHeaderTrack extends BaseMessage {
133
- readonly type: 'stream_header_track';
134
- readonly subscribeId: bigint;
131
+ readonly type: "stream_header_track";
135
132
  readonly trackAlias: bigint;
136
133
  readonly publisherPriority: number;
137
134
  }
138
135
  interface StreamHeaderGroup extends BaseMessage {
139
- readonly type: 'stream_header_group';
140
- readonly subscribeId: bigint;
136
+ readonly type: "stream_header_group";
141
137
  readonly trackAlias: bigint;
142
138
  readonly groupId: bigint;
143
139
  readonly publisherPriority: number;
144
140
  }
145
141
  interface StreamHeaderSubgroup extends BaseMessage {
146
- readonly type: 'stream_header_subgroup';
147
- readonly subscribeId: bigint;
142
+ readonly type: "stream_header_subgroup";
148
143
  readonly trackAlias: bigint;
149
144
  readonly groupId: bigint;
150
145
  readonly subgroupId: bigint;
151
146
  readonly publisherPriority: number;
152
147
  }
153
148
  interface GoAway extends BaseMessage {
154
- readonly type: 'goaway';
149
+ readonly type: "goaway";
155
150
  readonly newSessionUri: string;
156
151
  }
157
152
  interface SubscribeAnnounces extends BaseMessage {
158
- readonly type: 'subscribe_announces';
153
+ readonly type: "subscribe_announces";
159
154
  readonly trackNamespace: string[];
160
155
  readonly parameters: Map<bigint, Uint8Array>;
161
156
  }
162
157
  interface SubscribeAnnouncesOk extends BaseMessage {
163
- readonly type: 'subscribe_announces_ok';
158
+ readonly type: "subscribe_announces_ok";
164
159
  readonly trackNamespace: string[];
165
160
  }
166
161
  interface SubscribeAnnouncesError extends BaseMessage {
167
- readonly type: 'subscribe_announces_error';
162
+ readonly type: "subscribe_announces_error";
168
163
  readonly trackNamespace: string[];
169
164
  readonly errorCode: bigint;
170
165
  readonly reasonPhrase: string;
171
166
  }
172
167
  interface UnsubscribeAnnounces extends BaseMessage {
173
- readonly type: 'unsubscribe_announces';
168
+ readonly type: "unsubscribe_announces";
174
169
  readonly trackNamespace: string[];
175
170
  }
176
171
  interface MaxSubscribeId extends BaseMessage {
177
- readonly type: 'max_subscribe_id';
172
+ readonly type: "max_subscribe_id";
178
173
  readonly subscribeId: bigint;
179
174
  }
180
175
  interface Fetch extends BaseMessage {
181
- readonly type: 'fetch';
176
+ readonly type: "fetch";
182
177
  readonly subscribeId: bigint;
183
178
  readonly trackNamespace: string[];
184
179
  readonly trackName: string;
@@ -191,7 +186,7 @@ interface Fetch extends BaseMessage {
191
186
  readonly parameters: Map<bigint, Uint8Array>;
192
187
  }
193
188
  interface FetchOk extends BaseMessage {
194
- readonly type: 'fetch_ok';
189
+ readonly type: "fetch_ok";
195
190
  readonly subscribeId: bigint;
196
191
  readonly groupOrder: GroupOrderValue;
197
192
  readonly endOfTrack: boolean;
@@ -200,13 +195,13 @@ interface FetchOk extends BaseMessage {
200
195
  readonly parameters: Map<bigint, Uint8Array>;
201
196
  }
202
197
  interface FetchError extends BaseMessage {
203
- readonly type: 'fetch_error';
198
+ readonly type: "fetch_error";
204
199
  readonly subscribeId: bigint;
205
200
  readonly errorCode: bigint;
206
201
  readonly reasonPhrase: string;
207
202
  }
208
203
  interface FetchCancel extends BaseMessage {
209
- readonly type: 'fetch_cancel';
204
+ readonly type: "fetch_cancel";
210
205
  readonly subscribeId: bigint;
211
206
  }
212
207
  type MoqtMessage = ClientSetup | ServerSetup | Subscribe | SubscribeOk | SubscribeError | SubscribeDone | SubscribeUpdate | Unsubscribe | Announce | AnnounceOk | AnnounceError | AnnounceCancel | Unannounce | TrackStatusRequest | TrackStatus | ObjectStream | ObjectDatagram | StreamHeaderTrack | StreamHeaderGroup | StreamHeaderSubgroup | GoAway | SubscribeAnnounces | SubscribeAnnouncesOk | SubscribeAnnouncesError | UnsubscribeAnnounces | MaxSubscribeId | Fetch | FetchOk | FetchError | FetchCancel;
@@ -231,7 +226,7 @@ type DecodeResult<T> = {
231
226
  ok: false;
232
227
  error: DecodeError;
233
228
  };
234
- type DecodeErrorCode = 'UNEXPECTED_END' | 'INVALID_VARINT' | 'UNKNOWN_MESSAGE_TYPE' | 'INVALID_PARAMETER' | 'CONSTRAINT_VIOLATION';
229
+ type DecodeErrorCode = "UNEXPECTED_END" | "INVALID_VARINT" | "UNKNOWN_MESSAGE_TYPE" | "INVALID_PARAMETER" | "CONSTRAINT_VIOLATION";
235
230
  declare class DecodeError extends Error {
236
231
  readonly code: DecodeErrorCode;
237
232
  readonly offset: number;