@moqtap/codec 0.2.2 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-LH4NTURO.js → chunk-2GODRVT5.js} +699 -589
- package/dist/{chunk-4RIXXEII.js → chunk-2ZT6CVSE.js} +274 -242
- package/dist/{chunk-XUUCOLWU.cjs → chunk-4N4INRE7.cjs} +332 -321
- package/dist/{chunk-PJRA2TQ5.js → chunk-73MWUKSJ.js} +274 -228
- package/dist/{chunk-NGVE2RZT.js → chunk-77MNXX3M.js} +549 -538
- package/dist/{chunk-A27S7HW7.js → chunk-7L43FE6P.js} +24 -3
- package/dist/{chunk-RVJAGE4S.cjs → chunk-ACQ4CUJP.cjs} +297 -265
- package/dist/{chunk-IBVM4DMJ.cjs → chunk-BGWGVINJ.cjs} +332 -321
- package/dist/{chunk-KFTCU2P6.js → chunk-C6KUWLQC.js} +0 -3
- package/dist/{chunk-CXDHOMHG.js → chunk-CEH7ESNC.js} +549 -538
- package/dist/{chunk-ZBKE2QRQ.js → chunk-E6P74GDT.js} +686 -599
- package/dist/{chunk-FUFTMAQD.cjs → chunk-FPISPJ5N.cjs} +785 -497
- package/dist/{chunk-7IVGHMKJ.cjs → chunk-FZDIEHQL.cjs} +300 -124
- package/dist/{chunk-ZSPO2GF2.cjs → chunk-GLBQDG4L.cjs} +971 -884
- package/dist/chunk-HDWJ2GDE.js +24 -0
- package/dist/{chunk-4YJANAXU.cjs → chunk-JGG7CMSZ.cjs} +469 -434
- package/dist/{chunk-IV2H5CFI.cjs → chunk-JTVCOMBI.cjs} +298 -266
- package/dist/chunk-KNDYS3DK.cjs +24 -0
- package/dist/{chunk-BPNL5YFQ.cjs → chunk-KZCYQ7ED.cjs} +5 -5
- package/dist/{chunk-U2B3B42P.js → chunk-MC7W6PMI.js} +709 -421
- package/dist/{chunk-MFAP7R6L.js → chunk-MRJWLGYH.js} +1 -1
- package/dist/{chunk-RWQ43Z4F.cjs → chunk-MZ7VU52O.cjs} +0 -3
- package/dist/{chunk-TMNGRIPL.js → chunk-N2KBF5Q2.js} +285 -109
- package/dist/{chunk-IV2HRJVT.js → chunk-PZBPH2D7.js} +274 -242
- package/dist/{chunk-FWISIR26.cjs → chunk-RUPCJTC3.cjs} +24 -3
- package/dist/{chunk-G26SJ6XS.cjs → chunk-S74DWJE2.cjs} +1001 -925
- package/dist/{chunk-NUX5BHWO.js → chunk-U3IPZYPX.js} +1113 -1037
- package/dist/{chunk-HSVYF6XX.cjs → chunk-VJUUZ4W2.cjs} +1106 -996
- package/dist/{chunk-ST24APEO.js → chunk-XSNX2IUJ.js} +574 -539
- package/dist/{chunk-K4OLITS2.cjs → chunk-YIG2C3LF.cjs} +295 -249
- package/dist/{drafts/draft15/codec.d.ts → codec-B2cH-f5V.d.cts} +11 -10
- package/dist/codec-B5K73Bdj.d.ts +30 -0
- package/dist/{codec-C_HMXNK_.d.ts → codec-BFeliJFc.d.ts} +4 -10
- package/dist/codec-BUMjz0J4.d.cts +30 -0
- package/dist/{codec-D0x8-SCw.d.cts → codec-Bap882Fh.d.cts} +3 -9
- package/dist/codec-BdVMRMOI.d.ts +34 -0
- package/dist/codec-Bq-tLtfP.d.ts +30 -0
- package/dist/codec-BwFgpeQu.d.ts +23 -0
- package/dist/{codec-95k8CAu5.d.cts → codec-C4n1PS09.d.cts} +3 -9
- package/dist/{codec-BECYPfY8.d.ts → codec-CPlK3Pi5.d.ts} +3 -9
- package/dist/{drafts/draft08/codec.d.ts → codec-CPvPq0sb.d.cts} +11 -9
- package/dist/codec-DNUIgLqc.d.cts +23 -0
- package/dist/codec-DRcsBCsb.d.ts +23 -0
- package/dist/{codec-CAevkgf5.d.cts → codec-DY4QH364.d.cts} +4 -10
- package/dist/codec-DZhZSIii.d.cts +30 -0
- package/dist/{drafts/draft14/codec.d.ts → codec-FvGCxIhr.d.ts} +11 -10
- package/dist/codec-HgBgHkFI.d.cts +23 -0
- package/dist/codec-KXHvXZVb.d.cts +35 -0
- package/dist/{codec-BC5jfvMb.d.ts → codec-R8GrCPt2.d.ts} +3 -9
- package/dist/{codec-BsPU1vNC.d.ts → codec-SKBeHQk7.d.ts} +3 -11
- package/dist/draft10-session.d.cts +1 -1
- package/dist/draft10-session.d.ts +1 -1
- package/dist/draft10.cjs +4 -3
- package/dist/draft10.d.cts +15 -5
- package/dist/draft10.d.ts +15 -5
- package/dist/draft10.js +3 -2
- package/dist/draft11-session.d.cts +1 -1
- package/dist/draft11-session.d.ts +1 -1
- package/dist/draft11.cjs +4 -3
- package/dist/draft11.d.cts +13 -5
- package/dist/draft11.d.ts +13 -5
- package/dist/draft11.js +3 -2
- package/dist/draft12-session.d.cts +1 -1
- package/dist/draft12-session.d.ts +1 -1
- package/dist/draft12.cjs +4 -3
- package/dist/draft12.d.cts +13 -5
- package/dist/draft12.d.ts +13 -5
- package/dist/draft12.js +3 -2
- package/dist/draft13-session.d.cts +1 -1
- package/dist/draft13-session.d.ts +1 -1
- package/dist/draft13.cjs +4 -3
- package/dist/draft13.d.cts +13 -5
- package/dist/draft13.d.ts +13 -5
- package/dist/draft13.js +3 -2
- package/dist/draft14-session.d.cts +1 -1
- package/dist/draft14-session.d.ts +1 -1
- package/dist/draft14.cjs +4 -3
- package/dist/draft14.d.cts +59 -5
- package/dist/draft14.d.ts +59 -5
- package/dist/draft14.js +3 -2
- package/dist/draft15-session.d.cts +1 -1
- package/dist/draft15-session.d.ts +1 -1
- package/dist/draft15.cjs +4 -3
- package/dist/draft15.d.cts +48 -5
- package/dist/draft15.d.ts +48 -5
- package/dist/draft15.js +3 -2
- package/dist/draft16-session.d.cts +1 -1
- package/dist/draft16-session.d.ts +1 -1
- package/dist/draft16.cjs +4 -3
- package/dist/draft16.d.cts +37 -5
- package/dist/draft16.d.ts +37 -5
- package/dist/draft16.js +3 -2
- package/dist/draft17-session.d.cts +1 -1
- package/dist/draft17-session.d.ts +1 -1
- package/dist/draft17.cjs +4 -3
- package/dist/draft17.d.cts +16 -5
- package/dist/draft17.d.ts +16 -5
- package/dist/draft17.js +3 -2
- package/dist/draft7-session.cjs +3 -3
- package/dist/draft7-session.js +2 -2
- package/dist/draft7.cjs +18 -6
- package/dist/draft7.d.cts +84 -8
- package/dist/draft7.d.ts +84 -8
- package/dist/draft7.js +15 -3
- package/dist/draft8-session.d.cts +1 -1
- package/dist/draft8-session.d.ts +1 -1
- package/dist/draft8.cjs +4 -3
- package/dist/draft8.d.cts +15 -5
- package/dist/draft8.d.ts +15 -5
- package/dist/draft8.js +3 -2
- package/dist/draft9-session.d.cts +1 -1
- package/dist/draft9-session.d.ts +1 -1
- package/dist/draft9.cjs +4 -3
- package/dist/draft9.d.cts +15 -5
- package/dist/draft9.d.ts +15 -5
- package/dist/draft9.js +3 -2
- package/dist/index.cjs +25 -24
- package/dist/index.d.cts +20 -20
- package/dist/index.d.ts +38 -46
- package/dist/index.js +111 -93
- package/dist/session.cjs +3 -3
- package/dist/session.d.ts +8 -4
- package/dist/session.js +26 -32
- package/dist/{types-ERexTpT8.d.cts → types-8gUGeMgs.d.cts} +4 -1
- package/dist/{types-ERexTpT8.d.ts → types-8gUGeMgs.d.ts} +4 -1
- package/dist/{types-Cw4WE9dh.d.ts → types-B0FT5Qs2.d.cts} +9 -1
- package/dist/{types-Cw4WE9dh.d.cts → types-B0FT5Qs2.d.ts} +9 -1
- package/dist/{types-DqCDFqgB.d.cts → types-B9A2g05r.d.cts} +4 -1
- package/dist/{types-DqCDFqgB.d.ts → types-B9A2g05r.d.ts} +4 -1
- package/dist/{types-Bg6QYNVt.d.cts → types-BeAVNU-F.d.cts} +7 -2
- package/dist/{types-Bg6QYNVt.d.ts → types-BeAVNU-F.d.ts} +7 -2
- package/dist/{types-C_1HrqBl.d.ts → types-CDa7F5ct.d.cts} +7 -2
- package/dist/{types-C_1HrqBl.d.cts → types-CDa7F5ct.d.ts} +7 -2
- package/dist/{types-r-CasCf1.d.cts → types-D1dI_oTX.d.cts} +8 -1
- package/dist/{types-r-CasCf1.d.ts → types-D1dI_oTX.d.ts} +8 -1
- package/dist/{types-BTFeKYCb.d.ts → types-DKpsfD3i.d.cts} +19 -4
- package/dist/{types-BTFeKYCb.d.cts → types-DKpsfD3i.d.ts} +19 -4
- package/dist/{types-4VxSL2Ho.d.ts → types-DxSFvL2b.d.cts} +7 -1
- package/dist/{types-4VxSL2Ho.d.cts → types-DxSFvL2b.d.ts} +7 -1
- package/dist/{types-B2afJZM-.d.ts → types-Pme7sua0.d.cts} +4 -1
- package/dist/{types-B2afJZM-.d.cts → types-Pme7sua0.d.ts} +4 -1
- package/dist/{types-D5gNQiDj.d.ts → types-gQsr0AAA.d.cts} +9 -1
- package/dist/{types-D5gNQiDj.d.cts → types-gQsr0AAA.d.ts} +9 -1
- package/package.json +192 -192
- package/src/core/buffer-reader.ts +130 -114
- package/src/core/buffer-writer.ts +100 -91
- package/src/core/hex.ts +7 -3
- package/src/drafts/draft07/codec.ts +14 -9
- package/src/drafts/draft07/data-streams.ts +240 -240
- package/src/drafts/draft07/varint.ts +51 -23
- package/src/drafts/draft08/codec.ts +19 -10
- package/src/drafts/draft08/data-streams.ts +359 -359
- package/src/drafts/draft09/codec.ts +19 -10
- package/src/drafts/draft09/data-streams.ts +332 -332
- package/src/drafts/draft10/codec.ts +19 -10
- package/src/drafts/draft10/data-streams.ts +332 -332
- package/src/drafts/draft11/codec.ts +19 -10
- package/src/drafts/draft11/data-streams.ts +269 -269
- package/src/drafts/draft12/codec.ts +19 -10
- package/src/drafts/draft12/data-streams.ts +275 -275
- package/src/drafts/draft13/codec.ts +19 -10
- package/src/drafts/draft13/data-streams.ts +275 -275
- package/src/drafts/draft14/codec.ts +19 -10
- package/src/drafts/draft14/data-streams.ts +813 -798
- package/src/drafts/draft15/codec.ts +21 -12
- package/src/drafts/draft15/data-streams.ts +794 -778
- package/src/drafts/draft16/codec.ts +21 -12
- package/src/drafts/draft16/data-streams.ts +789 -773
- package/src/drafts/draft17/codec.ts +21 -12
- package/src/drafts/draft17/data-streams.ts +758 -742
- package/dist/codec-AFuOxfsO.d.ts +0 -60
- package/dist/codec-B-UJ5Iow.d.cts +0 -75
- package/dist/codec-BvpuF-6u.d.cts +0 -39
- package/dist/codec-C8jZI5Cx.d.cts +0 -39
- package/dist/codec-CSUqCrRs.d.ts +0 -39
- package/dist/codec-CpuvYTSV.d.cts +0 -86
- package/dist/codec-D7ARhpG1.d.ts +0 -75
- package/dist/codec-DNAUGshO.d.cts +0 -60
- package/dist/codec-DPx_QNn0.d.ts +0 -31
- package/dist/codec-DRhCx_hw.d.ts +0 -86
- package/dist/codec-Db7YPe3l.d.ts +0 -31
- package/dist/codec-axkJpb7D.d.cts +0 -31
- package/dist/codec-ujAbFaep.d.cts +0 -31
- package/dist/core/buffer-reader.d.ts +0 -15
- package/dist/core/buffer-reader.d.ts.map +0 -1
- package/dist/core/buffer-reader.js +0 -98
- package/dist/core/buffer-reader.js.map +0 -1
- package/dist/core/buffer-writer.d.ts +0 -16
- package/dist/core/buffer-writer.d.ts.map +0 -1
- package/dist/core/buffer-writer.js +0 -86
- package/dist/core/buffer-writer.js.map +0 -1
- package/dist/core/errors.d.ts +0 -2
- package/dist/core/errors.d.ts.map +0 -1
- package/dist/core/errors.js +0 -2
- package/dist/core/errors.js.map +0 -1
- package/dist/core/hex.d.ts +0 -5
- package/dist/core/hex.d.ts.map +0 -1
- package/dist/core/hex.js +0 -17
- package/dist/core/hex.js.map +0 -1
- package/dist/core/session-types.d.ts +0 -99
- package/dist/core/session-types.d.ts.map +0 -1
- package/dist/core/session-types.js +0 -2
- package/dist/core/session-types.js.map +0 -1
- package/dist/core/types.d.ts +0 -235
- package/dist/core/types.d.ts.map +0 -1
- package/dist/core/types.js +0 -11
- package/dist/core/types.js.map +0 -1
- package/dist/drafts/draft07/announce-fsm.d.ts +0 -2
- package/dist/drafts/draft07/announce-fsm.d.ts.map +0 -1
- package/dist/drafts/draft07/announce-fsm.js +0 -2
- package/dist/drafts/draft07/announce-fsm.js.map +0 -1
- package/dist/drafts/draft07/codec.d.ts +0 -17
- package/dist/drafts/draft07/codec.d.ts.map +0 -1
- package/dist/drafts/draft07/codec.js +0 -722
- package/dist/drafts/draft07/codec.js.map +0 -1
- package/dist/drafts/draft07/data-streams.d.ts +0 -9
- package/dist/drafts/draft07/data-streams.d.ts.map +0 -1
- package/dist/drafts/draft07/data-streams.js +0 -228
- package/dist/drafts/draft07/data-streams.js.map +0 -1
- package/dist/drafts/draft07/index.d.ts +0 -14
- package/dist/drafts/draft07/index.d.ts.map +0 -1
- package/dist/drafts/draft07/index.js +0 -18
- package/dist/drafts/draft07/index.js.map +0 -1
- package/dist/drafts/draft07/messages.d.ts +0 -32
- package/dist/drafts/draft07/messages.d.ts.map +0 -1
- package/dist/drafts/draft07/messages.js +0 -42
- package/dist/drafts/draft07/messages.js.map +0 -1
- package/dist/drafts/draft07/parameters.d.ts +0 -4
- package/dist/drafts/draft07/parameters.d.ts.map +0 -1
- package/dist/drafts/draft07/parameters.js +0 -10
- package/dist/drafts/draft07/parameters.js.map +0 -1
- package/dist/drafts/draft07/rules.d.ts +0 -8
- package/dist/drafts/draft07/rules.d.ts.map +0 -1
- package/dist/drafts/draft07/rules.js +0 -95
- package/dist/drafts/draft07/rules.js.map +0 -1
- package/dist/drafts/draft07/session-fsm.d.ts +0 -38
- package/dist/drafts/draft07/session-fsm.d.ts.map +0 -1
- package/dist/drafts/draft07/session-fsm.js +0 -354
- package/dist/drafts/draft07/session-fsm.js.map +0 -1
- package/dist/drafts/draft07/session.d.ts +0 -4
- package/dist/drafts/draft07/session.d.ts.map +0 -1
- package/dist/drafts/draft07/session.js +0 -5
- package/dist/drafts/draft07/session.js.map +0 -1
- package/dist/drafts/draft07/subscription-fsm.d.ts +0 -2
- package/dist/drafts/draft07/subscription-fsm.d.ts.map +0 -1
- package/dist/drafts/draft07/subscription-fsm.js +0 -2
- package/dist/drafts/draft07/subscription-fsm.js.map +0 -1
- package/dist/drafts/draft07/types.d.ts +0 -61
- package/dist/drafts/draft07/types.d.ts.map +0 -1
- package/dist/drafts/draft07/types.js +0 -4
- package/dist/drafts/draft07/types.js.map +0 -1
- package/dist/drafts/draft07/varint.d.ts +0 -4
- package/dist/drafts/draft07/varint.d.ts.map +0 -1
- package/dist/drafts/draft07/varint.js +0 -22
- package/dist/drafts/draft07/varint.js.map +0 -1
- package/dist/drafts/draft08/codec.d.ts.map +0 -1
- package/dist/drafts/draft08/codec.js +0 -729
- package/dist/drafts/draft08/codec.js.map +0 -1
- package/dist/drafts/draft08/data-streams.d.ts +0 -12
- package/dist/drafts/draft08/data-streams.d.ts.map +0 -1
- package/dist/drafts/draft08/data-streams.js +0 -345
- package/dist/drafts/draft08/data-streams.js.map +0 -1
- package/dist/drafts/draft08/index.d.ts +0 -9
- package/dist/drafts/draft08/index.d.ts.map +0 -1
- package/dist/drafts/draft08/index.js +0 -7
- package/dist/drafts/draft08/index.js.map +0 -1
- package/dist/drafts/draft08/messages.d.ts +0 -34
- package/dist/drafts/draft08/messages.d.ts.map +0 -1
- package/dist/drafts/draft08/messages.js +0 -66
- package/dist/drafts/draft08/messages.js.map +0 -1
- package/dist/drafts/draft08/rules.d.ts +0 -8
- package/dist/drafts/draft08/rules.d.ts.map +0 -1
- package/dist/drafts/draft08/rules.js +0 -83
- package/dist/drafts/draft08/rules.js.map +0 -1
- package/dist/drafts/draft08/session-fsm.d.ts +0 -47
- package/dist/drafts/draft08/session-fsm.d.ts.map +0 -1
- package/dist/drafts/draft08/session-fsm.js +0 -483
- package/dist/drafts/draft08/session-fsm.js.map +0 -1
- package/dist/drafts/draft08/session.d.ts +0 -5
- package/dist/drafts/draft08/session.d.ts.map +0 -1
- package/dist/drafts/draft08/session.js +0 -5
- package/dist/drafts/draft08/session.js.map +0 -1
- package/dist/drafts/draft08/types.d.ts +0 -268
- package/dist/drafts/draft08/types.d.ts.map +0 -1
- package/dist/drafts/draft08/types.js +0 -4
- package/dist/drafts/draft08/types.js.map +0 -1
- package/dist/drafts/draft09/codec.d.ts +0 -21
- package/dist/drafts/draft09/codec.d.ts.map +0 -1
- package/dist/drafts/draft09/codec.js +0 -721
- package/dist/drafts/draft09/codec.js.map +0 -1
- package/dist/drafts/draft09/data-streams.d.ts +0 -12
- package/dist/drafts/draft09/data-streams.d.ts.map +0 -1
- package/dist/drafts/draft09/data-streams.js +0 -307
- package/dist/drafts/draft09/data-streams.js.map +0 -1
- package/dist/drafts/draft09/index.d.ts +0 -9
- package/dist/drafts/draft09/index.d.ts.map +0 -1
- package/dist/drafts/draft09/index.js +0 -7
- package/dist/drafts/draft09/index.js.map +0 -1
- package/dist/drafts/draft09/messages.d.ts +0 -34
- package/dist/drafts/draft09/messages.d.ts.map +0 -1
- package/dist/drafts/draft09/messages.js +0 -66
- package/dist/drafts/draft09/messages.js.map +0 -1
- package/dist/drafts/draft09/rules.d.ts +0 -8
- package/dist/drafts/draft09/rules.d.ts.map +0 -1
- package/dist/drafts/draft09/rules.js +0 -83
- package/dist/drafts/draft09/rules.js.map +0 -1
- package/dist/drafts/draft09/session-fsm.d.ts +0 -47
- package/dist/drafts/draft09/session-fsm.d.ts.map +0 -1
- package/dist/drafts/draft09/session-fsm.js +0 -483
- package/dist/drafts/draft09/session-fsm.js.map +0 -1
- package/dist/drafts/draft09/session.d.ts +0 -5
- package/dist/drafts/draft09/session.d.ts.map +0 -1
- package/dist/drafts/draft09/session.js +0 -5
- package/dist/drafts/draft09/session.js.map +0 -1
- package/dist/drafts/draft09/types.d.ts +0 -268
- package/dist/drafts/draft09/types.d.ts.map +0 -1
- package/dist/drafts/draft09/types.js +0 -4
- package/dist/drafts/draft09/types.js.map +0 -1
- package/dist/drafts/draft10/codec.d.ts +0 -21
- package/dist/drafts/draft10/codec.d.ts.map +0 -1
- package/dist/drafts/draft10/codec.js +0 -721
- package/dist/drafts/draft10/codec.js.map +0 -1
- package/dist/drafts/draft10/data-streams.d.ts +0 -12
- package/dist/drafts/draft10/data-streams.d.ts.map +0 -1
- package/dist/drafts/draft10/data-streams.js +0 -307
- package/dist/drafts/draft10/data-streams.js.map +0 -1
- package/dist/drafts/draft10/index.d.ts +0 -9
- package/dist/drafts/draft10/index.d.ts.map +0 -1
- package/dist/drafts/draft10/index.js +0 -7
- package/dist/drafts/draft10/index.js.map +0 -1
- package/dist/drafts/draft10/messages.d.ts +0 -34
- package/dist/drafts/draft10/messages.d.ts.map +0 -1
- package/dist/drafts/draft10/messages.js +0 -66
- package/dist/drafts/draft10/messages.js.map +0 -1
- package/dist/drafts/draft10/rules.d.ts +0 -8
- package/dist/drafts/draft10/rules.d.ts.map +0 -1
- package/dist/drafts/draft10/rules.js +0 -83
- package/dist/drafts/draft10/rules.js.map +0 -1
- package/dist/drafts/draft10/session-fsm.d.ts +0 -47
- package/dist/drafts/draft10/session-fsm.d.ts.map +0 -1
- package/dist/drafts/draft10/session-fsm.js +0 -483
- package/dist/drafts/draft10/session-fsm.js.map +0 -1
- package/dist/drafts/draft10/session.d.ts +0 -5
- package/dist/drafts/draft10/session.d.ts.map +0 -1
- package/dist/drafts/draft10/session.js +0 -5
- package/dist/drafts/draft10/session.js.map +0 -1
- package/dist/drafts/draft10/types.d.ts +0 -268
- package/dist/drafts/draft10/types.d.ts.map +0 -1
- package/dist/drafts/draft10/types.js +0 -4
- package/dist/drafts/draft10/types.js.map +0 -1
- package/dist/drafts/draft11/codec.d.ts +0 -25
- package/dist/drafts/draft11/codec.d.ts.map +0 -1
- package/dist/drafts/draft11/codec.js +0 -775
- package/dist/drafts/draft11/codec.js.map +0 -1
- package/dist/drafts/draft11/data-streams.d.ts +0 -10
- package/dist/drafts/draft11/data-streams.d.ts.map +0 -1
- package/dist/drafts/draft11/data-streams.js +0 -253
- package/dist/drafts/draft11/data-streams.js.map +0 -1
- package/dist/drafts/draft11/index.d.ts +0 -9
- package/dist/drafts/draft11/index.d.ts.map +0 -1
- package/dist/drafts/draft11/index.js +0 -7
- package/dist/drafts/draft11/index.js.map +0 -1
- package/dist/drafts/draft11/messages.d.ts +0 -33
- package/dist/drafts/draft11/messages.d.ts.map +0 -1
- package/dist/drafts/draft11/messages.js +0 -65
- package/dist/drafts/draft11/messages.js.map +0 -1
- package/dist/drafts/draft11/rules.d.ts +0 -8
- package/dist/drafts/draft11/rules.d.ts.map +0 -1
- package/dist/drafts/draft11/rules.js +0 -88
- package/dist/drafts/draft11/rules.js.map +0 -1
- package/dist/drafts/draft11/session-fsm.d.ts +0 -52
- package/dist/drafts/draft11/session-fsm.d.ts.map +0 -1
- package/dist/drafts/draft11/session-fsm.js +0 -530
- package/dist/drafts/draft11/session-fsm.js.map +0 -1
- package/dist/drafts/draft11/session.d.ts +0 -5
- package/dist/drafts/draft11/session.d.ts.map +0 -1
- package/dist/drafts/draft11/session.js +0 -5
- package/dist/drafts/draft11/session.js.map +0 -1
- package/dist/drafts/draft11/types.d.ts +0 -266
- package/dist/drafts/draft11/types.d.ts.map +0 -1
- package/dist/drafts/draft11/types.js +0 -4
- package/dist/drafts/draft11/types.js.map +0 -1
- package/dist/drafts/draft12/codec.d.ts +0 -27
- package/dist/drafts/draft12/codec.d.ts.map +0 -1
- package/dist/drafts/draft12/codec.js +0 -918
- package/dist/drafts/draft12/codec.js.map +0 -1
- package/dist/drafts/draft12/data-streams.d.ts +0 -10
- package/dist/drafts/draft12/data-streams.d.ts.map +0 -1
- package/dist/drafts/draft12/data-streams.js +0 -254
- package/dist/drafts/draft12/data-streams.js.map +0 -1
- package/dist/drafts/draft12/index.d.ts +0 -9
- package/dist/drafts/draft12/index.d.ts.map +0 -1
- package/dist/drafts/draft12/index.js +0 -7
- package/dist/drafts/draft12/index.js.map +0 -1
- package/dist/drafts/draft12/messages.d.ts +0 -37
- package/dist/drafts/draft12/messages.d.ts.map +0 -1
- package/dist/drafts/draft12/messages.js +0 -77
- package/dist/drafts/draft12/messages.js.map +0 -1
- package/dist/drafts/draft12/rules.d.ts +0 -8
- package/dist/drafts/draft12/rules.d.ts.map +0 -1
- package/dist/drafts/draft12/rules.js +0 -94
- package/dist/drafts/draft12/rules.js.map +0 -1
- package/dist/drafts/draft12/session-fsm.d.ts +0 -55
- package/dist/drafts/draft12/session-fsm.d.ts.map +0 -1
- package/dist/drafts/draft12/session-fsm.js +0 -569
- package/dist/drafts/draft12/session-fsm.js.map +0 -1
- package/dist/drafts/draft12/session.d.ts +0 -5
- package/dist/drafts/draft12/session.d.ts.map +0 -1
- package/dist/drafts/draft12/session.js +0 -5
- package/dist/drafts/draft12/session.js.map +0 -1
- package/dist/drafts/draft12/types.d.ts +0 -294
- package/dist/drafts/draft12/types.d.ts.map +0 -1
- package/dist/drafts/draft12/types.js +0 -4
- package/dist/drafts/draft12/types.js.map +0 -1
- package/dist/drafts/draft13/codec.d.ts +0 -27
- package/dist/drafts/draft13/codec.d.ts.map +0 -1
- package/dist/drafts/draft13/codec.js +0 -1000
- package/dist/drafts/draft13/codec.js.map +0 -1
- package/dist/drafts/draft13/data-streams.d.ts +0 -10
- package/dist/drafts/draft13/data-streams.d.ts.map +0 -1
- package/dist/drafts/draft13/data-streams.js +0 -254
- package/dist/drafts/draft13/data-streams.js.map +0 -1
- package/dist/drafts/draft13/index.d.ts +0 -9
- package/dist/drafts/draft13/index.d.ts.map +0 -1
- package/dist/drafts/draft13/index.js +0 -7
- package/dist/drafts/draft13/index.js.map +0 -1
- package/dist/drafts/draft13/messages.d.ts +0 -38
- package/dist/drafts/draft13/messages.d.ts.map +0 -1
- package/dist/drafts/draft13/messages.js +0 -79
- package/dist/drafts/draft13/messages.js.map +0 -1
- package/dist/drafts/draft13/rules.d.ts +0 -8
- package/dist/drafts/draft13/rules.d.ts.map +0 -1
- package/dist/drafts/draft13/rules.js +0 -96
- package/dist/drafts/draft13/rules.js.map +0 -1
- package/dist/drafts/draft13/session-fsm.d.ts +0 -56
- package/dist/drafts/draft13/session-fsm.d.ts.map +0 -1
- package/dist/drafts/draft13/session-fsm.js +0 -581
- package/dist/drafts/draft13/session-fsm.js.map +0 -1
- package/dist/drafts/draft13/session.d.ts +0 -5
- package/dist/drafts/draft13/session.d.ts.map +0 -1
- package/dist/drafts/draft13/session.js +0 -5
- package/dist/drafts/draft13/session.js.map +0 -1
- package/dist/drafts/draft13/types.d.ts +0 -310
- package/dist/drafts/draft13/types.d.ts.map +0 -1
- package/dist/drafts/draft13/types.js +0 -4
- package/dist/drafts/draft13/types.js.map +0 -1
- package/dist/drafts/draft14/codec.d.ts.map +0 -1
- package/dist/drafts/draft14/codec.js +0 -752
- package/dist/drafts/draft14/codec.js.map +0 -1
- package/dist/drafts/draft14/data-streams.d.ts +0 -56
- package/dist/drafts/draft14/data-streams.d.ts.map +0 -1
- package/dist/drafts/draft14/data-streams.js +0 -729
- package/dist/drafts/draft14/data-streams.js.map +0 -1
- package/dist/drafts/draft14/index.d.ts +0 -9
- package/dist/drafts/draft14/index.d.ts.map +0 -1
- package/dist/drafts/draft14/index.js +0 -7
- package/dist/drafts/draft14/index.js.map +0 -1
- package/dist/drafts/draft14/messages.d.ts +0 -36
- package/dist/drafts/draft14/messages.d.ts.map +0 -1
- package/dist/drafts/draft14/messages.js +0 -71
- package/dist/drafts/draft14/messages.js.map +0 -1
- package/dist/drafts/draft14/rules.d.ts +0 -8
- package/dist/drafts/draft14/rules.d.ts.map +0 -1
- package/dist/drafts/draft14/rules.js +0 -101
- package/dist/drafts/draft14/rules.js.map +0 -1
- package/dist/drafts/draft14/session-fsm.d.ts +0 -58
- package/dist/drafts/draft14/session-fsm.d.ts.map +0 -1
- package/dist/drafts/draft14/session-fsm.js +0 -648
- package/dist/drafts/draft14/session-fsm.js.map +0 -1
- package/dist/drafts/draft14/session.d.ts +0 -5
- package/dist/drafts/draft14/session.d.ts.map +0 -1
- package/dist/drafts/draft14/session.js +0 -5
- package/dist/drafts/draft14/session.js.map +0 -1
- package/dist/drafts/draft14/types.d.ts +0 -263
- package/dist/drafts/draft14/types.d.ts.map +0 -1
- package/dist/drafts/draft14/types.js +0 -4
- package/dist/drafts/draft14/types.js.map +0 -1
- package/dist/drafts/draft15/codec.d.ts.map +0 -1
- package/dist/drafts/draft15/codec.js +0 -742
- package/dist/drafts/draft15/codec.js.map +0 -1
- package/dist/drafts/draft15/data-streams.d.ts +0 -45
- package/dist/drafts/draft15/data-streams.d.ts.map +0 -1
- package/dist/drafts/draft15/data-streams.js +0 -675
- package/dist/drafts/draft15/data-streams.js.map +0 -1
- package/dist/drafts/draft15/index.d.ts +0 -9
- package/dist/drafts/draft15/index.d.ts.map +0 -1
- package/dist/drafts/draft15/index.js +0 -7
- package/dist/drafts/draft15/index.js.map +0 -1
- package/dist/drafts/draft15/messages.d.ts +0 -31
- package/dist/drafts/draft15/messages.d.ts.map +0 -1
- package/dist/drafts/draft15/messages.js +0 -59
- package/dist/drafts/draft15/messages.js.map +0 -1
- package/dist/drafts/draft15/rules.d.ts +0 -8
- package/dist/drafts/draft15/rules.d.ts.map +0 -1
- package/dist/drafts/draft15/rules.js +0 -83
- package/dist/drafts/draft15/rules.js.map +0 -1
- package/dist/drafts/draft15/session-fsm.d.ts +0 -48
- package/dist/drafts/draft15/session-fsm.d.ts.map +0 -1
- package/dist/drafts/draft15/session-fsm.js +0 -479
- package/dist/drafts/draft15/session-fsm.js.map +0 -1
- package/dist/drafts/draft15/session.d.ts +0 -5
- package/dist/drafts/draft15/session.d.ts.map +0 -1
- package/dist/drafts/draft15/session.js +0 -5
- package/dist/drafts/draft15/session.js.map +0 -1
- package/dist/drafts/draft15/types.d.ts +0 -232
- package/dist/drafts/draft15/types.d.ts.map +0 -1
- package/dist/drafts/draft15/types.js +0 -4
- package/dist/drafts/draft15/types.js.map +0 -1
- package/dist/drafts/draft16/codec.d.ts +0 -29
- package/dist/drafts/draft16/codec.d.ts.map +0 -1
- package/dist/drafts/draft16/codec.js +0 -747
- package/dist/drafts/draft16/codec.js.map +0 -1
- package/dist/drafts/draft16/data-streams.d.ts +0 -34
- package/dist/drafts/draft16/data-streams.d.ts.map +0 -1
- package/dist/drafts/draft16/data-streams.js +0 -667
- package/dist/drafts/draft16/data-streams.js.map +0 -1
- package/dist/drafts/draft16/index.d.ts +0 -9
- package/dist/drafts/draft16/index.d.ts.map +0 -1
- package/dist/drafts/draft16/index.js +0 -7
- package/dist/drafts/draft16/index.js.map +0 -1
- package/dist/drafts/draft16/messages.d.ts +0 -32
- package/dist/drafts/draft16/messages.d.ts.map +0 -1
- package/dist/drafts/draft16/messages.js +0 -62
- package/dist/drafts/draft16/messages.js.map +0 -1
- package/dist/drafts/draft16/rules.d.ts +0 -8
- package/dist/drafts/draft16/rules.d.ts.map +0 -1
- package/dist/drafts/draft16/rules.js +0 -84
- package/dist/drafts/draft16/rules.js.map +0 -1
- package/dist/drafts/draft16/session-fsm.d.ts +0 -48
- package/dist/drafts/draft16/session-fsm.d.ts.map +0 -1
- package/dist/drafts/draft16/session-fsm.js +0 -474
- package/dist/drafts/draft16/session-fsm.js.map +0 -1
- package/dist/drafts/draft16/session.d.ts +0 -5
- package/dist/drafts/draft16/session.d.ts.map +0 -1
- package/dist/drafts/draft16/session.js +0 -5
- package/dist/drafts/draft16/session.js.map +0 -1
- package/dist/drafts/draft16/types.d.ts +0 -238
- package/dist/drafts/draft16/types.d.ts.map +0 -1
- package/dist/drafts/draft16/types.js +0 -4
- package/dist/drafts/draft16/types.js.map +0 -1
- package/dist/drafts/draft17/codec.d.ts +0 -29
- package/dist/drafts/draft17/codec.d.ts.map +0 -1
- package/dist/drafts/draft17/codec.js +0 -799
- package/dist/drafts/draft17/codec.js.map +0 -1
- package/dist/drafts/draft17/data-streams.d.ts +0 -13
- package/dist/drafts/draft17/data-streams.d.ts.map +0 -1
- package/dist/drafts/draft17/data-streams.js +0 -633
- package/dist/drafts/draft17/data-streams.js.map +0 -1
- package/dist/drafts/draft17/index.d.ts +0 -8
- package/dist/drafts/draft17/index.d.ts.map +0 -1
- package/dist/drafts/draft17/index.js +0 -6
- package/dist/drafts/draft17/index.js.map +0 -1
- package/dist/drafts/draft17/messages.d.ts +0 -25
- package/dist/drafts/draft17/messages.d.ts.map +0 -1
- package/dist/drafts/draft17/messages.js +0 -48
- package/dist/drafts/draft17/messages.js.map +0 -1
- package/dist/drafts/draft17/rules.d.ts +0 -8
- package/dist/drafts/draft17/rules.d.ts.map +0 -1
- package/dist/drafts/draft17/rules.js +0 -71
- package/dist/drafts/draft17/rules.js.map +0 -1
- package/dist/drafts/draft17/session-fsm.d.ts +0 -45
- package/dist/drafts/draft17/session-fsm.d.ts.map +0 -1
- package/dist/drafts/draft17/session-fsm.js +0 -328
- package/dist/drafts/draft17/session-fsm.js.map +0 -1
- package/dist/drafts/draft17/session.d.ts +0 -5
- package/dist/drafts/draft17/session.d.ts.map +0 -1
- package/dist/drafts/draft17/session.js +0 -6
- package/dist/drafts/draft17/session.js.map +0 -1
- package/dist/drafts/draft17/types.d.ts +0 -219
- package/dist/drafts/draft17/types.d.ts.map +0 -1
- package/dist/drafts/draft17/types.js +0 -3
- package/dist/drafts/draft17/types.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/session.d.ts.map +0 -1
- package/dist/session.js.map +0 -1
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
import {
|
|
2
|
+
bytesToHex,
|
|
3
|
+
hexToBytes
|
|
4
|
+
} from "./chunk-HDWJ2GDE.js";
|
|
1
5
|
import {
|
|
2
6
|
BufferReader,
|
|
3
7
|
BufferWriter,
|
|
4
8
|
DecodeError
|
|
5
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-7L43FE6P.js";
|
|
6
10
|
|
|
7
11
|
// src/drafts/draft12/messages.ts
|
|
8
12
|
var MSG_SUBSCRIBE_UPDATE = 0x02n;
|
|
@@ -78,21 +82,255 @@ var MESSAGE_ID_MAP = new Map(
|
|
|
78
82
|
[...MESSAGE_TYPE_MAP.entries()].map(([id, name]) => [name, id])
|
|
79
83
|
);
|
|
80
84
|
|
|
81
|
-
// src/drafts/draft12/
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
85
|
+
// src/drafts/draft12/data-streams.ts
|
|
86
|
+
var FETCH_STREAM_TYPE = 0x05n;
|
|
87
|
+
function encodeSubgroupStream(stream) {
|
|
88
|
+
const w = new BufferWriter();
|
|
89
|
+
const typeId = stream.streamTypeId;
|
|
90
|
+
w.writeVarInt(BigInt(typeId));
|
|
91
|
+
const extensionsPresent = (typeId & 1) !== 0;
|
|
92
|
+
const hasSubgroupField = (typeId & 4) !== 0;
|
|
93
|
+
w.writeVarInt(stream.trackAlias);
|
|
94
|
+
w.writeVarInt(stream.groupId);
|
|
95
|
+
if (hasSubgroupField) w.writeVarInt(stream.subgroupId);
|
|
96
|
+
w.writeUint8(stream.publisherPriority);
|
|
97
|
+
for (const obj of stream.objects) {
|
|
98
|
+
w.writeVarInt(obj.objectId);
|
|
99
|
+
if (extensionsPresent) {
|
|
100
|
+
w.writeVarInt(BigInt(obj.extensionData.length));
|
|
101
|
+
if (obj.extensionData.length > 0) w.writeBytes(obj.extensionData);
|
|
102
|
+
}
|
|
103
|
+
w.writeVarInt(obj.payloadLength);
|
|
104
|
+
if (obj.payloadLength === 0) {
|
|
105
|
+
w.writeVarInt(obj.status ?? 0n);
|
|
106
|
+
} else {
|
|
107
|
+
w.writeBytes(obj.payload);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return w.finish();
|
|
111
|
+
}
|
|
112
|
+
function encodeDatagram(dg) {
|
|
113
|
+
const w = new BufferWriter();
|
|
114
|
+
w.writeVarInt(BigInt(dg.streamTypeId));
|
|
115
|
+
w.writeVarInt(dg.trackAlias);
|
|
116
|
+
w.writeVarInt(dg.groupId);
|
|
117
|
+
w.writeVarInt(dg.objectId);
|
|
118
|
+
w.writeUint8(dg.publisherPriority);
|
|
119
|
+
if (dg.streamTypeId === 2) {
|
|
120
|
+
w.writeVarInt(dg.objectStatus ?? 0n);
|
|
121
|
+
} else {
|
|
122
|
+
w.writeBytes(dg.payload);
|
|
86
123
|
}
|
|
87
|
-
return
|
|
124
|
+
return w.finish();
|
|
88
125
|
}
|
|
89
|
-
function
|
|
90
|
-
const
|
|
91
|
-
|
|
92
|
-
|
|
126
|
+
function encodeFetchStream(stream) {
|
|
127
|
+
const w = new BufferWriter();
|
|
128
|
+
w.writeVarInt(FETCH_STREAM_TYPE);
|
|
129
|
+
w.writeVarInt(stream.requestId);
|
|
130
|
+
for (const obj of stream.objects) {
|
|
131
|
+
w.writeVarInt(obj.groupId);
|
|
132
|
+
w.writeVarInt(obj.subgroupId);
|
|
133
|
+
w.writeVarInt(obj.objectId);
|
|
134
|
+
w.writeUint8(obj.publisherPriority);
|
|
135
|
+
w.writeVarInt(BigInt(obj.extensionData.length));
|
|
136
|
+
if (obj.extensionData.length > 0) w.writeBytes(obj.extensionData);
|
|
137
|
+
w.writeVarInt(obj.payloadLength);
|
|
138
|
+
w.writeBytes(obj.payload);
|
|
93
139
|
}
|
|
94
|
-
return
|
|
140
|
+
return w.finish();
|
|
95
141
|
}
|
|
142
|
+
function decodeSubgroupStream(bytes) {
|
|
143
|
+
try {
|
|
144
|
+
const r = new BufferReader(bytes);
|
|
145
|
+
const streamTypeId = Number(r.readVarInt());
|
|
146
|
+
const validRange1 = streamTypeId >= 16 && streamTypeId <= 21;
|
|
147
|
+
const validRange2 = streamTypeId >= 24 && streamTypeId <= 29;
|
|
148
|
+
if (!validRange1 && !validRange2) {
|
|
149
|
+
return {
|
|
150
|
+
ok: false,
|
|
151
|
+
error: new DecodeError(
|
|
152
|
+
"CONSTRAINT_VIOLATION",
|
|
153
|
+
`Expected subgroup type 0x10-0x15 or 0x18-0x1D, got 0x${streamTypeId.toString(16)}`,
|
|
154
|
+
0
|
|
155
|
+
)
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
const extensionsPresent = (streamTypeId & 1) !== 0;
|
|
159
|
+
const hasSubgroupField = (streamTypeId & 4) !== 0;
|
|
160
|
+
const subgroupIsFirstObjId = (streamTypeId & 2) !== 0 && !hasSubgroupField;
|
|
161
|
+
const trackAlias = r.readVarInt();
|
|
162
|
+
const groupId = r.readVarInt();
|
|
163
|
+
let subgroupId = 0n;
|
|
164
|
+
if (hasSubgroupField) subgroupId = r.readVarInt();
|
|
165
|
+
const publisherPriority = r.readUint8();
|
|
166
|
+
const objects = [];
|
|
167
|
+
let firstObject = true;
|
|
168
|
+
while (r.remaining > 0) {
|
|
169
|
+
const byteOffset = r.offset;
|
|
170
|
+
const objectId = r.readVarInt();
|
|
171
|
+
if (subgroupIsFirstObjId && firstObject) {
|
|
172
|
+
subgroupId = objectId;
|
|
173
|
+
}
|
|
174
|
+
firstObject = false;
|
|
175
|
+
let extensionData = new Uint8Array(0);
|
|
176
|
+
if (extensionsPresent) {
|
|
177
|
+
const extLen = Number(r.readVarInt());
|
|
178
|
+
extensionData = extLen > 0 ? r.readBytesView(extLen) : new Uint8Array(0);
|
|
179
|
+
}
|
|
180
|
+
const payloadLength = Number(r.readVarInt());
|
|
181
|
+
let payload;
|
|
182
|
+
let status;
|
|
183
|
+
let payloadByteOffset;
|
|
184
|
+
if (payloadLength === 0) {
|
|
185
|
+
status = r.readVarInt();
|
|
186
|
+
payloadByteOffset = r.offset;
|
|
187
|
+
payload = new Uint8Array(0);
|
|
188
|
+
} else {
|
|
189
|
+
payloadByteOffset = r.offset;
|
|
190
|
+
payload = r.readBytesView(payloadLength);
|
|
191
|
+
}
|
|
192
|
+
const obj = { type: "object", byteOffset, payloadByteOffset, objectId, payloadLength, extensionData, payload };
|
|
193
|
+
if (status !== void 0) obj.status = status;
|
|
194
|
+
objects.push(obj);
|
|
195
|
+
}
|
|
196
|
+
return {
|
|
197
|
+
ok: true,
|
|
198
|
+
value: {
|
|
199
|
+
type: "subgroup",
|
|
200
|
+
streamTypeId,
|
|
201
|
+
trackAlias,
|
|
202
|
+
groupId,
|
|
203
|
+
subgroupId,
|
|
204
|
+
publisherPriority,
|
|
205
|
+
objects
|
|
206
|
+
},
|
|
207
|
+
bytesRead: r.offset
|
|
208
|
+
};
|
|
209
|
+
} catch (e) {
|
|
210
|
+
if (e instanceof DecodeError) return { ok: false, error: e };
|
|
211
|
+
throw e;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
function decodeDatagram(bytes) {
|
|
215
|
+
try {
|
|
216
|
+
const r = new BufferReader(bytes);
|
|
217
|
+
const streamTypeId = Number(r.readVarInt());
|
|
218
|
+
if (streamTypeId !== 0 && streamTypeId !== 2) {
|
|
219
|
+
return {
|
|
220
|
+
ok: false,
|
|
221
|
+
error: new DecodeError(
|
|
222
|
+
"CONSTRAINT_VIOLATION",
|
|
223
|
+
`Expected datagram type 0x00 or 0x02, got 0x${streamTypeId.toString(16)}`,
|
|
224
|
+
0
|
|
225
|
+
)
|
|
226
|
+
};
|
|
227
|
+
}
|
|
228
|
+
const trackAlias = r.readVarInt();
|
|
229
|
+
const groupId = r.readVarInt();
|
|
230
|
+
const objectId = r.readVarInt();
|
|
231
|
+
const publisherPriority = r.readUint8();
|
|
232
|
+
let objectStatus;
|
|
233
|
+
let payload;
|
|
234
|
+
if (streamTypeId === 2) {
|
|
235
|
+
objectStatus = r.readVarInt();
|
|
236
|
+
payload = new Uint8Array(0);
|
|
237
|
+
} else {
|
|
238
|
+
payload = r.readBytesView(r.remaining);
|
|
239
|
+
}
|
|
240
|
+
const result = {
|
|
241
|
+
type: "datagram",
|
|
242
|
+
streamTypeId,
|
|
243
|
+
trackAlias,
|
|
244
|
+
groupId,
|
|
245
|
+
objectId,
|
|
246
|
+
publisherPriority,
|
|
247
|
+
payloadLength: payload.byteLength,
|
|
248
|
+
payload
|
|
249
|
+
};
|
|
250
|
+
if (objectStatus !== void 0)
|
|
251
|
+
result.objectStatus = objectStatus;
|
|
252
|
+
return { ok: true, value: result, bytesRead: r.offset };
|
|
253
|
+
} catch (e) {
|
|
254
|
+
if (e instanceof DecodeError) return { ok: false, error: e };
|
|
255
|
+
throw e;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
function decodeFetchStream(bytes) {
|
|
259
|
+
try {
|
|
260
|
+
const r = new BufferReader(bytes);
|
|
261
|
+
const streamType = r.readVarInt();
|
|
262
|
+
if (streamType !== FETCH_STREAM_TYPE) {
|
|
263
|
+
return {
|
|
264
|
+
ok: false,
|
|
265
|
+
error: new DecodeError(
|
|
266
|
+
"CONSTRAINT_VIOLATION",
|
|
267
|
+
`Expected fetch type 0x05, got 0x${streamType.toString(16)}`,
|
|
268
|
+
0
|
|
269
|
+
)
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
const requestId = r.readVarInt();
|
|
273
|
+
const objects = [];
|
|
274
|
+
while (r.remaining > 0) {
|
|
275
|
+
const byteOffset = r.offset;
|
|
276
|
+
const groupId = r.readVarInt();
|
|
277
|
+
const subgroupId = r.readVarInt();
|
|
278
|
+
const objectId = r.readVarInt();
|
|
279
|
+
const publisherPriority = r.readUint8();
|
|
280
|
+
const extensionHeadersLength = r.readVarInt();
|
|
281
|
+
const extensionData = extensionHeadersLength > 0n ? r.readBytesView(Number(extensionHeadersLength)) : new Uint8Array(0);
|
|
282
|
+
const payloadLength = Number(r.readVarInt());
|
|
283
|
+
let payload;
|
|
284
|
+
let objectStatus;
|
|
285
|
+
let payloadByteOffset;
|
|
286
|
+
if (payloadLength === 0) {
|
|
287
|
+
objectStatus = r.readVarInt();
|
|
288
|
+
payloadByteOffset = r.offset;
|
|
289
|
+
payload = new Uint8Array(0);
|
|
290
|
+
} else {
|
|
291
|
+
payloadByteOffset = r.offset;
|
|
292
|
+
payload = r.readBytesView(payloadLength);
|
|
293
|
+
}
|
|
294
|
+
const obj = {
|
|
295
|
+
type: "object",
|
|
296
|
+
byteOffset,
|
|
297
|
+
payloadByteOffset,
|
|
298
|
+
groupId,
|
|
299
|
+
subgroupId,
|
|
300
|
+
objectId,
|
|
301
|
+
publisherPriority,
|
|
302
|
+
extensionData,
|
|
303
|
+
payloadLength,
|
|
304
|
+
payload
|
|
305
|
+
};
|
|
306
|
+
if (objectStatus !== void 0)
|
|
307
|
+
obj.objectStatus = objectStatus;
|
|
308
|
+
objects.push(obj);
|
|
309
|
+
}
|
|
310
|
+
return { ok: true, value: { type: "fetch", requestId, objects }, bytesRead: r.offset };
|
|
311
|
+
} catch (e) {
|
|
312
|
+
if (e instanceof DecodeError) return { ok: false, error: e };
|
|
313
|
+
throw e;
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
function decodeDataStream(streamType, bytes) {
|
|
317
|
+
switch (streamType) {
|
|
318
|
+
case "subgroup":
|
|
319
|
+
return decodeSubgroupStream(bytes);
|
|
320
|
+
case "datagram":
|
|
321
|
+
return decodeDatagram(bytes);
|
|
322
|
+
case "fetch":
|
|
323
|
+
return decodeFetchStream(bytes);
|
|
324
|
+
default: {
|
|
325
|
+
const _ = streamType;
|
|
326
|
+
throw new Error(`Unknown: ${_}`);
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
// src/drafts/draft12/codec.ts
|
|
332
|
+
var textEncoder = /* @__PURE__ */ new TextEncoder();
|
|
333
|
+
var textDecoder = /* @__PURE__ */ new TextDecoder();
|
|
96
334
|
function encodeSetupParams(params, w) {
|
|
97
335
|
let count = 0;
|
|
98
336
|
if (params.path !== void 0) count++;
|
|
@@ -101,7 +339,7 @@ function encodeSetupParams(params, w) {
|
|
|
101
339
|
w.writeVarInt(count);
|
|
102
340
|
if (params.path !== void 0) {
|
|
103
341
|
w.writeVarInt(SETUP_PARAM_PATH);
|
|
104
|
-
const encoded =
|
|
342
|
+
const encoded = textEncoder.encode(params.path);
|
|
105
343
|
w.writeVarInt(encoded.byteLength);
|
|
106
344
|
w.writeBytes(encoded);
|
|
107
345
|
}
|
|
@@ -149,7 +387,7 @@ function decodeSetupParams(r) {
|
|
|
149
387
|
const length = Number(r.readVarInt());
|
|
150
388
|
const bytes = r.readBytes(length);
|
|
151
389
|
if (paramType === SETUP_PARAM_PATH) {
|
|
152
|
-
result.path =
|
|
390
|
+
result.path = textDecoder.decode(bytes);
|
|
153
391
|
} else {
|
|
154
392
|
unknown.push({ id: `0x${paramType.toString(16)}`, length, raw_hex: bytesToHex(bytes) });
|
|
155
393
|
}
|
|
@@ -169,7 +407,7 @@ function encodeParams(params, w) {
|
|
|
169
407
|
const tmpW = new BufferWriter(64);
|
|
170
408
|
tmpW.writeVarInt(at.alias_type);
|
|
171
409
|
tmpW.writeVarInt(at.token_type);
|
|
172
|
-
const tokenBytes =
|
|
410
|
+
const tokenBytes = textEncoder.encode(at.token_value);
|
|
173
411
|
tmpW.writeBytes(tokenBytes);
|
|
174
412
|
const raw = tmpW.finish();
|
|
175
413
|
w.writeVarInt(raw.byteLength);
|
|
@@ -226,7 +464,7 @@ function decodeParams(r) {
|
|
|
226
464
|
result.authorization_token = {
|
|
227
465
|
alias_type,
|
|
228
466
|
token_type,
|
|
229
|
-
token_value:
|
|
467
|
+
token_value: textDecoder.decode(tokenBytes)
|
|
230
468
|
};
|
|
231
469
|
} else if (paramType === PARAM_DELIVERY_TIMEOUT) {
|
|
232
470
|
const blob = r.readBytes(length);
|
|
@@ -791,18 +1029,14 @@ function encodeMessage(message) {
|
|
|
791
1029
|
if (typeId === void 0) throw new Error(`Unknown message type: ${message.type}`);
|
|
792
1030
|
const payloadWriter = new BufferWriter();
|
|
793
1031
|
encodePayload(message, payloadWriter);
|
|
794
|
-
const payload = payloadWriter.
|
|
795
|
-
const writer = new BufferWriter();
|
|
1032
|
+
const payload = payloadWriter.finishView();
|
|
1033
|
+
const writer = new BufferWriter(payload.byteLength + 16);
|
|
796
1034
|
writer.writeVarInt(typeId);
|
|
797
|
-
if (
|
|
798
|
-
|
|
799
|
-
} else {
|
|
800
|
-
if (payload.byteLength > 65535) {
|
|
801
|
-
throw new Error(`Payload too large for 16-bit length: ${payload.byteLength}`);
|
|
802
|
-
}
|
|
803
|
-
writer.writeUint8(payload.byteLength >> 8 & 255);
|
|
804
|
-
writer.writeUint8(payload.byteLength & 255);
|
|
1035
|
+
if (payload.byteLength > 65535) {
|
|
1036
|
+
throw new Error(`Payload too large for 16-bit length: ${payload.byteLength}`);
|
|
805
1037
|
}
|
|
1038
|
+
writer.writeUint8(payload.byteLength >> 8 & 255);
|
|
1039
|
+
writer.writeUint8(payload.byteLength & 255);
|
|
806
1040
|
writer.writeBytes(payload);
|
|
807
1041
|
return writer.finish();
|
|
808
1042
|
}
|
|
@@ -876,14 +1110,9 @@ function decodeMessage(bytes) {
|
|
|
876
1110
|
try {
|
|
877
1111
|
const reader = new BufferReader(bytes);
|
|
878
1112
|
const typeId = reader.readVarInt();
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
} else {
|
|
883
|
-
const lenHi = reader.readUint8();
|
|
884
|
-
const lenLo = reader.readUint8();
|
|
885
|
-
payloadLength = lenHi << 8 | lenLo;
|
|
886
|
-
}
|
|
1113
|
+
const lenHi = reader.readUint8();
|
|
1114
|
+
const lenLo = reader.readUint8();
|
|
1115
|
+
const payloadLength = lenHi << 8 | lenLo;
|
|
887
1116
|
const payloadBytes = reader.readBytes(payloadLength);
|
|
888
1117
|
const payloadReader = new BufferReader(payloadBytes);
|
|
889
1118
|
const decoder = payloadDecoders.get(typeId);
|
|
@@ -904,229 +1133,32 @@ function decodeMessage(bytes) {
|
|
|
904
1133
|
throw e;
|
|
905
1134
|
}
|
|
906
1135
|
}
|
|
907
|
-
var FETCH_STREAM_TYPE = 0x05n;
|
|
908
|
-
function encodeSubgroupStream(stream) {
|
|
909
|
-
const w = new BufferWriter();
|
|
910
|
-
const typeId = stream.streamTypeId;
|
|
911
|
-
w.writeVarInt(BigInt(typeId));
|
|
912
|
-
w.writeVarInt(stream.trackAlias);
|
|
913
|
-
w.writeVarInt(stream.groupId);
|
|
914
|
-
if (typeId === 12) w.writeVarInt(stream.subgroupId);
|
|
915
|
-
w.writeUint8(stream.publisherPriority);
|
|
916
|
-
for (const obj of stream.objects) {
|
|
917
|
-
w.writeVarInt(obj.objectId);
|
|
918
|
-
w.writeVarInt(obj.payloadLength);
|
|
919
|
-
if (obj.payloadLength === 0 && obj.status !== void 0) {
|
|
920
|
-
w.writeVarInt(obj.status);
|
|
921
|
-
} else {
|
|
922
|
-
w.writeBytes(obj.payload);
|
|
923
|
-
}
|
|
924
|
-
}
|
|
925
|
-
return w.finish();
|
|
926
|
-
}
|
|
927
|
-
function encodeDatagram(dg) {
|
|
928
|
-
const w = new BufferWriter();
|
|
929
|
-
w.writeVarInt(BigInt(dg.streamTypeId));
|
|
930
|
-
w.writeVarInt(dg.trackAlias);
|
|
931
|
-
w.writeVarInt(dg.groupId);
|
|
932
|
-
w.writeVarInt(dg.objectId);
|
|
933
|
-
w.writeUint8(dg.publisherPriority);
|
|
934
|
-
if (dg.streamTypeId === 2) {
|
|
935
|
-
w.writeVarInt(dg.objectStatus ?? 0n);
|
|
936
|
-
} else {
|
|
937
|
-
w.writeBytes(dg.payload);
|
|
938
|
-
}
|
|
939
|
-
return w.finish();
|
|
940
|
-
}
|
|
941
|
-
function encodeFetchStream(stream) {
|
|
942
|
-
const w = new BufferWriter();
|
|
943
|
-
w.writeVarInt(FETCH_STREAM_TYPE);
|
|
944
|
-
w.writeVarInt(stream.requestId);
|
|
945
|
-
for (const obj of stream.objects) {
|
|
946
|
-
w.writeVarInt(obj.groupId);
|
|
947
|
-
w.writeVarInt(obj.subgroupId);
|
|
948
|
-
w.writeVarInt(obj.objectId);
|
|
949
|
-
w.writeUint8(obj.publisherPriority);
|
|
950
|
-
w.writeVarInt(obj.extensionHeadersLength);
|
|
951
|
-
w.writeVarInt(obj.payloadLength);
|
|
952
|
-
w.writeBytes(obj.payload);
|
|
953
|
-
}
|
|
954
|
-
return w.finish();
|
|
955
|
-
}
|
|
956
|
-
function decodeSubgroupStream(bytes) {
|
|
957
|
-
try {
|
|
958
|
-
const r = new BufferReader(bytes);
|
|
959
|
-
const streamTypeId = Number(r.readVarInt());
|
|
960
|
-
if (streamTypeId !== 8 && streamTypeId !== 12) {
|
|
961
|
-
return {
|
|
962
|
-
ok: false,
|
|
963
|
-
error: new DecodeError(
|
|
964
|
-
"CONSTRAINT_VIOLATION",
|
|
965
|
-
`Expected subgroup type 0x08 or 0x0C, got 0x${streamTypeId.toString(16)}`,
|
|
966
|
-
0
|
|
967
|
-
)
|
|
968
|
-
};
|
|
969
|
-
}
|
|
970
|
-
const trackAlias = r.readVarInt();
|
|
971
|
-
const groupId = r.readVarInt();
|
|
972
|
-
let subgroupId = 0n;
|
|
973
|
-
if (streamTypeId === 12) subgroupId = r.readVarInt();
|
|
974
|
-
const publisherPriority = r.readUint8();
|
|
975
|
-
const objects = [];
|
|
976
|
-
while (r.remaining > 0) {
|
|
977
|
-
const objectId = r.readVarInt();
|
|
978
|
-
const payloadLength = Number(r.readVarInt());
|
|
979
|
-
let payload;
|
|
980
|
-
let status;
|
|
981
|
-
if (payloadLength === 0) {
|
|
982
|
-
status = r.readVarInt();
|
|
983
|
-
payload = new Uint8Array(0);
|
|
984
|
-
} else {
|
|
985
|
-
payload = r.readBytes(payloadLength);
|
|
986
|
-
}
|
|
987
|
-
const obj = { type: "object", objectId, payloadLength, payload };
|
|
988
|
-
if (status !== void 0) obj.status = status;
|
|
989
|
-
objects.push(obj);
|
|
990
|
-
}
|
|
991
|
-
return {
|
|
992
|
-
ok: true,
|
|
993
|
-
value: {
|
|
994
|
-
type: "subgroup",
|
|
995
|
-
streamTypeId,
|
|
996
|
-
trackAlias,
|
|
997
|
-
groupId,
|
|
998
|
-
subgroupId,
|
|
999
|
-
publisherPriority,
|
|
1000
|
-
objects
|
|
1001
|
-
},
|
|
1002
|
-
bytesRead: r.offset
|
|
1003
|
-
};
|
|
1004
|
-
} catch (e) {
|
|
1005
|
-
if (e instanceof DecodeError) return { ok: false, error: e };
|
|
1006
|
-
throw e;
|
|
1007
|
-
}
|
|
1008
|
-
}
|
|
1009
|
-
function decodeDatagram(bytes) {
|
|
1010
|
-
try {
|
|
1011
|
-
const r = new BufferReader(bytes);
|
|
1012
|
-
const streamTypeId = Number(r.readVarInt());
|
|
1013
|
-
if (streamTypeId !== 0 && streamTypeId !== 2) {
|
|
1014
|
-
return {
|
|
1015
|
-
ok: false,
|
|
1016
|
-
error: new DecodeError(
|
|
1017
|
-
"CONSTRAINT_VIOLATION",
|
|
1018
|
-
`Expected datagram type 0x00 or 0x02, got 0x${streamTypeId.toString(16)}`,
|
|
1019
|
-
0
|
|
1020
|
-
)
|
|
1021
|
-
};
|
|
1022
|
-
}
|
|
1023
|
-
const trackAlias = r.readVarInt();
|
|
1024
|
-
const groupId = r.readVarInt();
|
|
1025
|
-
const objectId = r.readVarInt();
|
|
1026
|
-
const publisherPriority = r.readUint8();
|
|
1027
|
-
let objectStatus;
|
|
1028
|
-
let payload;
|
|
1029
|
-
if (streamTypeId === 2) {
|
|
1030
|
-
objectStatus = r.readVarInt();
|
|
1031
|
-
payload = new Uint8Array(0);
|
|
1032
|
-
} else {
|
|
1033
|
-
payload = r.readBytes(r.remaining);
|
|
1034
|
-
}
|
|
1035
|
-
const result = {
|
|
1036
|
-
type: "datagram",
|
|
1037
|
-
streamTypeId,
|
|
1038
|
-
trackAlias,
|
|
1039
|
-
groupId,
|
|
1040
|
-
objectId,
|
|
1041
|
-
publisherPriority,
|
|
1042
|
-
payloadLength: payload.byteLength,
|
|
1043
|
-
payload
|
|
1044
|
-
};
|
|
1045
|
-
if (objectStatus !== void 0)
|
|
1046
|
-
result.objectStatus = objectStatus;
|
|
1047
|
-
return { ok: true, value: result, bytesRead: r.offset };
|
|
1048
|
-
} catch (e) {
|
|
1049
|
-
if (e instanceof DecodeError) return { ok: false, error: e };
|
|
1050
|
-
throw e;
|
|
1051
|
-
}
|
|
1052
|
-
}
|
|
1053
|
-
function decodeFetchStream(bytes) {
|
|
1054
|
-
try {
|
|
1055
|
-
const r = new BufferReader(bytes);
|
|
1056
|
-
const streamType = r.readVarInt();
|
|
1057
|
-
if (streamType !== FETCH_STREAM_TYPE) {
|
|
1058
|
-
return {
|
|
1059
|
-
ok: false,
|
|
1060
|
-
error: new DecodeError(
|
|
1061
|
-
"CONSTRAINT_VIOLATION",
|
|
1062
|
-
`Expected fetch type 0x05, got 0x${streamType.toString(16)}`,
|
|
1063
|
-
0
|
|
1064
|
-
)
|
|
1065
|
-
};
|
|
1066
|
-
}
|
|
1067
|
-
const requestId = r.readVarInt();
|
|
1068
|
-
const objects = [];
|
|
1069
|
-
while (r.remaining > 0) {
|
|
1070
|
-
const groupId = r.readVarInt();
|
|
1071
|
-
const subgroupId = r.readVarInt();
|
|
1072
|
-
const objectId = r.readVarInt();
|
|
1073
|
-
const publisherPriority = r.readUint8();
|
|
1074
|
-
const extensionHeadersLength = r.readVarInt();
|
|
1075
|
-
if (extensionHeadersLength > 0n) r.readBytes(Number(extensionHeadersLength));
|
|
1076
|
-
const payloadLength = Number(r.readVarInt());
|
|
1077
|
-
const payload = payloadLength > 0 ? r.readBytes(payloadLength) : new Uint8Array(0);
|
|
1078
|
-
objects.push({
|
|
1079
|
-
type: "object",
|
|
1080
|
-
groupId,
|
|
1081
|
-
subgroupId,
|
|
1082
|
-
objectId,
|
|
1083
|
-
publisherPriority,
|
|
1084
|
-
extensionHeadersLength,
|
|
1085
|
-
payloadLength,
|
|
1086
|
-
payload
|
|
1087
|
-
});
|
|
1088
|
-
}
|
|
1089
|
-
return { ok: true, value: { type: "fetch", requestId, objects }, bytesRead: r.offset };
|
|
1090
|
-
} catch (e) {
|
|
1091
|
-
if (e instanceof DecodeError) return { ok: false, error: e };
|
|
1092
|
-
throw e;
|
|
1093
|
-
}
|
|
1094
|
-
}
|
|
1095
|
-
function decodeDataStream(streamType, bytes) {
|
|
1096
|
-
switch (streamType) {
|
|
1097
|
-
case "subgroup":
|
|
1098
|
-
return decodeSubgroupStream(bytes);
|
|
1099
|
-
case "datagram":
|
|
1100
|
-
return decodeDatagram(bytes);
|
|
1101
|
-
case "fetch":
|
|
1102
|
-
return decodeFetchStream(bytes);
|
|
1103
|
-
default: {
|
|
1104
|
-
const _ = streamType;
|
|
1105
|
-
throw new Error(`Unknown: ${_}`);
|
|
1106
|
-
}
|
|
1107
|
-
}
|
|
1108
|
-
}
|
|
1109
1136
|
function createStreamDecoder() {
|
|
1110
1137
|
let buffer = new Uint8Array(0);
|
|
1138
|
+
let offset = 0;
|
|
1111
1139
|
return new TransformStream({
|
|
1112
1140
|
transform(chunk, controller) {
|
|
1141
|
+
if (offset > 0) {
|
|
1142
|
+
buffer = buffer.subarray(offset);
|
|
1143
|
+
offset = 0;
|
|
1144
|
+
}
|
|
1113
1145
|
const newBuffer = new Uint8Array(buffer.length + chunk.length);
|
|
1114
1146
|
newBuffer.set(buffer, 0);
|
|
1115
1147
|
newBuffer.set(chunk, buffer.length);
|
|
1116
1148
|
buffer = newBuffer;
|
|
1117
|
-
while (buffer.length
|
|
1118
|
-
const result = decodeMessage(buffer);
|
|
1149
|
+
while (offset < buffer.length) {
|
|
1150
|
+
const result = decodeMessage(buffer.subarray(offset));
|
|
1119
1151
|
if (!result.ok) {
|
|
1120
1152
|
if (result.error.code === "UNEXPECTED_END") break;
|
|
1121
1153
|
controller.error(result.error);
|
|
1122
1154
|
return;
|
|
1123
1155
|
}
|
|
1124
1156
|
controller.enqueue(result.value);
|
|
1125
|
-
|
|
1157
|
+
offset += result.bytesRead;
|
|
1126
1158
|
}
|
|
1127
1159
|
},
|
|
1128
1160
|
flush(controller) {
|
|
1129
|
-
if (buffer.length
|
|
1161
|
+
if (offset < buffer.length)
|
|
1130
1162
|
controller.error(new DecodeError("UNEXPECTED_END", "Stream ended with incomplete data", 0));
|
|
1131
1163
|
}
|
|
1132
1164
|
});
|
|
@@ -1184,8 +1216,6 @@ export {
|
|
|
1184
1216
|
VARINT_FRAMED_MESSAGES,
|
|
1185
1217
|
MESSAGE_TYPE_MAP,
|
|
1186
1218
|
MESSAGE_ID_MAP,
|
|
1187
|
-
encodeMessage,
|
|
1188
|
-
decodeMessage,
|
|
1189
1219
|
encodeSubgroupStream,
|
|
1190
1220
|
encodeDatagram,
|
|
1191
1221
|
encodeFetchStream,
|
|
@@ -1193,6 +1223,8 @@ export {
|
|
|
1193
1223
|
decodeDatagram,
|
|
1194
1224
|
decodeFetchStream,
|
|
1195
1225
|
decodeDataStream,
|
|
1226
|
+
encodeMessage,
|
|
1227
|
+
decodeMessage,
|
|
1196
1228
|
createStreamDecoder,
|
|
1197
1229
|
createDraft12Codec
|
|
1198
1230
|
};
|
|
@@ -11,6 +11,7 @@ var DecodeError = class extends Error {
|
|
|
11
11
|
};
|
|
12
12
|
|
|
13
13
|
// src/core/buffer-reader.ts
|
|
14
|
+
var textDecoder = /* @__PURE__ */ new TextDecoder();
|
|
14
15
|
var BufferReader = class {
|
|
15
16
|
constructor(buffer, offset = 0) {
|
|
16
17
|
this.buffer = buffer;
|
|
@@ -45,6 +46,19 @@ var BufferReader = class {
|
|
|
45
46
|
this.pos += length;
|
|
46
47
|
return slice;
|
|
47
48
|
}
|
|
49
|
+
/** Zero-copy read: returns a view into the underlying buffer. */
|
|
50
|
+
readBytesView(length) {
|
|
51
|
+
if (this.remaining < length) {
|
|
52
|
+
throw new DecodeError(
|
|
53
|
+
"UNEXPECTED_END",
|
|
54
|
+
`Not enough bytes: need ${length}, have ${this.remaining}`,
|
|
55
|
+
this.pos
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
const view = this.buffer.subarray(this.pos, this.pos + length);
|
|
59
|
+
this.pos += length;
|
|
60
|
+
return view;
|
|
61
|
+
}
|
|
48
62
|
readVarInt() {
|
|
49
63
|
if (this.remaining < 1) {
|
|
50
64
|
throw new DecodeError("UNEXPECTED_END", "Not enough bytes for varint", this.pos);
|
|
@@ -87,8 +101,8 @@ var BufferReader = class {
|
|
|
87
101
|
}
|
|
88
102
|
readString() {
|
|
89
103
|
const length = Number(this.readVarInt());
|
|
90
|
-
const bytes = this.
|
|
91
|
-
return
|
|
104
|
+
const bytes = this.readBytesView(length);
|
|
105
|
+
return textDecoder.decode(bytes);
|
|
92
106
|
}
|
|
93
107
|
readTuple() {
|
|
94
108
|
const count = Number(this.readVarInt());
|
|
@@ -112,6 +126,7 @@ var BufferReader = class {
|
|
|
112
126
|
};
|
|
113
127
|
|
|
114
128
|
// src/core/buffer-writer.ts
|
|
129
|
+
var textEncoder = /* @__PURE__ */ new TextEncoder();
|
|
115
130
|
var BufferWriter = class {
|
|
116
131
|
|
|
117
132
|
|
|
@@ -168,7 +183,7 @@ var BufferWriter = class {
|
|
|
168
183
|
}
|
|
169
184
|
}
|
|
170
185
|
writeString(str) {
|
|
171
|
-
const encoded =
|
|
186
|
+
const encoded = textEncoder.encode(str);
|
|
172
187
|
this.writeVarInt(encoded.byteLength);
|
|
173
188
|
this.writeBytes(encoded);
|
|
174
189
|
}
|
|
@@ -186,9 +201,15 @@ var BufferWriter = class {
|
|
|
186
201
|
this.writeBytes(value);
|
|
187
202
|
}
|
|
188
203
|
}
|
|
204
|
+
/** Returns an owned copy of the written bytes. */
|
|
189
205
|
finish() {
|
|
206
|
+
if (this.pos === this.buffer.byteLength) return this.buffer;
|
|
190
207
|
return this.buffer.slice(0, this.pos);
|
|
191
208
|
}
|
|
209
|
+
/** Returns a zero-copy view of the written bytes. Valid only until the next write. */
|
|
210
|
+
finishView() {
|
|
211
|
+
return this.buffer.subarray(0, this.pos);
|
|
212
|
+
}
|
|
192
213
|
};
|
|
193
214
|
|
|
194
215
|
|