@moqtap/codec 0.2.0 → 0.2.2

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 (439) hide show
  1. package/dist/core/buffer-reader.d.ts +15 -0
  2. package/dist/core/buffer-reader.d.ts.map +1 -0
  3. package/dist/core/buffer-reader.js +98 -0
  4. package/dist/core/buffer-reader.js.map +1 -0
  5. package/dist/core/buffer-writer.d.ts +16 -0
  6. package/dist/core/buffer-writer.d.ts.map +1 -0
  7. package/dist/core/buffer-writer.js +86 -0
  8. package/dist/core/buffer-writer.js.map +1 -0
  9. package/dist/core/errors.d.ts +2 -0
  10. package/dist/core/errors.d.ts.map +1 -0
  11. package/dist/core/errors.js +2 -0
  12. package/dist/core/errors.js.map +1 -0
  13. package/dist/core/hex.d.ts +5 -0
  14. package/dist/core/hex.d.ts.map +1 -0
  15. package/dist/core/hex.js +17 -0
  16. package/dist/core/hex.js.map +1 -0
  17. package/dist/core/session-types.d.ts +99 -0
  18. package/dist/core/session-types.d.ts.map +1 -0
  19. package/dist/core/session-types.js +2 -0
  20. package/dist/core/session-types.js.map +1 -0
  21. package/dist/core/types.d.ts +235 -0
  22. package/dist/core/types.d.ts.map +1 -0
  23. package/dist/core/types.js +11 -0
  24. package/dist/core/types.js.map +1 -0
  25. package/dist/drafts/draft07/announce-fsm.d.ts +2 -0
  26. package/dist/drafts/draft07/announce-fsm.d.ts.map +1 -0
  27. package/dist/drafts/draft07/announce-fsm.js +2 -0
  28. package/dist/drafts/draft07/announce-fsm.js.map +1 -0
  29. package/dist/drafts/draft07/codec.d.ts +17 -0
  30. package/dist/drafts/draft07/codec.d.ts.map +1 -0
  31. package/dist/drafts/draft07/codec.js +722 -0
  32. package/dist/drafts/draft07/codec.js.map +1 -0
  33. package/dist/drafts/draft07/data-streams.d.ts +9 -0
  34. package/dist/drafts/draft07/data-streams.d.ts.map +1 -0
  35. package/dist/drafts/draft07/data-streams.js +228 -0
  36. package/dist/drafts/draft07/data-streams.js.map +1 -0
  37. package/dist/drafts/draft07/index.d.ts +14 -0
  38. package/dist/drafts/draft07/index.d.ts.map +1 -0
  39. package/dist/drafts/draft07/index.js +18 -0
  40. package/dist/drafts/draft07/index.js.map +1 -0
  41. package/dist/drafts/draft07/messages.d.ts +32 -0
  42. package/dist/drafts/draft07/messages.d.ts.map +1 -0
  43. package/dist/drafts/draft07/messages.js +42 -0
  44. package/dist/drafts/draft07/messages.js.map +1 -0
  45. package/dist/drafts/draft07/parameters.d.ts +4 -0
  46. package/dist/drafts/draft07/parameters.d.ts.map +1 -0
  47. package/dist/drafts/draft07/parameters.js +10 -0
  48. package/dist/drafts/draft07/parameters.js.map +1 -0
  49. package/dist/drafts/draft07/rules.d.ts +8 -0
  50. package/dist/drafts/draft07/rules.d.ts.map +1 -0
  51. package/dist/drafts/draft07/rules.js +95 -0
  52. package/dist/drafts/draft07/rules.js.map +1 -0
  53. package/dist/drafts/draft07/session-fsm.d.ts +38 -0
  54. package/dist/drafts/draft07/session-fsm.d.ts.map +1 -0
  55. package/dist/drafts/draft07/session-fsm.js +354 -0
  56. package/dist/drafts/draft07/session-fsm.js.map +1 -0
  57. package/dist/drafts/draft07/session.d.ts +4 -0
  58. package/dist/drafts/draft07/session.d.ts.map +1 -0
  59. package/dist/drafts/draft07/session.js +5 -0
  60. package/dist/drafts/draft07/session.js.map +1 -0
  61. package/dist/drafts/draft07/subscription-fsm.d.ts +2 -0
  62. package/dist/drafts/draft07/subscription-fsm.d.ts.map +1 -0
  63. package/dist/drafts/draft07/subscription-fsm.js +2 -0
  64. package/dist/drafts/draft07/subscription-fsm.js.map +1 -0
  65. package/dist/drafts/draft07/types.d.ts +61 -0
  66. package/dist/drafts/draft07/types.d.ts.map +1 -0
  67. package/dist/drafts/draft07/types.js +4 -0
  68. package/dist/drafts/draft07/types.js.map +1 -0
  69. package/dist/drafts/draft07/varint.d.ts +4 -0
  70. package/dist/drafts/draft07/varint.d.ts.map +1 -0
  71. package/dist/drafts/draft07/varint.js +22 -0
  72. package/dist/drafts/draft07/varint.js.map +1 -0
  73. package/dist/drafts/draft08/codec.d.ts +29 -0
  74. package/dist/drafts/draft08/codec.d.ts.map +1 -0
  75. package/dist/drafts/draft08/codec.js +729 -0
  76. package/dist/drafts/draft08/codec.js.map +1 -0
  77. package/dist/drafts/draft08/data-streams.d.ts +12 -0
  78. package/dist/drafts/draft08/data-streams.d.ts.map +1 -0
  79. package/dist/drafts/draft08/data-streams.js +345 -0
  80. package/dist/drafts/draft08/data-streams.js.map +1 -0
  81. package/dist/drafts/draft08/index.d.ts +9 -0
  82. package/dist/drafts/draft08/index.d.ts.map +1 -0
  83. package/dist/drafts/draft08/index.js +7 -0
  84. package/dist/drafts/draft08/index.js.map +1 -0
  85. package/dist/drafts/draft08/messages.d.ts +34 -0
  86. package/dist/drafts/draft08/messages.d.ts.map +1 -0
  87. package/dist/drafts/draft08/messages.js +66 -0
  88. package/dist/drafts/draft08/messages.js.map +1 -0
  89. package/dist/drafts/draft08/rules.d.ts +8 -0
  90. package/dist/drafts/draft08/rules.d.ts.map +1 -0
  91. package/dist/drafts/draft08/rules.js +83 -0
  92. package/dist/drafts/draft08/rules.js.map +1 -0
  93. package/dist/drafts/draft08/session-fsm.d.ts +47 -0
  94. package/dist/drafts/draft08/session-fsm.d.ts.map +1 -0
  95. package/dist/drafts/draft08/session-fsm.js +483 -0
  96. package/dist/drafts/draft08/session-fsm.js.map +1 -0
  97. package/dist/drafts/draft08/session.d.ts +5 -0
  98. package/dist/drafts/draft08/session.d.ts.map +1 -0
  99. package/dist/drafts/draft08/session.js +5 -0
  100. package/dist/drafts/draft08/session.js.map +1 -0
  101. package/dist/drafts/draft08/types.d.ts +268 -0
  102. package/dist/drafts/draft08/types.d.ts.map +1 -0
  103. package/dist/drafts/draft08/types.js +4 -0
  104. package/dist/drafts/draft08/types.js.map +1 -0
  105. package/dist/drafts/draft09/codec.d.ts +21 -0
  106. package/dist/drafts/draft09/codec.d.ts.map +1 -0
  107. package/dist/drafts/draft09/codec.js +721 -0
  108. package/dist/drafts/draft09/codec.js.map +1 -0
  109. package/dist/drafts/draft09/data-streams.d.ts +12 -0
  110. package/dist/drafts/draft09/data-streams.d.ts.map +1 -0
  111. package/dist/drafts/draft09/data-streams.js +307 -0
  112. package/dist/drafts/draft09/data-streams.js.map +1 -0
  113. package/dist/drafts/draft09/index.d.ts +9 -0
  114. package/dist/drafts/draft09/index.d.ts.map +1 -0
  115. package/dist/drafts/draft09/index.js +7 -0
  116. package/dist/drafts/draft09/index.js.map +1 -0
  117. package/dist/drafts/draft09/messages.d.ts +34 -0
  118. package/dist/drafts/draft09/messages.d.ts.map +1 -0
  119. package/dist/drafts/draft09/messages.js +66 -0
  120. package/dist/drafts/draft09/messages.js.map +1 -0
  121. package/dist/drafts/draft09/rules.d.ts +8 -0
  122. package/dist/drafts/draft09/rules.d.ts.map +1 -0
  123. package/dist/drafts/draft09/rules.js +83 -0
  124. package/dist/drafts/draft09/rules.js.map +1 -0
  125. package/dist/drafts/draft09/session-fsm.d.ts +47 -0
  126. package/dist/drafts/draft09/session-fsm.d.ts.map +1 -0
  127. package/dist/drafts/draft09/session-fsm.js +483 -0
  128. package/dist/drafts/draft09/session-fsm.js.map +1 -0
  129. package/dist/drafts/draft09/session.d.ts +5 -0
  130. package/dist/drafts/draft09/session.d.ts.map +1 -0
  131. package/dist/drafts/draft09/session.js +5 -0
  132. package/dist/drafts/draft09/session.js.map +1 -0
  133. package/dist/drafts/draft09/types.d.ts +268 -0
  134. package/dist/drafts/draft09/types.d.ts.map +1 -0
  135. package/dist/drafts/draft09/types.js +4 -0
  136. package/dist/drafts/draft09/types.js.map +1 -0
  137. package/dist/drafts/draft10/codec.d.ts +21 -0
  138. package/dist/drafts/draft10/codec.d.ts.map +1 -0
  139. package/dist/drafts/draft10/codec.js +721 -0
  140. package/dist/drafts/draft10/codec.js.map +1 -0
  141. package/dist/drafts/draft10/data-streams.d.ts +12 -0
  142. package/dist/drafts/draft10/data-streams.d.ts.map +1 -0
  143. package/dist/drafts/draft10/data-streams.js +307 -0
  144. package/dist/drafts/draft10/data-streams.js.map +1 -0
  145. package/dist/drafts/draft10/index.d.ts +9 -0
  146. package/dist/drafts/draft10/index.d.ts.map +1 -0
  147. package/dist/drafts/draft10/index.js +7 -0
  148. package/dist/drafts/draft10/index.js.map +1 -0
  149. package/dist/drafts/draft10/messages.d.ts +34 -0
  150. package/dist/drafts/draft10/messages.d.ts.map +1 -0
  151. package/dist/drafts/draft10/messages.js +66 -0
  152. package/dist/drafts/draft10/messages.js.map +1 -0
  153. package/dist/drafts/draft10/rules.d.ts +8 -0
  154. package/dist/drafts/draft10/rules.d.ts.map +1 -0
  155. package/dist/drafts/draft10/rules.js +83 -0
  156. package/dist/drafts/draft10/rules.js.map +1 -0
  157. package/dist/drafts/draft10/session-fsm.d.ts +47 -0
  158. package/dist/drafts/draft10/session-fsm.d.ts.map +1 -0
  159. package/dist/drafts/draft10/session-fsm.js +483 -0
  160. package/dist/drafts/draft10/session-fsm.js.map +1 -0
  161. package/dist/drafts/draft10/session.d.ts +5 -0
  162. package/dist/drafts/draft10/session.d.ts.map +1 -0
  163. package/dist/drafts/draft10/session.js +5 -0
  164. package/dist/drafts/draft10/session.js.map +1 -0
  165. package/dist/drafts/draft10/types.d.ts +268 -0
  166. package/dist/drafts/draft10/types.d.ts.map +1 -0
  167. package/dist/drafts/draft10/types.js +4 -0
  168. package/dist/drafts/draft10/types.js.map +1 -0
  169. package/dist/drafts/draft11/codec.d.ts +25 -0
  170. package/dist/drafts/draft11/codec.d.ts.map +1 -0
  171. package/dist/drafts/draft11/codec.js +775 -0
  172. package/dist/drafts/draft11/codec.js.map +1 -0
  173. package/dist/drafts/draft11/data-streams.d.ts +10 -0
  174. package/dist/drafts/draft11/data-streams.d.ts.map +1 -0
  175. package/dist/drafts/draft11/data-streams.js +253 -0
  176. package/dist/drafts/draft11/data-streams.js.map +1 -0
  177. package/dist/drafts/draft11/index.d.ts +9 -0
  178. package/dist/drafts/draft11/index.d.ts.map +1 -0
  179. package/dist/drafts/draft11/index.js +7 -0
  180. package/dist/drafts/draft11/index.js.map +1 -0
  181. package/dist/drafts/draft11/messages.d.ts +33 -0
  182. package/dist/drafts/draft11/messages.d.ts.map +1 -0
  183. package/dist/drafts/draft11/messages.js +65 -0
  184. package/dist/drafts/draft11/messages.js.map +1 -0
  185. package/dist/drafts/draft11/rules.d.ts +8 -0
  186. package/dist/drafts/draft11/rules.d.ts.map +1 -0
  187. package/dist/drafts/draft11/rules.js +88 -0
  188. package/dist/drafts/draft11/rules.js.map +1 -0
  189. package/dist/drafts/draft11/session-fsm.d.ts +52 -0
  190. package/dist/drafts/draft11/session-fsm.d.ts.map +1 -0
  191. package/dist/drafts/draft11/session-fsm.js +530 -0
  192. package/dist/drafts/draft11/session-fsm.js.map +1 -0
  193. package/dist/drafts/draft11/session.d.ts +5 -0
  194. package/dist/drafts/draft11/session.d.ts.map +1 -0
  195. package/dist/drafts/draft11/session.js +5 -0
  196. package/dist/drafts/draft11/session.js.map +1 -0
  197. package/dist/drafts/draft11/types.d.ts +266 -0
  198. package/dist/drafts/draft11/types.d.ts.map +1 -0
  199. package/dist/drafts/draft11/types.js +4 -0
  200. package/dist/drafts/draft11/types.js.map +1 -0
  201. package/dist/drafts/draft12/codec.d.ts +27 -0
  202. package/dist/drafts/draft12/codec.d.ts.map +1 -0
  203. package/dist/drafts/draft12/codec.js +918 -0
  204. package/dist/drafts/draft12/codec.js.map +1 -0
  205. package/dist/drafts/draft12/data-streams.d.ts +10 -0
  206. package/dist/drafts/draft12/data-streams.d.ts.map +1 -0
  207. package/dist/drafts/draft12/data-streams.js +254 -0
  208. package/dist/drafts/draft12/data-streams.js.map +1 -0
  209. package/dist/drafts/draft12/index.d.ts +9 -0
  210. package/dist/drafts/draft12/index.d.ts.map +1 -0
  211. package/dist/drafts/draft12/index.js +7 -0
  212. package/dist/drafts/draft12/index.js.map +1 -0
  213. package/dist/drafts/draft12/messages.d.ts +37 -0
  214. package/dist/drafts/draft12/messages.d.ts.map +1 -0
  215. package/dist/drafts/draft12/messages.js +77 -0
  216. package/dist/drafts/draft12/messages.js.map +1 -0
  217. package/dist/drafts/draft12/rules.d.ts +8 -0
  218. package/dist/drafts/draft12/rules.d.ts.map +1 -0
  219. package/dist/drafts/draft12/rules.js +94 -0
  220. package/dist/drafts/draft12/rules.js.map +1 -0
  221. package/dist/drafts/draft12/session-fsm.d.ts +55 -0
  222. package/dist/drafts/draft12/session-fsm.d.ts.map +1 -0
  223. package/dist/drafts/draft12/session-fsm.js +569 -0
  224. package/dist/drafts/draft12/session-fsm.js.map +1 -0
  225. package/dist/drafts/draft12/session.d.ts +5 -0
  226. package/dist/drafts/draft12/session.d.ts.map +1 -0
  227. package/dist/drafts/draft12/session.js +5 -0
  228. package/dist/drafts/draft12/session.js.map +1 -0
  229. package/dist/drafts/draft12/types.d.ts +294 -0
  230. package/dist/drafts/draft12/types.d.ts.map +1 -0
  231. package/dist/drafts/draft12/types.js +4 -0
  232. package/dist/drafts/draft12/types.js.map +1 -0
  233. package/dist/drafts/draft13/codec.d.ts +27 -0
  234. package/dist/drafts/draft13/codec.d.ts.map +1 -0
  235. package/dist/drafts/draft13/codec.js +1000 -0
  236. package/dist/drafts/draft13/codec.js.map +1 -0
  237. package/dist/drafts/draft13/data-streams.d.ts +10 -0
  238. package/dist/drafts/draft13/data-streams.d.ts.map +1 -0
  239. package/dist/drafts/draft13/data-streams.js +254 -0
  240. package/dist/drafts/draft13/data-streams.js.map +1 -0
  241. package/dist/drafts/draft13/index.d.ts +9 -0
  242. package/dist/drafts/draft13/index.d.ts.map +1 -0
  243. package/dist/drafts/draft13/index.js +7 -0
  244. package/dist/drafts/draft13/index.js.map +1 -0
  245. package/dist/drafts/draft13/messages.d.ts +38 -0
  246. package/dist/drafts/draft13/messages.d.ts.map +1 -0
  247. package/dist/drafts/draft13/messages.js +79 -0
  248. package/dist/drafts/draft13/messages.js.map +1 -0
  249. package/dist/drafts/draft13/rules.d.ts +8 -0
  250. package/dist/drafts/draft13/rules.d.ts.map +1 -0
  251. package/dist/drafts/draft13/rules.js +96 -0
  252. package/dist/drafts/draft13/rules.js.map +1 -0
  253. package/dist/drafts/draft13/session-fsm.d.ts +56 -0
  254. package/dist/drafts/draft13/session-fsm.d.ts.map +1 -0
  255. package/dist/drafts/draft13/session-fsm.js +581 -0
  256. package/dist/drafts/draft13/session-fsm.js.map +1 -0
  257. package/dist/drafts/draft13/session.d.ts +5 -0
  258. package/dist/drafts/draft13/session.d.ts.map +1 -0
  259. package/dist/drafts/draft13/session.js +5 -0
  260. package/dist/drafts/draft13/session.js.map +1 -0
  261. package/dist/drafts/draft13/types.d.ts +310 -0
  262. package/dist/drafts/draft13/types.d.ts.map +1 -0
  263. package/dist/drafts/draft13/types.js +4 -0
  264. package/dist/drafts/draft13/types.js.map +1 -0
  265. package/dist/drafts/draft14/codec.d.ts +34 -0
  266. package/dist/drafts/draft14/codec.d.ts.map +1 -0
  267. package/dist/drafts/draft14/codec.js +752 -0
  268. package/dist/drafts/draft14/codec.js.map +1 -0
  269. package/dist/drafts/draft14/data-streams.d.ts +56 -0
  270. package/dist/drafts/draft14/data-streams.d.ts.map +1 -0
  271. package/dist/drafts/draft14/data-streams.js +729 -0
  272. package/dist/drafts/draft14/data-streams.js.map +1 -0
  273. package/dist/drafts/draft14/index.d.ts +9 -0
  274. package/dist/drafts/draft14/index.d.ts.map +1 -0
  275. package/dist/drafts/draft14/index.js +7 -0
  276. package/dist/drafts/draft14/index.js.map +1 -0
  277. package/dist/drafts/draft14/messages.d.ts +36 -0
  278. package/dist/drafts/draft14/messages.d.ts.map +1 -0
  279. package/dist/drafts/draft14/messages.js +71 -0
  280. package/dist/drafts/draft14/messages.js.map +1 -0
  281. package/dist/drafts/draft14/rules.d.ts +8 -0
  282. package/dist/drafts/draft14/rules.d.ts.map +1 -0
  283. package/dist/drafts/draft14/rules.js +101 -0
  284. package/dist/drafts/draft14/rules.js.map +1 -0
  285. package/dist/drafts/draft14/session-fsm.d.ts +58 -0
  286. package/dist/drafts/draft14/session-fsm.d.ts.map +1 -0
  287. package/dist/drafts/draft14/session-fsm.js +648 -0
  288. package/dist/drafts/draft14/session-fsm.js.map +1 -0
  289. package/dist/drafts/draft14/session.d.ts +5 -0
  290. package/dist/drafts/draft14/session.d.ts.map +1 -0
  291. package/dist/drafts/draft14/session.js +5 -0
  292. package/dist/drafts/draft14/session.js.map +1 -0
  293. package/dist/drafts/draft14/types.d.ts +263 -0
  294. package/dist/drafts/draft14/types.d.ts.map +1 -0
  295. package/dist/drafts/draft14/types.js +4 -0
  296. package/dist/drafts/draft14/types.js.map +1 -0
  297. package/dist/drafts/draft15/codec.d.ts +33 -0
  298. package/dist/drafts/draft15/codec.d.ts.map +1 -0
  299. package/dist/drafts/draft15/codec.js +742 -0
  300. package/dist/drafts/draft15/codec.js.map +1 -0
  301. package/dist/drafts/draft15/data-streams.d.ts +45 -0
  302. package/dist/drafts/draft15/data-streams.d.ts.map +1 -0
  303. package/dist/drafts/draft15/data-streams.js +675 -0
  304. package/dist/drafts/draft15/data-streams.js.map +1 -0
  305. package/dist/drafts/draft15/index.d.ts +9 -0
  306. package/dist/drafts/draft15/index.d.ts.map +1 -0
  307. package/dist/drafts/draft15/index.js +7 -0
  308. package/dist/drafts/draft15/index.js.map +1 -0
  309. package/dist/drafts/draft15/messages.d.ts +31 -0
  310. package/dist/drafts/draft15/messages.d.ts.map +1 -0
  311. package/dist/drafts/draft15/messages.js +59 -0
  312. package/dist/drafts/draft15/messages.js.map +1 -0
  313. package/dist/drafts/draft15/rules.d.ts +8 -0
  314. package/dist/drafts/draft15/rules.d.ts.map +1 -0
  315. package/dist/drafts/draft15/rules.js +83 -0
  316. package/dist/drafts/draft15/rules.js.map +1 -0
  317. package/dist/drafts/draft15/session-fsm.d.ts +48 -0
  318. package/dist/drafts/draft15/session-fsm.d.ts.map +1 -0
  319. package/dist/drafts/draft15/session-fsm.js +479 -0
  320. package/dist/drafts/draft15/session-fsm.js.map +1 -0
  321. package/dist/drafts/draft15/session.d.ts +5 -0
  322. package/dist/drafts/draft15/session.d.ts.map +1 -0
  323. package/dist/drafts/draft15/session.js +5 -0
  324. package/dist/drafts/draft15/session.js.map +1 -0
  325. package/dist/drafts/draft15/types.d.ts +232 -0
  326. package/dist/drafts/draft15/types.d.ts.map +1 -0
  327. package/dist/drafts/draft15/types.js +4 -0
  328. package/dist/drafts/draft15/types.js.map +1 -0
  329. package/dist/drafts/draft16/codec.d.ts +29 -0
  330. package/dist/drafts/draft16/codec.d.ts.map +1 -0
  331. package/dist/drafts/draft16/codec.js +747 -0
  332. package/dist/drafts/draft16/codec.js.map +1 -0
  333. package/dist/drafts/draft16/data-streams.d.ts +34 -0
  334. package/dist/drafts/draft16/data-streams.d.ts.map +1 -0
  335. package/dist/drafts/draft16/data-streams.js +667 -0
  336. package/dist/drafts/draft16/data-streams.js.map +1 -0
  337. package/dist/drafts/draft16/index.d.ts +9 -0
  338. package/dist/drafts/draft16/index.d.ts.map +1 -0
  339. package/dist/drafts/draft16/index.js +7 -0
  340. package/dist/drafts/draft16/index.js.map +1 -0
  341. package/dist/drafts/draft16/messages.d.ts +32 -0
  342. package/dist/drafts/draft16/messages.d.ts.map +1 -0
  343. package/dist/drafts/draft16/messages.js +62 -0
  344. package/dist/drafts/draft16/messages.js.map +1 -0
  345. package/dist/drafts/draft16/rules.d.ts +8 -0
  346. package/dist/drafts/draft16/rules.d.ts.map +1 -0
  347. package/dist/drafts/draft16/rules.js +84 -0
  348. package/dist/drafts/draft16/rules.js.map +1 -0
  349. package/dist/drafts/draft16/session-fsm.d.ts +48 -0
  350. package/dist/drafts/draft16/session-fsm.d.ts.map +1 -0
  351. package/dist/drafts/draft16/session-fsm.js +474 -0
  352. package/dist/drafts/draft16/session-fsm.js.map +1 -0
  353. package/dist/drafts/draft16/session.d.ts +5 -0
  354. package/dist/drafts/draft16/session.d.ts.map +1 -0
  355. package/dist/drafts/draft16/session.js +5 -0
  356. package/dist/drafts/draft16/session.js.map +1 -0
  357. package/dist/drafts/draft16/types.d.ts +238 -0
  358. package/dist/drafts/draft16/types.d.ts.map +1 -0
  359. package/dist/drafts/draft16/types.js +4 -0
  360. package/dist/drafts/draft16/types.js.map +1 -0
  361. package/dist/drafts/draft17/codec.d.ts +29 -0
  362. package/dist/drafts/draft17/codec.d.ts.map +1 -0
  363. package/dist/drafts/draft17/codec.js +799 -0
  364. package/dist/drafts/draft17/codec.js.map +1 -0
  365. package/dist/drafts/draft17/data-streams.d.ts +13 -0
  366. package/dist/drafts/draft17/data-streams.d.ts.map +1 -0
  367. package/dist/drafts/draft17/data-streams.js +633 -0
  368. package/dist/drafts/draft17/data-streams.js.map +1 -0
  369. package/dist/drafts/draft17/index.d.ts +8 -0
  370. package/dist/drafts/draft17/index.d.ts.map +1 -0
  371. package/dist/drafts/draft17/index.js +6 -0
  372. package/dist/drafts/draft17/index.js.map +1 -0
  373. package/dist/drafts/draft17/messages.d.ts +25 -0
  374. package/dist/drafts/draft17/messages.d.ts.map +1 -0
  375. package/dist/drafts/draft17/messages.js +48 -0
  376. package/dist/drafts/draft17/messages.js.map +1 -0
  377. package/dist/drafts/draft17/rules.d.ts +8 -0
  378. package/dist/drafts/draft17/rules.d.ts.map +1 -0
  379. package/dist/drafts/draft17/rules.js +71 -0
  380. package/dist/drafts/draft17/rules.js.map +1 -0
  381. package/dist/drafts/draft17/session-fsm.d.ts +45 -0
  382. package/dist/drafts/draft17/session-fsm.d.ts.map +1 -0
  383. package/dist/drafts/draft17/session-fsm.js +328 -0
  384. package/dist/drafts/draft17/session-fsm.js.map +1 -0
  385. package/dist/drafts/draft17/session.d.ts +5 -0
  386. package/dist/drafts/draft17/session.d.ts.map +1 -0
  387. package/dist/drafts/draft17/session.js +6 -0
  388. package/dist/drafts/draft17/session.js.map +1 -0
  389. package/dist/drafts/draft17/types.d.ts +219 -0
  390. package/dist/drafts/draft17/types.d.ts.map +1 -0
  391. package/dist/drafts/draft17/types.js +3 -0
  392. package/dist/drafts/draft17/types.js.map +1 -0
  393. package/dist/index.d.ts +46 -38
  394. package/dist/index.d.ts.map +1 -0
  395. package/dist/index.js +93 -110
  396. package/dist/index.js.map +1 -0
  397. package/dist/session.d.ts +4 -8
  398. package/dist/session.d.ts.map +1 -0
  399. package/dist/session.js +32 -26
  400. package/dist/session.js.map +1 -0
  401. package/package.json +2 -2
  402. package/src/core/buffer-reader.ts +1 -1
  403. package/src/core/hex.ts +17 -0
  404. package/src/drafts/draft07/codec.ts +933 -991
  405. package/src/drafts/draft07/data-streams.ts +240 -0
  406. package/src/drafts/draft07/index.ts +89 -69
  407. package/src/drafts/draft07/messages.ts +42 -44
  408. package/src/drafts/draft07/rules.ts +101 -104
  409. package/src/drafts/draft07/types.ts +72 -0
  410. package/src/drafts/draft08/codec.ts +944 -1254
  411. package/src/drafts/draft08/data-streams.ts +359 -0
  412. package/src/drafts/draft08/types.ts +384 -377
  413. package/src/drafts/draft09/codec.ts +936 -1235
  414. package/src/drafts/draft09/data-streams.ts +332 -0
  415. package/src/drafts/draft09/types.ts +384 -376
  416. package/src/drafts/draft10/codec.ts +936 -1235
  417. package/src/drafts/draft10/data-streams.ts +332 -0
  418. package/src/drafts/draft10/types.ts +384 -376
  419. package/src/drafts/draft11/codec.ts +979 -1198
  420. package/src/drafts/draft11/data-streams.ts +269 -0
  421. package/src/drafts/draft11/types.ts +381 -375
  422. package/src/drafts/draft12/codec.ts +1113 -1354
  423. package/src/drafts/draft12/data-streams.ts +275 -0
  424. package/src/drafts/draft12/types.ts +419 -414
  425. package/src/drafts/draft13/codec.ts +1197 -1438
  426. package/src/drafts/draft13/data-streams.ts +275 -0
  427. package/src/drafts/draft13/types.ts +438 -433
  428. package/src/drafts/draft14/codec.ts +1034 -1480
  429. package/src/drafts/draft14/data-streams.ts +798 -0
  430. package/src/drafts/draft14/types.ts +381 -365
  431. package/src/drafts/draft15/codec.ts +969 -1661
  432. package/src/drafts/draft15/data-streams.ts +778 -0
  433. package/src/drafts/draft15/types.ts +339 -336
  434. package/src/drafts/draft16/codec.ts +957 -1623
  435. package/src/drafts/draft16/data-streams.ts +773 -0
  436. package/src/drafts/draft16/types.ts +357 -354
  437. package/src/drafts/draft17/codec.ts +962 -1621
  438. package/src/drafts/draft17/data-streams.ts +742 -0
  439. package/src/drafts/draft17/types.ts +313 -310
@@ -0,0 +1,15 @@
1
+ export declare class BufferReader {
2
+ readonly buffer: Uint8Array;
3
+ private readonly view;
4
+ private pos;
5
+ constructor(buffer: Uint8Array, offset?: number);
6
+ get offset(): number;
7
+ get remaining(): number;
8
+ readUint8(): number;
9
+ readBytes(length: number): Uint8Array<ArrayBuffer>;
10
+ readVarInt(): bigint;
11
+ readString(): string;
12
+ readTuple(): string[];
13
+ readParameters(): Map<bigint, Uint8Array>;
14
+ }
15
+ //# sourceMappingURL=buffer-reader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buffer-reader.d.ts","sourceRoot":"","sources":["../../src/core/buffer-reader.ts"],"names":[],"mappings":"AAEA,qBAAa,YAAY;IAKrB,QAAQ,CAAC,MAAM,EAAE,UAAU;IAJ7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAW;IAChC,OAAO,CAAC,GAAG,CAAS;gBAGT,MAAM,EAAE,UAAU,EAC3B,MAAM,SAAI;IAMZ,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,SAAS,IAAI,MAAM;IASnB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC;IAalD,UAAU,IAAI,MAAM;IA2CpB,UAAU,IAAI,MAAM;IAMpB,SAAS,IAAI,MAAM,EAAE;IASrB,cAAc,IAAI,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;CAW1C"}
@@ -0,0 +1,98 @@
1
+ import { DecodeError } from "./types.js";
2
+ export class BufferReader {
3
+ buffer;
4
+ view;
5
+ pos;
6
+ constructor(buffer, offset = 0) {
7
+ this.buffer = buffer;
8
+ this.view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
9
+ this.pos = offset;
10
+ }
11
+ get offset() {
12
+ return this.pos;
13
+ }
14
+ get remaining() {
15
+ return this.buffer.byteLength - this.pos;
16
+ }
17
+ readUint8() {
18
+ if (this.remaining < 1) {
19
+ throw new DecodeError("UNEXPECTED_END", "Not enough bytes to read uint8", this.pos);
20
+ }
21
+ const value = this.view.getUint8(this.pos);
22
+ this.pos += 1;
23
+ return value;
24
+ }
25
+ readBytes(length) {
26
+ if (this.remaining < length) {
27
+ throw new DecodeError("UNEXPECTED_END", `Not enough bytes: need ${length}, have ${this.remaining}`, this.pos);
28
+ }
29
+ const slice = this.buffer.slice(this.pos, this.pos + length);
30
+ this.pos += length;
31
+ return slice;
32
+ }
33
+ readVarInt() {
34
+ if (this.remaining < 1) {
35
+ throw new DecodeError("UNEXPECTED_END", "Not enough bytes for varint", this.pos);
36
+ }
37
+ const first = this.view.getUint8(this.pos);
38
+ const prefix = first >> 6;
39
+ let length;
40
+ let value;
41
+ switch (prefix) {
42
+ case 0:
43
+ length = 1;
44
+ value = BigInt(first & 0x3f);
45
+ break;
46
+ case 1:
47
+ length = 2;
48
+ if (this.remaining < 2) {
49
+ throw new DecodeError("UNEXPECTED_END", "Not enough bytes for 2-byte varint", this.pos);
50
+ }
51
+ value = BigInt(this.view.getUint16(this.pos) & 0x3fff);
52
+ break;
53
+ case 2:
54
+ length = 4;
55
+ if (this.remaining < 4) {
56
+ throw new DecodeError("UNEXPECTED_END", "Not enough bytes for 4-byte varint", this.pos);
57
+ }
58
+ value = BigInt(this.view.getUint32(this.pos)) & 0x3fffffffn;
59
+ break;
60
+ case 3:
61
+ length = 8;
62
+ if (this.remaining < 8) {
63
+ throw new DecodeError("UNEXPECTED_END", "Not enough bytes for 8-byte varint", this.pos);
64
+ }
65
+ value = this.view.getBigUint64(this.pos) & 0x3fffffffffffffffn;
66
+ break;
67
+ default:
68
+ throw new DecodeError("INVALID_VARINT", "Invalid varint prefix", this.pos);
69
+ }
70
+ this.pos += length;
71
+ return value;
72
+ }
73
+ readString() {
74
+ const length = Number(this.readVarInt());
75
+ const bytes = this.readBytes(length);
76
+ return new TextDecoder().decode(bytes);
77
+ }
78
+ readTuple() {
79
+ const count = Number(this.readVarInt());
80
+ const result = [];
81
+ for (let i = 0; i < count; i++) {
82
+ result.push(this.readString());
83
+ }
84
+ return result;
85
+ }
86
+ readParameters() {
87
+ const count = Number(this.readVarInt());
88
+ const params = new Map();
89
+ for (let i = 0; i < count; i++) {
90
+ const key = this.readVarInt();
91
+ const length = Number(this.readVarInt());
92
+ const value = this.readBytes(length);
93
+ params.set(key, value);
94
+ }
95
+ return params;
96
+ }
97
+ }
98
+ //# sourceMappingURL=buffer-reader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buffer-reader.js","sourceRoot":"","sources":["../../src/core/buffer-reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,OAAO,YAAY;IAKZ;IAJM,IAAI,CAAW;IACxB,GAAG,CAAS;IAEpB,YACW,MAAkB,EAC3B,MAAM,GAAG,CAAC;QADD,WAAM,GAAN,MAAM,CAAY;QAG3B,IAAI,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC9E,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC;IACpB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC;IAC3C,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,WAAW,CAAC,gBAAgB,EAAE,gCAAgC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACtF,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,CAAC,MAAc;QACtB,IAAI,IAAI,CAAC,SAAS,GAAG,MAAM,EAAE,CAAC;YAC5B,MAAM,IAAI,WAAW,CACnB,gBAAgB,EAChB,0BAA0B,MAAM,UAAU,IAAI,CAAC,SAAS,EAAE,EAC1D,IAAI,CAAC,GAAG,CACT,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,WAAW,CAAC,gBAAgB,EAAE,6BAA6B,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACnF,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,KAAK,IAAI,CAAC,CAAC;QAC1B,IAAI,MAAc,CAAC;QACnB,IAAI,KAAa,CAAC;QAElB,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,CAAC;gBACJ,MAAM,GAAG,CAAC,CAAC;gBACX,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;gBAC7B,MAAM;YACR,KAAK,CAAC;gBACJ,MAAM,GAAG,CAAC,CAAC;gBACX,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;oBACvB,MAAM,IAAI,WAAW,CAAC,gBAAgB,EAAE,oCAAoC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1F,CAAC;gBACD,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;gBACvD,MAAM;YACR,KAAK,CAAC;gBACJ,MAAM,GAAG,CAAC,CAAC;gBACX,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;oBACvB,MAAM,IAAI,WAAW,CAAC,gBAAgB,EAAE,oCAAoC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1F,CAAC;gBACD,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC;gBAC5D,MAAM;YACR,KAAK,CAAC;gBACJ,MAAM,GAAG,CAAC,CAAC;gBACX,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;oBACvB,MAAM,IAAI,WAAW,CAAC,gBAAgB,EAAE,oCAAoC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1F,CAAC;gBACD,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC;gBAC/D,MAAM;YACR;gBACE,MAAM,IAAI,WAAW,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/E,CAAC;QAED,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,UAAU;QACR,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACrC,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,SAAS;QACP,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACxC,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,cAAc;QACZ,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAsB,CAAC;QAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YACzC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACrC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -0,0 +1,16 @@
1
+ export declare class BufferWriter {
2
+ private buffer;
3
+ private view;
4
+ private pos;
5
+ constructor(initialSize?: number);
6
+ get offset(): number;
7
+ private ensureCapacity;
8
+ writeUint8(value: number): void;
9
+ writeBytes(bytes: Uint8Array): void;
10
+ writeVarInt(value: number | bigint): void;
11
+ writeString(str: string): void;
12
+ writeTuple(values: string[]): void;
13
+ writeParameters(params: Map<bigint, Uint8Array>): void;
14
+ finish(): Uint8Array;
15
+ }
16
+ //# sourceMappingURL=buffer-writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buffer-writer.d.ts","sourceRoot":"","sources":["../../src/core/buffer-writer.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,GAAG,CAAS;gBAER,WAAW,SAAM;IAM7B,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,OAAO,CAAC,cAAc;IAatB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM/B,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAMnC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAyBzC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAM9B,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAOlC,eAAe,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,IAAI;IAStD,MAAM,IAAI,UAAU;CAGrB"}
@@ -0,0 +1,86 @@
1
+ export class BufferWriter {
2
+ buffer;
3
+ view;
4
+ pos;
5
+ constructor(initialSize = 256) {
6
+ this.buffer = new Uint8Array(initialSize);
7
+ this.view = new DataView(this.buffer.buffer);
8
+ this.pos = 0;
9
+ }
10
+ get offset() {
11
+ return this.pos;
12
+ }
13
+ ensureCapacity(needed) {
14
+ const required = this.pos + needed;
15
+ if (required <= this.buffer.byteLength)
16
+ return;
17
+ let newSize = this.buffer.byteLength * 2;
18
+ while (newSize < required)
19
+ newSize *= 2;
20
+ const newBuffer = new Uint8Array(newSize);
21
+ newBuffer.set(this.buffer);
22
+ this.buffer = newBuffer;
23
+ this.view = new DataView(this.buffer.buffer);
24
+ }
25
+ writeUint8(value) {
26
+ this.ensureCapacity(1);
27
+ this.view.setUint8(this.pos, value);
28
+ this.pos += 1;
29
+ }
30
+ writeBytes(bytes) {
31
+ this.ensureCapacity(bytes.byteLength);
32
+ this.buffer.set(bytes, this.pos);
33
+ this.pos += bytes.byteLength;
34
+ }
35
+ writeVarInt(value) {
36
+ const v = BigInt(value);
37
+ if (v < 0n)
38
+ throw new Error("VarInt value must be non-negative");
39
+ if (v < 0x40n) {
40
+ this.ensureCapacity(1);
41
+ this.view.setUint8(this.pos, Number(v));
42
+ this.pos += 1;
43
+ }
44
+ else if (v < 0x4000n) {
45
+ this.ensureCapacity(2);
46
+ this.view.setUint16(this.pos, Number(v) | 0x4000);
47
+ this.pos += 2;
48
+ }
49
+ else if (v < 0x40000000n) {
50
+ this.ensureCapacity(4);
51
+ this.view.setUint32(this.pos, Number(v) | 0x80000000);
52
+ this.pos += 4;
53
+ }
54
+ else if (v < 0x4000000000000000n) {
55
+ this.ensureCapacity(8);
56
+ this.view.setBigUint64(this.pos, v | 0xc000000000000000n);
57
+ this.pos += 8;
58
+ }
59
+ else {
60
+ throw new Error("VarInt value exceeds 62-bit range");
61
+ }
62
+ }
63
+ writeString(str) {
64
+ const encoded = new TextEncoder().encode(str);
65
+ this.writeVarInt(encoded.byteLength);
66
+ this.writeBytes(encoded);
67
+ }
68
+ writeTuple(values) {
69
+ this.writeVarInt(values.length);
70
+ for (const v of values) {
71
+ this.writeString(v);
72
+ }
73
+ }
74
+ writeParameters(params) {
75
+ this.writeVarInt(params.size);
76
+ for (const [key, value] of params) {
77
+ this.writeVarInt(key);
78
+ this.writeVarInt(value.byteLength);
79
+ this.writeBytes(value);
80
+ }
81
+ }
82
+ finish() {
83
+ return this.buffer.slice(0, this.pos);
84
+ }
85
+ }
86
+ //# sourceMappingURL=buffer-writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buffer-writer.js","sourceRoot":"","sources":["../../src/core/buffer-writer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { DecodeError, type DecodeErrorCode } from "./types.js";
2
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { DecodeError } from "./types.js";
2
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAwB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,5 @@
1
+ /** Convert a Uint8Array to a lowercase hex string. */
2
+ export declare function bytesToHex(bytes: Uint8Array): string;
3
+ /** Convert a hex string to a Uint8Array. */
4
+ export declare function hexToBytes(hex: string): Uint8Array;
5
+ //# sourceMappingURL=hex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hex.d.ts","sourceRoot":"","sources":["../../src/core/hex.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAMpD;AAED,4CAA4C;AAC5C,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAMlD"}
@@ -0,0 +1,17 @@
1
+ /** Convert a Uint8Array to a lowercase hex string. */
2
+ export function bytesToHex(bytes) {
3
+ let hex = "";
4
+ for (let i = 0; i < bytes.byteLength; i++) {
5
+ hex += bytes[i].toString(16).padStart(2, "0");
6
+ }
7
+ return hex;
8
+ }
9
+ /** Convert a hex string to a Uint8Array. */
10
+ export function hexToBytes(hex) {
11
+ const bytes = new Uint8Array(hex.length / 2);
12
+ for (let i = 0; i < hex.length; i += 2) {
13
+ bytes[i / 2] = Number.parseInt(hex.substring(i, i + 2), 16);
14
+ }
15
+ return bytes;
16
+ }
17
+ //# sourceMappingURL=hex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hex.js","sourceRoot":"","sources":["../../src/core/hex.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,MAAM,UAAU,UAAU,CAAC,KAAiB;IAC1C,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,GAAG,IAAK,KAAK,CAAC,CAAC,CAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,99 @@
1
+ import type { MoqtMessage, MoqtMessageType } from "./types.js";
2
+ export type SessionPhase = "idle" | "setup" | "ready" | "draining" | "closed" | "error";
3
+ export type SubscriptionPhase = "pending" | "active" | "error" | "done";
4
+ export type AnnouncePhase = "pending" | "active" | "error";
5
+ export type PublishPhase = "pending" | "active" | "error" | "done";
6
+ export type FetchPhase = "pending" | "active" | "error" | "cancelled";
7
+ export interface SubscriptionState {
8
+ readonly subscribeId: bigint;
9
+ readonly phase: SubscriptionPhase;
10
+ readonly trackNamespace: string[];
11
+ readonly trackName: string;
12
+ }
13
+ export interface AnnounceState {
14
+ readonly namespace: string[];
15
+ readonly phase: AnnouncePhase;
16
+ }
17
+ export interface PublishState {
18
+ readonly requestId: bigint;
19
+ readonly phase: PublishPhase;
20
+ }
21
+ export interface FetchState {
22
+ readonly requestId: bigint;
23
+ readonly phase: FetchPhase;
24
+ }
25
+ export interface SessionStateOptions {
26
+ codec: {
27
+ draft: string;
28
+ };
29
+ role: "client" | "server";
30
+ }
31
+ export interface SessionState<M = MoqtMessage, T extends string = MoqtMessageType> {
32
+ readonly phase: SessionPhase;
33
+ readonly role: "client" | "server";
34
+ receive(message: M): TransitionResult<T>;
35
+ validateOutgoing(message: M): ValidationResult<T>;
36
+ send(message: M): TransitionResult<T>;
37
+ readonly subscriptions: ReadonlyMap<bigint, SubscriptionState>;
38
+ readonly announces: ReadonlyMap<string, AnnounceState>;
39
+ readonly legalOutgoing: ReadonlySet<T>;
40
+ readonly legalIncoming: ReadonlySet<T>;
41
+ reset(): void;
42
+ }
43
+ export type TransitionResult<T extends string = MoqtMessageType> = {
44
+ ok: true;
45
+ phase: SessionPhase;
46
+ sideEffects: SideEffect[];
47
+ } | {
48
+ ok: false;
49
+ violation: ProtocolViolation<T>;
50
+ };
51
+ export type ValidationResult<T extends string = MoqtMessageType> = {
52
+ ok: true;
53
+ } | {
54
+ ok: false;
55
+ violation: ProtocolViolation<T>;
56
+ };
57
+ export interface ProtocolViolation<T extends string = MoqtMessageType> {
58
+ readonly code: ProtocolViolationCode;
59
+ readonly message: string;
60
+ readonly currentPhase: SessionPhase;
61
+ readonly offendingMessage: T;
62
+ }
63
+ export type ProtocolViolationCode = "MESSAGE_BEFORE_SETUP" | "UNEXPECTED_MESSAGE" | "DUPLICATE_SUBSCRIBE_ID" | "UNKNOWN_SUBSCRIBE_ID" | "DUPLICATE_REQUEST_ID" | "UNKNOWN_REQUEST_ID" | "ROLE_VIOLATION" | "STATE_VIOLATION" | "SETUP_VIOLATION";
64
+ export type SideEffect = {
65
+ type: "subscription-activated";
66
+ subscribeId: bigint;
67
+ } | {
68
+ type: "subscription-ended";
69
+ subscribeId: bigint;
70
+ reason: string;
71
+ } | {
72
+ type: "announce-activated";
73
+ namespace: string[];
74
+ } | {
75
+ type: "announce-ended";
76
+ namespace: string[];
77
+ } | {
78
+ type: "publish-activated";
79
+ requestId: bigint;
80
+ } | {
81
+ type: "publish-ended";
82
+ requestId: bigint;
83
+ reason: string;
84
+ } | {
85
+ type: "fetch-activated";
86
+ requestId: bigint;
87
+ } | {
88
+ type: "fetch-ended";
89
+ requestId: bigint;
90
+ reason: string;
91
+ } | {
92
+ type: "session-ready";
93
+ } | {
94
+ type: "session-draining";
95
+ goAwayUri: string;
96
+ } | {
97
+ type: "session-closed";
98
+ };
99
+ //# sourceMappingURL=session-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-types.d.ts","sourceRoot":"","sources":["../../src/core/session-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=session-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-types.js","sourceRoot":"","sources":["../../src/core/session-types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,235 @@
1
+ export 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
+ export type DraftShorthand = "07" | "08" | "09" | "10" | "11" | "12" | "13" | "14" | "15" | "16" | "17";
3
+ export 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
+ export interface BaseMessage {
5
+ readonly type: MoqtMessageType;
6
+ }
7
+ export interface ClientSetup extends BaseMessage {
8
+ readonly type: "client_setup";
9
+ readonly supportedVersions: bigint[];
10
+ readonly parameters: Map<bigint, Uint8Array>;
11
+ }
12
+ export interface ServerSetup extends BaseMessage {
13
+ readonly type: "server_setup";
14
+ readonly selectedVersion: bigint;
15
+ readonly parameters: Map<bigint, Uint8Array>;
16
+ }
17
+ export interface Subscribe extends BaseMessage {
18
+ readonly type: "subscribe";
19
+ readonly subscribeId: bigint;
20
+ readonly trackAlias: bigint;
21
+ readonly trackNamespace: string[];
22
+ readonly trackName: string;
23
+ readonly subscriberPriority: number;
24
+ readonly groupOrder: GroupOrderValue;
25
+ readonly filterType: FilterType;
26
+ readonly startGroup?: bigint;
27
+ readonly startObject?: bigint;
28
+ readonly endGroup?: bigint;
29
+ readonly endObject?: bigint;
30
+ readonly parameters: Map<bigint, Uint8Array>;
31
+ }
32
+ export type FilterType = "latest_group" | "latest_object" | "absolute_start" | "absolute_range";
33
+ export interface SubscribeOk extends BaseMessage {
34
+ readonly type: "subscribe_ok";
35
+ readonly subscribeId: bigint;
36
+ readonly expires: bigint;
37
+ readonly groupOrder: GroupOrderValue;
38
+ readonly contentExists: boolean;
39
+ readonly largestGroupId?: bigint;
40
+ readonly largestObjectId?: bigint;
41
+ readonly parameters: Map<bigint, Uint8Array>;
42
+ }
43
+ export type GroupOrderValue = "ascending" | "descending" | "original";
44
+ export interface SubscribeError extends BaseMessage {
45
+ readonly type: "subscribe_error";
46
+ readonly subscribeId: bigint;
47
+ readonly errorCode: bigint;
48
+ readonly reasonPhrase: string;
49
+ readonly trackAlias: bigint;
50
+ }
51
+ export interface SubscribeDone extends BaseMessage {
52
+ readonly type: "subscribe_done";
53
+ readonly subscribeId: bigint;
54
+ readonly statusCode: bigint;
55
+ readonly reasonPhrase: string;
56
+ readonly contentExists: boolean;
57
+ readonly finalGroupId?: bigint;
58
+ readonly finalObjectId?: bigint;
59
+ }
60
+ export interface SubscribeUpdate extends BaseMessage {
61
+ readonly type: "subscribe_update";
62
+ readonly subscribeId: bigint;
63
+ readonly startGroup: bigint;
64
+ readonly startObject: bigint;
65
+ readonly endGroup: bigint;
66
+ readonly endObject: bigint;
67
+ readonly subscriberPriority: number;
68
+ readonly parameters: Map<bigint, Uint8Array>;
69
+ }
70
+ export interface Unsubscribe extends BaseMessage {
71
+ readonly type: "unsubscribe";
72
+ readonly subscribeId: bigint;
73
+ }
74
+ export interface Announce extends BaseMessage {
75
+ readonly type: "announce";
76
+ readonly trackNamespace: string[];
77
+ readonly parameters: Map<bigint, Uint8Array>;
78
+ }
79
+ export interface AnnounceOk extends BaseMessage {
80
+ readonly type: "announce_ok";
81
+ readonly trackNamespace: string[];
82
+ }
83
+ export interface AnnounceError extends BaseMessage {
84
+ readonly type: "announce_error";
85
+ readonly trackNamespace: string[];
86
+ readonly errorCode: bigint;
87
+ readonly reasonPhrase: string;
88
+ }
89
+ export interface AnnounceCancel extends BaseMessage {
90
+ readonly type: "announce_cancel";
91
+ readonly trackNamespace: string[];
92
+ readonly errorCode: bigint;
93
+ readonly reasonPhrase: string;
94
+ }
95
+ export interface Unannounce extends BaseMessage {
96
+ readonly type: "unannounce";
97
+ readonly trackNamespace: string[];
98
+ }
99
+ export interface TrackStatusRequest extends BaseMessage {
100
+ readonly type: "track_status_request";
101
+ readonly trackNamespace: string[];
102
+ readonly trackName: string;
103
+ }
104
+ export interface TrackStatus extends BaseMessage {
105
+ readonly type: "track_status";
106
+ readonly trackNamespace: string[];
107
+ readonly trackName: string;
108
+ readonly statusCode: bigint;
109
+ readonly lastGroupId: bigint;
110
+ readonly lastObjectId: bigint;
111
+ }
112
+ export interface ObjectStream extends BaseMessage {
113
+ readonly type: "object_stream";
114
+ readonly trackAlias: bigint;
115
+ readonly groupId: bigint;
116
+ readonly objectId: bigint;
117
+ readonly publisherPriority: number;
118
+ readonly objectStatus?: number;
119
+ readonly payload: Uint8Array;
120
+ }
121
+ export interface ObjectDatagram extends BaseMessage {
122
+ readonly type: "object_datagram";
123
+ readonly trackAlias: bigint;
124
+ readonly groupId: bigint;
125
+ readonly objectId: bigint;
126
+ readonly publisherPriority: number;
127
+ readonly objectStatus?: number;
128
+ readonly payload: Uint8Array;
129
+ }
130
+ export interface StreamHeaderTrack extends BaseMessage {
131
+ readonly type: "stream_header_track";
132
+ readonly trackAlias: bigint;
133
+ readonly publisherPriority: number;
134
+ }
135
+ export interface StreamHeaderGroup extends BaseMessage {
136
+ readonly type: "stream_header_group";
137
+ readonly trackAlias: bigint;
138
+ readonly groupId: bigint;
139
+ readonly publisherPriority: number;
140
+ }
141
+ export interface StreamHeaderSubgroup extends BaseMessage {
142
+ readonly type: "stream_header_subgroup";
143
+ readonly trackAlias: bigint;
144
+ readonly groupId: bigint;
145
+ readonly subgroupId: bigint;
146
+ readonly publisherPriority: number;
147
+ }
148
+ export interface GoAway extends BaseMessage {
149
+ readonly type: "goaway";
150
+ readonly newSessionUri: string;
151
+ }
152
+ export interface SubscribeAnnounces extends BaseMessage {
153
+ readonly type: "subscribe_announces";
154
+ readonly trackNamespace: string[];
155
+ readonly parameters: Map<bigint, Uint8Array>;
156
+ }
157
+ export interface SubscribeAnnouncesOk extends BaseMessage {
158
+ readonly type: "subscribe_announces_ok";
159
+ readonly trackNamespace: string[];
160
+ }
161
+ export interface SubscribeAnnouncesError extends BaseMessage {
162
+ readonly type: "subscribe_announces_error";
163
+ readonly trackNamespace: string[];
164
+ readonly errorCode: bigint;
165
+ readonly reasonPhrase: string;
166
+ }
167
+ export interface UnsubscribeAnnounces extends BaseMessage {
168
+ readonly type: "unsubscribe_announces";
169
+ readonly trackNamespace: string[];
170
+ }
171
+ export interface MaxSubscribeId extends BaseMessage {
172
+ readonly type: "max_subscribe_id";
173
+ readonly subscribeId: bigint;
174
+ }
175
+ export interface Fetch extends BaseMessage {
176
+ readonly type: "fetch";
177
+ readonly subscribeId: bigint;
178
+ readonly trackNamespace: string[];
179
+ readonly trackName: string;
180
+ readonly subscriberPriority: number;
181
+ readonly groupOrder: GroupOrderValue;
182
+ readonly startGroup: bigint;
183
+ readonly startObject: bigint;
184
+ readonly endGroup: bigint;
185
+ readonly endObject: bigint;
186
+ readonly parameters: Map<bigint, Uint8Array>;
187
+ }
188
+ export interface FetchOk extends BaseMessage {
189
+ readonly type: "fetch_ok";
190
+ readonly subscribeId: bigint;
191
+ readonly groupOrder: GroupOrderValue;
192
+ readonly endOfTrack: boolean;
193
+ readonly largestGroupId: bigint;
194
+ readonly largestObjectId: bigint;
195
+ readonly parameters: Map<bigint, Uint8Array>;
196
+ }
197
+ export interface FetchError extends BaseMessage {
198
+ readonly type: "fetch_error";
199
+ readonly subscribeId: bigint;
200
+ readonly errorCode: bigint;
201
+ readonly reasonPhrase: string;
202
+ }
203
+ export interface FetchCancel extends BaseMessage {
204
+ readonly type: "fetch_cancel";
205
+ readonly subscribeId: bigint;
206
+ }
207
+ export 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;
208
+ export interface BaseCodec<M = MoqtMessage> {
209
+ readonly draft: Draft;
210
+ encodeMessage(message: M): Uint8Array;
211
+ decodeMessage(bytes: Uint8Array): DecodeResult<M>;
212
+ }
213
+ export interface Codec extends BaseCodec<MoqtMessage> {
214
+ encodeVarInt(value: number | bigint): Uint8Array;
215
+ decodeVarInt(bytes: Uint8Array, offset?: number): DecodeResult<bigint>;
216
+ createStreamDecoder(): TransformStream<Uint8Array, MoqtMessage>;
217
+ }
218
+ export interface CodecOptions {
219
+ draft: Draft | DraftShorthand;
220
+ }
221
+ export type DecodeResult<T> = {
222
+ ok: true;
223
+ value: T;
224
+ bytesRead: number;
225
+ } | {
226
+ ok: false;
227
+ error: DecodeError;
228
+ };
229
+ export type DecodeErrorCode = "UNEXPECTED_END" | "INVALID_VARINT" | "UNKNOWN_MESSAGE_TYPE" | "INVALID_PARAMETER" | "CONSTRAINT_VIOLATION";
230
+ export declare class DecodeError extends Error {
231
+ readonly code: DecodeErrorCode;
232
+ readonly offset: number;
233
+ constructor(code: DecodeErrorCode, message: string, offset: number);
234
+ }
235
+ //# sourceMappingURL=types.d.ts.map