@highstate/designer 0.9.16 → 0.9.18
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/.output/nitro.json +15 -0
- package/.output/public/_nuxt/0A0GXgOL.js +13 -0
- package/.output/public/_nuxt/1DNp92w6.js +1 -0
- package/.output/public/_nuxt/2EtD6e53.js +1 -0
- package/.output/public/_nuxt/2UxHyX5q.js +1 -0
- package/.output/public/_nuxt/3e1v2bzS.js +1 -0
- package/.output/public/_nuxt/4A_iFExJ.js +1 -0
- package/.output/public/_nuxt/5bLW0GMw.js +1 -0
- package/.output/public/_nuxt/5i3qLPDT.js +1 -0
- package/.output/public/_nuxt/6nHXG8SA.js +1 -0
- package/.output/public/_nuxt/84XNjSIe.js +1 -0
- package/.output/public/_nuxt/85-TOEBH.js +1 -0
- package/.output/public/_nuxt/9ZFiTIhr.js +1 -0
- package/.output/public/_nuxt/B-hkwWGT.js +1 -0
- package/.output/public/_nuxt/B0m2ddpp.js +1 -0
- package/.output/public/_nuxt/B1dDrJ26.js +1 -0
- package/.output/public/_nuxt/B1yitclQ.js +1 -0
- package/.output/public/_nuxt/B5ZR69Tn.js +1 -0
- package/.output/public/_nuxt/B6aJPvgy.js +1 -0
- package/.output/public/_nuxt/B7grBCAR.js +1 -0
- package/.output/public/_nuxt/B7mTdjB0.js +1 -0
- package/.output/public/_nuxt/BBGuKPBd.js +1 -0
- package/.output/public/_nuxt/BDzgwa52.js +1 -0
- package/.output/public/_nuxt/BE2KfCdU.js +1 -0
- package/.output/public/_nuxt/BEDo0Tqx.js +1 -0
- package/.output/public/_nuxt/BERRCDM3.js +1 -0
- package/.output/public/_nuxt/BETggiCN.js +1 -0
- package/.output/public/_nuxt/BEwlwnbL.js +1 -0
- package/.output/public/_nuxt/BFfxhgS-.js +1 -0
- package/.output/public/_nuxt/BGHREFWD.js +1 -0
- package/.output/public/_nuxt/BGJmEYvX.js +1 -0
- package/.output/public/_nuxt/BHrmToEH.js +1 -0
- package/.output/public/_nuxt/BIAuTxu3.js +1 -0
- package/.output/public/_nuxt/BIGW1oBm.js +1 -0
- package/.output/public/_nuxt/BIHI7g3E.js +1 -0
- package/.output/public/_nuxt/BKmAPqal.js +1 -0
- package/.output/public/_nuxt/BLOpwnqT.js +1 -0
- package/.output/public/_nuxt/BLtJtn59.js +1 -0
- package/.output/public/_nuxt/BLxL40Jp.js +1 -0
- package/.output/public/_nuxt/BM1_JUlF.js +1 -0
- package/.output/public/_nuxt/BMMyXqK5.js +1 -0
- package/.output/public/_nuxt/BMWR74SV.js +1 -0
- package/.output/public/_nuxt/BPzJO5Oe.js +1 -0
- package/.output/public/_nuxt/BQ8w6xss.js +1 -0
- package/.output/public/_nuxt/BQvybpQq.js +1 -0
- package/.output/public/_nuxt/BR7mELCv.js +1 -0
- package/.output/public/_nuxt/BRHolxvo.js +1 -0
- package/.output/public/_nuxt/BRZ36xJF.js +1 -0
- package/.output/public/_nuxt/BTEhxafZ.js +1 -0
- package/.output/public/_nuxt/BTJTHyun.js +1 -0
- package/.output/public/_nuxt/BU7Cl-8B.js +1 -0
- package/.output/public/_nuxt/BV7otONQ.js +1 -0
- package/.output/public/_nuxt/BWvSN4gD.js +1 -0
- package/.output/public/_nuxt/BXY8tDGw.js +1 -0
- package/.output/public/_nuxt/BXkSAIEj.js +1 -0
- package/.output/public/_nuxt/BYunw83y.js +1 -0
- package/.output/public/_nuxt/B_HjzqPZ.js +1 -0
- package/.output/public/_nuxt/B_m7g4N7.js +1 -0
- package/.output/public/_nuxt/B_wu9Dqv.js +1 -0
- package/.output/public/_nuxt/BbcW6ACK.js +1 -0
- package/.output/public/_nuxt/BcOcwvcX.js +1 -0
- package/.output/public/_nuxt/BdImnpbu.js +1 -0
- package/.output/public/_nuxt/BdnUsdx6.js +1 -0
- package/.output/public/_nuxt/BebE75YV.js +1 -0
- package/.output/public/_nuxt/BepWV7mh.js +1 -0
- package/.output/public/_nuxt/BfHTSMKl.js +1 -0
- package/.output/public/_nuxt/BfjtVDDH.js +1 -0
- package/.output/public/_nuxt/BgDCqdQA.js +1 -0
- package/.output/public/_nuxt/BhOHFoWU.js +1 -0
- package/.output/public/_nuxt/Bk5OV074.js +1 -0
- package/.output/public/_nuxt/BkPM1oy1.js +1 -0
- package/.output/public/_nuxt/BkioyH1T.js +1 -0
- package/.output/public/_nuxt/Bkuqu6BP.js +1 -0
- package/.output/public/_nuxt/Bl2oy6fF.js +1 -0
- package/.output/public/_nuxt/BmXAJ9_W.js +1 -0
- package/.output/public/_nuxt/Bm_zuxCd.js +1 -0
- package/.output/public/_nuxt/BoKiGodi.js +1 -0
- package/.output/public/_nuxt/Bp3cYrEr.js +1 -0
- package/.output/public/_nuxt/Bp6g37R7.js +1 -0
- package/.output/public/_nuxt/BqTXFGrv.js +1 -0
- package/.output/public/_nuxt/BqYA7rlc.js +1 -0
- package/.output/public/_nuxt/BsS91CYL.js +1 -0
- package/.output/public/_nuxt/BspZqrRM.js +1 -0
- package/.output/public/_nuxt/BtCnVYZw.js +1 -0
- package/.output/public/_nuxt/BtOb2qkB.js +1 -0
- package/.output/public/_nuxt/BthQWCQV.js +1 -0
- package/.output/public/_nuxt/BtqSS_iP.js +1 -0
- package/.output/public/_nuxt/BtsDLbAf.js +1 -0
- package/.output/public/_nuxt/Btyk0a-E.js +1 -0
- package/.output/public/_nuxt/Buea-lGh.js +1 -0
- package/.output/public/_nuxt/BuidTy5i.js +1 -0
- package/.output/public/_nuxt/BvAqAH-y.js +1 -0
- package/.output/public/_nuxt/BvYfgXkl.js +1 -0
- package/.output/public/_nuxt/Bw305WKR.js +1 -0
- package/.output/public/_nuxt/BzJJZx-M.js +1 -0
- package/.output/public/_nuxt/C-SQnVFl.js +1 -0
- package/.output/public/_nuxt/C-_oQ9hf.js +1 -0
- package/.output/public/_nuxt/C0HS_06l.js +1 -0
- package/.output/public/_nuxt/C0hk2d4L.js +1 -0
- package/.output/public/_nuxt/C151Ov-r.js +1 -0
- package/.output/public/_nuxt/C2t-YnRu.js +1 -0
- package/.output/public/_nuxt/C39BiMTA.js +1 -0
- package/.output/public/_nuxt/C3B-1QV4.js +1 -0
- package/.output/public/_nuxt/C3khCPGq.js +1 -0
- package/.output/public/_nuxt/C3mMm8J8.js +1 -0
- package/.output/public/_nuxt/C4IJs8-o.js +1 -0
- package/.output/public/_nuxt/C7Pw0Ztw.js +1 -0
- package/.output/public/_nuxt/C8-UwF3o.js +1 -0
- package/.output/public/_nuxt/C8M2exoo.js +1 -0
- package/.output/public/_nuxt/C8j9CRIf.js +1 -0
- package/.output/public/_nuxt/C8lEn-DE.js +1 -0
- package/.output/public/_nuxt/C98Dy4si.js +1 -0
- package/.output/public/_nuxt/C9XAeP06.js +1 -0
- package/.output/public/_nuxt/C9tS-k6U.js +1 -0
- package/.output/public/_nuxt/CA7CTBwS.js +1 -0
- package/.output/public/_nuxt/CDVJQ6XC.js +1 -0
- package/.output/public/_nuxt/CDx5xZoG.js +1 -0
- package/.output/public/_nuxt/CEL-wOlO.js +1 -0
- package/.output/public/_nuxt/CEu0bR-o.js +1 -0
- package/.output/public/_nuxt/CF10PKvl.js +1 -0
- package/.output/public/_nuxt/CG8Ifv2g.js +1 -0
- package/.output/public/_nuxt/CGqH5EJj.js +1 -0
- package/.output/public/_nuxt/CHLpvVh8.js +1 -0
- package/.output/public/_nuxt/CHM0blh-.js +1 -0
- package/.output/public/_nuxt/CHadp7IV.js +1 -0
- package/.output/public/_nuxt/CHh-QcGE.js +1 -0
- package/.output/public/_nuxt/CJc9bBzg.js +1 -0
- package/.output/public/_nuxt/CKIfxQSi.js +1 -0
- package/.output/public/_nuxt/CLvts2aQ.js +1 -0
- package/.output/public/_nuxt/CLxacb5B.js +1 -0
- package/.output/public/_nuxt/CNBtkm4J.js +6 -0
- package/.output/public/_nuxt/CO1LY3CK.js +1 -0
- package/.output/public/_nuxt/COEtLSDF.js +1 -0
- package/.output/public/_nuxt/COI20M4I.js +1 -0
- package/.output/public/_nuxt/COWjEZnb.js +1 -0
- package/.output/public/_nuxt/COkxafJQ.js +1 -0
- package/.output/public/_nuxt/COt5Ahok.js +1 -0
- package/.output/public/_nuxt/CPSgaaQ0.js +1 -0
- package/.output/public/_nuxt/CPtXGFXV.js +1 -0
- package/.output/public/_nuxt/CS3Unz2-.js +1 -0
- package/.output/public/_nuxt/CSXwinHm.js +1 -0
- package/.output/public/_nuxt/CTIxkRwW.js +1 -0
- package/.output/public/_nuxt/CTRr51gU.js +1 -0
- package/.output/public/_nuxt/CTUD0bHN.js +1 -0
- package/.output/public/_nuxt/CTWiQX6C.js +1 -0
- package/.output/public/_nuxt/CU1B2r8a.js +1 -0
- package/.output/public/_nuxt/CU27uY9n.js +1 -0
- package/.output/public/_nuxt/CVO1_9PV.js +1 -0
- package/.output/public/_nuxt/CXtECtnM.js +1 -0
- package/.output/public/_nuxt/CYRjgJw9.js +26 -0
- package/.output/public/_nuxt/CZlF05X6.js +1 -0
- package/.output/public/_nuxt/CafNBF8u.js +1 -0
- package/.output/public/_nuxt/Cb0HU5_O.js +1 -0
- package/.output/public/_nuxt/CbFg5uaA.js +1 -0
- package/.output/public/_nuxt/CbfX1IO0.js +1 -0
- package/.output/public/_nuxt/CcyOm34o.js +1 -0
- package/.output/public/_nuxt/CdggvHu8.js +1 -0
- package/.output/public/_nuxt/CeAyd5Ju.js +1 -0
- package/.output/public/_nuxt/CeZK1NFH.js +1 -0
- package/.output/public/_nuxt/CfQXZHmo.js +1 -0
- package/.output/public/_nuxt/CfeIJUat.js +1 -0
- package/.output/public/_nuxt/Cg-RD9OK.js +1 -0
- package/.output/public/_nuxt/ChMvpjG-.js +1 -0
- package/.output/public/_nuxt/Cj-b45ZR.js +1 -0
- package/.output/public/_nuxt/Cj5Yp3dK.js +1 -0
- package/.output/public/_nuxt/CkByrt1z.js +1 -0
- package/.output/public/_nuxt/CkXjmgJE.js +1 -0
- package/.output/public/_nuxt/ClbN2oa7.js +2 -0
- package/.output/public/_nuxt/Cmh6b_Ma.js +1 -0
- package/.output/public/_nuxt/CnK8MTSM.js +1 -0
- package/.output/public/_nuxt/CnnmHF94.js +1 -0
- package/.output/public/_nuxt/Co6uUVPk.js +1 -0
- package/.output/public/_nuxt/Cp-IABpG.js +1 -0
- package/.output/public/_nuxt/Cq5zzVJU.js +1 -0
- package/.output/public/_nuxt/CquLrc37.js +1 -0
- package/.output/public/_nuxt/CsfeWuGM.js +1 -0
- package/.output/public/_nuxt/Csfq5Kiy.js +1 -0
- package/.output/public/_nuxt/CtMxL075.js +21 -0
- package/.output/public/_nuxt/CtrldY6v.js +1 -0
- package/.output/public/_nuxt/Cuk6v7N8.js +1 -0
- package/.output/public/_nuxt/Cv9koXgw.js +1 -0
- package/.output/public/_nuxt/CxGSJlkm.js +1 -0
- package/.output/public/_nuxt/CyktbL80.js +1 -0
- package/.output/public/_nuxt/CylS5w8V.js +1 -0
- package/.output/public/_nuxt/CzTSHFRz.js +1 -0
- package/.output/public/_nuxt/D-2ljcwZ.js +1 -0
- package/.output/public/_nuxt/D-pF80u_.js +1 -0
- package/.output/public/_nuxt/D08WgyRC.js +1 -0
- package/.output/public/_nuxt/D0Gq3ULd.js +1 -0
- package/.output/public/_nuxt/D0YGMca9.js +1 -0
- package/.output/public/_nuxt/D0r3Knsf.js +1 -0
- package/.output/public/_nuxt/D17OF-Vu.js +1 -0
- package/.output/public/_nuxt/D1j8_8rp.js +1 -0
- package/.output/public/_nuxt/D1uDOp7C.js +1 -0
- package/.output/public/_nuxt/D22FLkUw.js +1 -0
- package/.output/public/_nuxt/D2CYqzqI.js +1 -0
- package/.output/public/_nuxt/D32k8WzR.js +1 -0
- package/.output/public/_nuxt/D3lLCCz7.js +1 -0
- package/.output/public/_nuxt/D4h5O-jR.js +1 -0
- package/.output/public/_nuxt/D5-asLiD.js +1 -0
- package/.output/public/_nuxt/D5KoaKCx.js +1 -0
- package/.output/public/_nuxt/D7ScPSBf.js +1 -0
- package/.output/public/_nuxt/D7o27uSR.js +1 -0
- package/.output/public/_nuxt/D7oLnXFd.js +1 -0
- package/.output/public/_nuxt/D82EKSYY.js +1 -0
- package/.output/public/_nuxt/D93ZcfNL.js +1 -0
- package/.output/public/_nuxt/D97Zzqfu.js +1 -0
- package/.output/public/_nuxt/DAi9KRSo.js +1 -0
- package/.output/public/_nuxt/DCWrMWBD.js +1 -0
- package/.output/public/_nuxt/DEsY2yuF.js +1 -0
- package/.output/public/_nuxt/DFQXde-d.js +1 -0
- package/.output/public/_nuxt/DFXneXwc.js +1 -0
- package/.output/public/_nuxt/DGztddWO.js +1 -0
- package/.output/public/_nuxt/DH5Ifo-i.js +1 -0
- package/.output/public/_nuxt/DHCkPAjA.js +1 -0
- package/.output/public/_nuxt/DHJKELXO.js +1 -0
- package/.output/public/_nuxt/DKYwYmdq.js +1 -0
- package/.output/public/_nuxt/DKzvysjW.js +1 -0
- package/.output/public/_nuxt/DM8c43g1.js +1 -0
- package/.output/public/_nuxt/DMDPKkZ0.js +1 -0
- package/.output/public/_nuxt/DMzUqQB5.js +1 -0
- package/.output/public/_nuxt/DNrj_gVY.js +1 -0
- package/.output/public/_nuxt/DPcUKYIF.js +1 -0
- package/.output/public/_nuxt/DPfMkruS.js +1 -0
- package/.output/public/_nuxt/DPvdOr2J.js +1 -0
- package/.output/public/_nuxt/DRg8JJMk.js +1 -0
- package/.output/public/_nuxt/DRprw4p4.js +1 -0
- package/.output/public/_nuxt/DS1LvVMU.js +1 -0
- package/.output/public/_nuxt/DU1UobuO.js +1 -0
- package/.output/public/_nuxt/DUSGQflk.js +1 -0
- package/.output/public/_nuxt/DUszq2jm.js +1 -0
- package/.output/public/_nuxt/DVFEvuxE.js +1 -0
- package/.output/public/_nuxt/DVMEJ2y_.js +1 -0
- package/.output/public/_nuxt/DVxCFoDh.js +1 -0
- package/.output/public/_nuxt/DWedfzmr.js +1 -0
- package/.output/public/_nuxt/DWrx1Km3.js +1 -0
- package/.output/public/_nuxt/DXbdFlpD.js +1 -0
- package/.output/public/_nuxt/DXmwc3jG.js +1 -0
- package/.output/public/_nuxt/DXvB9xmW.js +1 -0
- package/.output/public/_nuxt/DZxFcAj9.js +1 -0
- package/.output/public/_nuxt/D_Q5rh1f.js +1 -0
- package/.output/public/_nuxt/Da5cRb03.js +1 -0
- package/.output/public/_nuxt/DbtIzDGy.js +1 -0
- package/.output/public/_nuxt/DcaNXYhu.js +1 -0
- package/.output/public/_nuxt/Dd19v3D-.js +1 -0
- package/.output/public/_nuxt/DdkO51Og.js +1 -0
- package/.output/public/_nuxt/Ddv68eIx.js +1 -0
- package/.output/public/_nuxt/DeWFVDHI.js +1 -0
- package/.output/public/_nuxt/Des-eS-w.js +1 -0
- package/.output/public/_nuxt/Df68jz8_.js +1 -0
- package/.output/public/_nuxt/Df6bDoY_.js +1 -0
- package/.output/public/_nuxt/DiinP2Uv.js +1 -0
- package/.output/public/_nuxt/DkFqJrB1.js +1 -0
- package/.output/public/_nuxt/DkhsQLT2.js +1 -0
- package/.output/public/_nuxt/DkwncUOv.js +1 -0
- package/.output/public/_nuxt/DlfHMoPT.js +1 -0
- package/.output/public/_nuxt/DljmTZ5-.js +1 -0
- package/.output/public/_nuxt/Dn2_MT6a.js +1 -0
- package/.output/public/_nuxt/DnULxvSX.js +1 -0
- package/.output/public/_nuxt/Dpen1YoG.js +1 -0
- package/.output/public/_nuxt/DqwNpetd.js +1 -0
- package/.output/public/_nuxt/Dr8Zlu6v.js +1 -0
- package/.output/public/_nuxt/DrZfEa88.js +1 -0
- package/.output/public/_nuxt/Drp5UXmf.js +1 -0
- package/.output/public/_nuxt/DsOJ9woJ.js +1 -0
- package/.output/public/_nuxt/Dtc2v4kS.js +1 -0
- package/.output/public/_nuxt/DwheRqRn.js +1 -0
- package/.output/public/_nuxt/Dx-B1_4e.js +1 -0
- package/.output/public/_nuxt/DyJlTyXw.js +1 -0
- package/.output/public/_nuxt/DyxjwDmM.js +1 -0
- package/.output/public/_nuxt/E3gJ1_iC.js +1 -0
- package/.output/public/_nuxt/ETK3OkTL.js +1 -0
- package/.output/public/_nuxt/I3RK9BU8.js +1 -0
- package/.output/public/_nuxt/IeuSbFQv.js +1 -0
- package/.output/public/_nuxt/IvJ92aGK.js +1 -0
- package/.output/public/_nuxt/JhPuU2gP.js +1 -0
- package/.output/public/_nuxt/L9t79GZl.js +1 -0
- package/.output/public/_nuxt/MzD3tlZU.js +1 -0
- package/.output/public/_nuxt/NleAzG8P.js +1 -0
- package/.output/public/_nuxt/P80f7IUj.js +1 -0
- package/.output/public/_nuxt/Pmp26Uib.js +1 -0
- package/.output/public/_nuxt/PoHY5YXO.js +1 -0
- package/.output/public/_nuxt/QIJgUcNo.js +1 -0
- package/.output/public/_nuxt/SQImb3Xm.js +1513 -0
- package/.output/public/_nuxt/SVGiTNnK.js +1 -0
- package/.output/public/_nuxt/SettingsDataTable.BLJqwlEK.css +1 -0
- package/.output/public/_nuxt/UInuXPgp.js +1 -0
- package/.output/public/_nuxt/UQxqNY8s.js +273 -0
- package/.output/public/_nuxt/VOosw3JB.js +1 -0
- package/.output/public/_nuxt/Xi2tawMN.js +1 -0
- package/.output/public/_nuxt/Yzrsuije.js +1 -0
- package/.output/public/_nuxt/ZwEiOJEn.js +1 -0
- package/.output/public/_nuxt/_ykCGR6B.js +1 -0
- package/.output/public/_nuxt/about.fWlW3EhQ.css +1 -0
- package/.output/public/_nuxt/bCR0ucgS.js +1 -0
- package/.output/public/_nuxt/bN70gL4F.js +1 -0
- package/.output/public/_nuxt/brDaU2vB.js +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -0
- package/.output/public/_nuxt/builds/meta/b0e10f5e-bdc5-4007-9281-161aa323adf1.json +1 -0
- package/.output/public/_nuxt/codicon.DCmgc-ay.ttf +0 -0
- package/.output/public/_nuxt/components.CIe9upZ4.css +1 -0
- package/.output/public/_nuxt/dglhsJpM.js +1 -0
- package/.output/public/_nuxt/dwOrl1Do.js +1 -0
- package/.output/public/_nuxt/edge-router-Cceh9XsC.js +4 -0
- package/.output/public/_nuxt/editor.worker-7Ic39DJY.js +12 -0
- package/.output/public/_nuxt/entry.YsT17dxl.css +1 -0
- package/.output/public/_nuxt/error-404.CH3riSrg.css +1 -0
- package/.output/public/_nuxt/error-500.C8Qk6cR7.css +1 -0
- package/.output/public/_nuxt/f7oK2omx.js +1 -0
- package/.output/public/_nuxt/fuZLfV_i.js +1 -0
- package/.output/public/_nuxt/fve9TYiY.js +1 -0
- package/.output/public/_nuxt/g9-lgVsj.js +1 -0
- package/.output/public/_nuxt/gcz8RCvz.js +1 -0
- package/.output/public/_nuxt/graph-layout-CFj469YF.js +1 -0
- package/.output/public/_nuxt/graph-resolver-ClVztv7P.js +175 -0
- package/.output/public/_nuxt/hegEt444.js +1 -0
- package/.output/public/_nuxt/hira-1.DuDDiA5P.png +0 -0
- package/.output/public/_nuxt/hira-unlock-impossible.B5Pl3pvF.png +0 -0
- package/.output/public/_nuxt/index.cU4FhqMM.css +1 -0
- package/.output/public/_nuxt/index.smtD6lYF.css +1 -0
- package/.output/public/_nuxt/instances.CGwVkdDM.css +1 -0
- package/.output/public/_nuxt/irsrSlf-.js +1 -0
- package/.output/public/_nuxt/lXgVvXCa.js +1 -0
- package/.output/public/_nuxt/materialdesignicons-webfont.B6OSyW2I.woff2 +0 -0
- package/.output/public/_nuxt/materialdesignicons-webfont.BpRar1d5.ttf +0 -0
- package/.output/public/_nuxt/materialdesignicons-webfont.Bvl3VxMs.woff +0 -0
- package/.output/public/_nuxt/materialdesignicons-webfont.TEmAk13K.eot +0 -0
- package/.output/public/_nuxt/monaco-editor.D_J4ItrK.css +1 -0
- package/.output/public/_nuxt/oVh4WQ21.js +1 -0
- package/.output/public/_nuxt/operations.BfCOaoAx.css +1 -0
- package/.output/public/_nuxt/operations.DvUkbQbt.css +1 -0
- package/.output/public/_nuxt/p5ZwBirz.js +1 -0
- package/.output/public/_nuxt/pkIJ47B4.js +1 -0
- package/.output/public/_nuxt/q-j0iyEw.js +1 -0
- package/.output/public/_nuxt/qliWkHmV.js +1 -0
- package/.output/public/_nuxt/secrets._PitGGJK.css +1 -0
- package/.output/public/_nuxt/settings.BCRf8MgD.css +1 -0
- package/.output/public/_nuxt/terminals.B07MGsh3.css +1 -0
- package/.output/public/_nuxt/uMbE6_td.js +1 -0
- package/.output/public/_nuxt/vGWfd6FD.js +1 -0
- package/.output/public/_nuxt/vuetify.C_sYHwU6.css +5 -0
- package/.output/public/_nuxt/xVLoeQ-B.js +1 -0
- package/.output/public/_nuxt/yaml.worker-DLQcEOxU.js +410 -0
- package/.output/public/_nuxt/yv6CvBhz.js +1 -0
- package/.output/public/favicon.ico +0 -0
- package/.output/public/libavoid.wasm +0 -0
- package/.output/public/robots.txt +1 -0
- package/.output/server/index.mjs +18396 -0
- package/.output/server/index.mjs.map +1 -0
- package/.output/server/node_modules/@babel/parser/lib/index.js +14586 -0
- package/.output/server/node_modules/@babel/parser/package.json +50 -0
- package/.output/server/node_modules/@trpc/server/dist/adapters/fetch/index.mjs +58 -0
- package/.output/server/node_modules/@trpc/server/dist/adapters/ws.mjs +15 -0
- package/.output/server/node_modules/@trpc/server/dist/contentTypeParsers-SN4WL9ze.mjs +13 -0
- package/.output/server/node_modules/@trpc/server/dist/getErrorShape-Uhlrl4Bk.mjs +263 -0
- package/.output/server/node_modules/@trpc/server/dist/http-CWyjOa1l.mjs +0 -0
- package/.output/server/node_modules/@trpc/server/dist/index.mjs +6 -0
- package/.output/server/node_modules/@trpc/server/dist/initTRPC-IT_6ZYJd.mjs +358 -0
- package/.output/server/node_modules/@trpc/server/dist/node-http-ZvZKxPic.mjs +222 -0
- package/.output/server/node_modules/@trpc/server/dist/observable-CUiPknO-.mjs +158 -0
- package/.output/server/node_modules/@trpc/server/dist/observable-UMO3vUa_.mjs +158 -0
- package/.output/server/node_modules/@trpc/server/dist/parseTRPCMessage-ByIHyFRz.mjs +63 -0
- package/.output/server/node_modules/@trpc/server/dist/resolveResponse-CzlbRpCI.mjs +2183 -0
- package/.output/server/node_modules/@trpc/server/dist/tracked-gU3ttYjg.mjs +371 -0
- package/.output/server/node_modules/@trpc/server/dist/unstable-core-do-not-import-D89CaGtL.mjs +29 -0
- package/.output/server/node_modules/@trpc/server/dist/utils-DdbbrDku.mjs +137 -0
- package/.output/server/node_modules/@trpc/server/dist/ws-DsZkVWpZ.mjs +420 -0
- package/.output/server/node_modules/@trpc/server/package.json +232 -0
- package/.output/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js +6705 -0
- package/.output/server/node_modules/@vue/compiler-core/package.json +58 -0
- package/.output/server/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js +686 -0
- package/.output/server/node_modules/@vue/compiler-dom/package.json +57 -0
- package/.output/server/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js +1402 -0
- package/.output/server/node_modules/@vue/compiler-ssr/package.json +34 -0
- package/.output/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js +1806 -0
- package/.output/server/node_modules/@vue/reactivity/package.json +55 -0
- package/.output/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js +6696 -0
- package/.output/server/node_modules/@vue/runtime-core/package.json +52 -0
- package/.output/server/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.js +1677 -0
- package/.output/server/node_modules/@vue/runtime-dom/package.json +60 -0
- package/.output/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js +857 -0
- package/.output/server/node_modules/@vue/server-renderer/package.json +55 -0
- package/.output/server/node_modules/@vue/shared/dist/shared.cjs.prod.js +594 -0
- package/.output/server/node_modules/@vue/shared/package.json +47 -0
- package/.output/server/node_modules/devalue/index.js +3 -0
- package/.output/server/node_modules/devalue/package.json +34 -0
- package/.output/server/node_modules/devalue/src/base64.js +110 -0
- package/.output/server/node_modules/devalue/src/constants.js +6 -0
- package/.output/server/node_modules/devalue/src/parse.js +160 -0
- package/.output/server/node_modules/devalue/src/stringify.js +232 -0
- package/.output/server/node_modules/devalue/src/uneval.js +351 -0
- package/.output/server/node_modules/devalue/src/utils.js +113 -0
- package/.output/server/node_modules/entities/lib/decode.js +536 -0
- package/.output/server/node_modules/entities/lib/decode_codepoint.js +76 -0
- package/.output/server/node_modules/entities/lib/generated/decode-data-html.js +9 -0
- package/.output/server/node_modules/entities/lib/generated/decode-data-xml.js +9 -0
- package/.output/server/node_modules/entities/package.json +90 -0
- package/.output/server/node_modules/estree-walker/dist/umd/estree-walker.js +344 -0
- package/.output/server/node_modules/estree-walker/package.json +37 -0
- package/.output/server/node_modules/hookable/dist/index.mjs +290 -0
- package/.output/server/node_modules/hookable/package.json +49 -0
- package/.output/server/node_modules/source-map-js/lib/array-set.js +121 -0
- package/.output/server/node_modules/source-map-js/lib/base64-vlq.js +140 -0
- package/.output/server/node_modules/source-map-js/lib/base64.js +67 -0
- package/.output/server/node_modules/source-map-js/lib/binary-search.js +111 -0
- package/.output/server/node_modules/source-map-js/lib/mapping-list.js +79 -0
- package/.output/server/node_modules/source-map-js/lib/quick-sort.js +132 -0
- package/.output/server/node_modules/source-map-js/lib/source-map-consumer.js +1188 -0
- package/.output/server/node_modules/source-map-js/lib/source-map-generator.js +444 -0
- package/.output/server/node_modules/source-map-js/lib/source-node.js +413 -0
- package/.output/server/node_modules/source-map-js/lib/util.js +594 -0
- package/.output/server/node_modules/source-map-js/package.json +71 -0
- package/.output/server/node_modules/source-map-js/source-map.js +8 -0
- package/.output/server/node_modules/ufo/dist/index.mjs +638 -0
- package/.output/server/node_modules/ufo/package.json +47 -0
- package/.output/server/node_modules/unhead/dist/plugins.mjs +95 -0
- package/.output/server/node_modules/unhead/dist/server.mjs +219 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.C13swrCa.mjs +48 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.CAk5S5m6.mjs +180 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.CApf5sj3.mjs +148 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.DQc16pHI.mjs +196 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.DZbvapt-.mjs +70 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.DeCxexjU.mjs +166 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.Di5OD67x.mjs +190 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.yem5I2v_.mjs +38 -0
- package/.output/server/node_modules/unhead/dist/utils.mjs +5 -0
- package/.output/server/node_modules/unhead/package.json +101 -0
- package/.output/server/node_modules/vue/dist/vue.cjs.js +80 -0
- package/.output/server/node_modules/vue/dist/vue.cjs.prod.js +66 -0
- package/.output/server/node_modules/vue/index.js +7 -0
- package/.output/server/node_modules/vue/index.mjs +1 -0
- package/.output/server/node_modules/vue/package.json +112 -0
- package/.output/server/node_modules/vue/server-renderer/index.mjs +1 -0
- package/.output/server/node_modules/vue-bundle-renderer/dist/runtime.mjs +196 -0
- package/.output/server/node_modules/vue-bundle-renderer/package.json +50 -0
- package/.output/server/node_modules/ws/lib/buffer-util.js +131 -0
- package/.output/server/node_modules/ws/lib/constants.js +18 -0
- package/.output/server/node_modules/ws/lib/event-target.js +292 -0
- package/.output/server/node_modules/ws/lib/extension.js +203 -0
- package/.output/server/node_modules/ws/lib/limiter.js +55 -0
- package/.output/server/node_modules/ws/lib/permessage-deflate.js +528 -0
- package/.output/server/node_modules/ws/lib/receiver.js +706 -0
- package/.output/server/node_modules/ws/lib/sender.js +602 -0
- package/.output/server/node_modules/ws/lib/stream.js +161 -0
- package/.output/server/node_modules/ws/lib/subprotocol.js +62 -0
- package/.output/server/node_modules/ws/lib/validation.js +152 -0
- package/.output/server/node_modules/ws/lib/websocket-server.js +550 -0
- package/.output/server/node_modules/ws/lib/websocket.js +1388 -0
- package/.output/server/node_modules/ws/package.json +69 -0
- package/.output/server/node_modules/ws/wrapper.mjs +8 -0
- package/.output/server/node_modules/zod/index.js +4 -0
- package/.output/server/node_modules/zod/package.json +131 -0
- package/.output/server/node_modules/zod/v4/classic/checks.js +1 -0
- package/.output/server/node_modules/zod/v4/classic/coerce.js +17 -0
- package/.output/server/node_modules/zod/v4/classic/compat.js +31 -0
- package/.output/server/node_modules/zod/v4/classic/errors.js +41 -0
- package/.output/server/node_modules/zod/v4/classic/external.js +18 -0
- package/.output/server/node_modules/zod/v4/classic/iso.js +30 -0
- package/.output/server/node_modules/zod/v4/classic/parse.js +6 -0
- package/.output/server/node_modules/zod/v4/classic/schemas.js +1006 -0
- package/.output/server/node_modules/zod/v4/core/api.js +906 -0
- package/.output/server/node_modules/zod/v4/core/checks.js +565 -0
- package/.output/server/node_modules/zod/v4/core/core.js +61 -0
- package/.output/server/node_modules/zod/v4/core/doc.js +35 -0
- package/.output/server/node_modules/zod/v4/core/errors.js +195 -0
- package/.output/server/node_modules/zod/v4/core/function.js +75 -0
- package/.output/server/node_modules/zod/v4/core/index.js +15 -0
- package/.output/server/node_modules/zod/v4/core/json-schema.js +1 -0
- package/.output/server/node_modules/zod/v4/core/parse.js +57 -0
- package/.output/server/node_modules/zod/v4/core/regexes.js +95 -0
- package/.output/server/node_modules/zod/v4/core/registries.js +51 -0
- package/.output/server/node_modules/zod/v4/core/schemas.js +1718 -0
- package/.output/server/node_modules/zod/v4/core/to-json-schema.js +849 -0
- package/.output/server/node_modules/zod/v4/core/util.js +493 -0
- package/.output/server/node_modules/zod/v4/core/versions.js +5 -0
- package/.output/server/node_modules/zod/v4/locales/ar.js +116 -0
- package/.output/server/node_modules/zod/v4/locales/az.js +115 -0
- package/.output/server/node_modules/zod/v4/locales/be.js +164 -0
- package/.output/server/node_modules/zod/v4/locales/ca.js +118 -0
- package/.output/server/node_modules/zod/v4/locales/cs.js +135 -0
- package/.output/server/node_modules/zod/v4/locales/de.js +116 -0
- package/.output/server/node_modules/zod/v4/locales/en.js +117 -0
- package/.output/server/node_modules/zod/v4/locales/eo.js +116 -0
- package/.output/server/node_modules/zod/v4/locales/es.js +117 -0
- package/.output/server/node_modules/zod/v4/locales/fa.js +122 -0
- package/.output/server/node_modules/zod/v4/locales/fi.js +122 -0
- package/.output/server/node_modules/zod/v4/locales/fr-CA.js +117 -0
- package/.output/server/node_modules/zod/v4/locales/fr.js +116 -0
- package/.output/server/node_modules/zod/v4/locales/he.js +117 -0
- package/.output/server/node_modules/zod/v4/locales/hu.js +117 -0
- package/.output/server/node_modules/zod/v4/locales/id.js +116 -0
- package/.output/server/node_modules/zod/v4/locales/index.js +39 -0
- package/.output/server/node_modules/zod/v4/locales/it.js +117 -0
- package/.output/server/node_modules/zod/v4/locales/ja.js +115 -0
- package/.output/server/node_modules/zod/v4/locales/kh.js +117 -0
- package/.output/server/node_modules/zod/v4/locales/ko.js +121 -0
- package/.output/server/node_modules/zod/v4/locales/mk.js +118 -0
- package/.output/server/node_modules/zod/v4/locales/ms.js +116 -0
- package/.output/server/node_modules/zod/v4/locales/nl.js +117 -0
- package/.output/server/node_modules/zod/v4/locales/no.js +116 -0
- package/.output/server/node_modules/zod/v4/locales/ota.js +117 -0
- package/.output/server/node_modules/zod/v4/locales/pl.js +117 -0
- package/.output/server/node_modules/zod/v4/locales/ps.js +122 -0
- package/.output/server/node_modules/zod/v4/locales/pt.js +116 -0
- package/.output/server/node_modules/zod/v4/locales/ru.js +164 -0
- package/.output/server/node_modules/zod/v4/locales/sl.js +117 -0
- package/.output/server/node_modules/zod/v4/locales/sv.js +118 -0
- package/.output/server/node_modules/zod/v4/locales/ta.js +117 -0
- package/.output/server/node_modules/zod/v4/locales/th.js +117 -0
- package/.output/server/node_modules/zod/v4/locales/tr.js +115 -0
- package/.output/server/node_modules/zod/v4/locales/ua.js +117 -0
- package/.output/server/node_modules/zod/v4/locales/ur.js +117 -0
- package/.output/server/node_modules/zod/v4/locales/vi.js +116 -0
- package/.output/server/node_modules/zod/v4/locales/zh-CN.js +116 -0
- package/.output/server/node_modules/zod/v4/locales/zh-TW.js +117 -0
- package/.output/server/package.json +29 -0
- package/package.json +6 -6
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/* eslint no-unused-vars: ["error", { "varsIgnorePattern": "^WebSocket$" }] */
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
const WebSocket = require('./websocket');
|
|
5
|
+
const { Duplex } = require('stream');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Emits the `'close'` event on a stream.
|
|
9
|
+
*
|
|
10
|
+
* @param {Duplex} stream The stream.
|
|
11
|
+
* @private
|
|
12
|
+
*/
|
|
13
|
+
function emitClose(stream) {
|
|
14
|
+
stream.emit('close');
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The listener of the `'end'` event.
|
|
19
|
+
*
|
|
20
|
+
* @private
|
|
21
|
+
*/
|
|
22
|
+
function duplexOnEnd() {
|
|
23
|
+
if (!this.destroyed && this._writableState.finished) {
|
|
24
|
+
this.destroy();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* The listener of the `'error'` event.
|
|
30
|
+
*
|
|
31
|
+
* @param {Error} err The error
|
|
32
|
+
* @private
|
|
33
|
+
*/
|
|
34
|
+
function duplexOnError(err) {
|
|
35
|
+
this.removeListener('error', duplexOnError);
|
|
36
|
+
this.destroy();
|
|
37
|
+
if (this.listenerCount('error') === 0) {
|
|
38
|
+
// Do not suppress the throwing behavior.
|
|
39
|
+
this.emit('error', err);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Wraps a `WebSocket` in a duplex stream.
|
|
45
|
+
*
|
|
46
|
+
* @param {WebSocket} ws The `WebSocket` to wrap
|
|
47
|
+
* @param {Object} [options] The options for the `Duplex` constructor
|
|
48
|
+
* @return {Duplex} The duplex stream
|
|
49
|
+
* @public
|
|
50
|
+
*/
|
|
51
|
+
function createWebSocketStream(ws, options) {
|
|
52
|
+
let terminateOnDestroy = true;
|
|
53
|
+
|
|
54
|
+
const duplex = new Duplex({
|
|
55
|
+
...options,
|
|
56
|
+
autoDestroy: false,
|
|
57
|
+
emitClose: false,
|
|
58
|
+
objectMode: false,
|
|
59
|
+
writableObjectMode: false
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
ws.on('message', function message(msg, isBinary) {
|
|
63
|
+
const data =
|
|
64
|
+
!isBinary && duplex._readableState.objectMode ? msg.toString() : msg;
|
|
65
|
+
|
|
66
|
+
if (!duplex.push(data)) ws.pause();
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
ws.once('error', function error(err) {
|
|
70
|
+
if (duplex.destroyed) return;
|
|
71
|
+
|
|
72
|
+
// Prevent `ws.terminate()` from being called by `duplex._destroy()`.
|
|
73
|
+
//
|
|
74
|
+
// - If the `'error'` event is emitted before the `'open'` event, then
|
|
75
|
+
// `ws.terminate()` is a noop as no socket is assigned.
|
|
76
|
+
// - Otherwise, the error is re-emitted by the listener of the `'error'`
|
|
77
|
+
// event of the `Receiver` object. The listener already closes the
|
|
78
|
+
// connection by calling `ws.close()`. This allows a close frame to be
|
|
79
|
+
// sent to the other peer. If `ws.terminate()` is called right after this,
|
|
80
|
+
// then the close frame might not be sent.
|
|
81
|
+
terminateOnDestroy = false;
|
|
82
|
+
duplex.destroy(err);
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
ws.once('close', function close() {
|
|
86
|
+
if (duplex.destroyed) return;
|
|
87
|
+
|
|
88
|
+
duplex.push(null);
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
duplex._destroy = function (err, callback) {
|
|
92
|
+
if (ws.readyState === ws.CLOSED) {
|
|
93
|
+
callback(err);
|
|
94
|
+
process.nextTick(emitClose, duplex);
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
let called = false;
|
|
99
|
+
|
|
100
|
+
ws.once('error', function error(err) {
|
|
101
|
+
called = true;
|
|
102
|
+
callback(err);
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
ws.once('close', function close() {
|
|
106
|
+
if (!called) callback(err);
|
|
107
|
+
process.nextTick(emitClose, duplex);
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
if (terminateOnDestroy) ws.terminate();
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
duplex._final = function (callback) {
|
|
114
|
+
if (ws.readyState === ws.CONNECTING) {
|
|
115
|
+
ws.once('open', function open() {
|
|
116
|
+
duplex._final(callback);
|
|
117
|
+
});
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
// If the value of the `_socket` property is `null` it means that `ws` is a
|
|
122
|
+
// client websocket and the handshake failed. In fact, when this happens, a
|
|
123
|
+
// socket is never assigned to the websocket. Wait for the `'error'` event
|
|
124
|
+
// that will be emitted by the websocket.
|
|
125
|
+
if (ws._socket === null) return;
|
|
126
|
+
|
|
127
|
+
if (ws._socket._writableState.finished) {
|
|
128
|
+
callback();
|
|
129
|
+
if (duplex._readableState.endEmitted) duplex.destroy();
|
|
130
|
+
} else {
|
|
131
|
+
ws._socket.once('finish', function finish() {
|
|
132
|
+
// `duplex` is not destroyed here because the `'end'` event will be
|
|
133
|
+
// emitted on `duplex` after this `'finish'` event. The EOF signaling
|
|
134
|
+
// `null` chunk is, in fact, pushed when the websocket emits `'close'`.
|
|
135
|
+
callback();
|
|
136
|
+
});
|
|
137
|
+
ws.close();
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
duplex._read = function () {
|
|
142
|
+
if (ws.isPaused) ws.resume();
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
duplex._write = function (chunk, encoding, callback) {
|
|
146
|
+
if (ws.readyState === ws.CONNECTING) {
|
|
147
|
+
ws.once('open', function open() {
|
|
148
|
+
duplex._write(chunk, encoding, callback);
|
|
149
|
+
});
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
ws.send(chunk, callback);
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
duplex.on('end', duplexOnEnd);
|
|
157
|
+
duplex.on('error', duplexOnError);
|
|
158
|
+
return duplex;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
module.exports = createWebSocketStream;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const { tokenChars } = require('./validation');
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Parses the `Sec-WebSocket-Protocol` header into a set of subprotocol names.
|
|
7
|
+
*
|
|
8
|
+
* @param {String} header The field value of the header
|
|
9
|
+
* @return {Set} The subprotocol names
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
function parse(header) {
|
|
13
|
+
const protocols = new Set();
|
|
14
|
+
let start = -1;
|
|
15
|
+
let end = -1;
|
|
16
|
+
let i = 0;
|
|
17
|
+
|
|
18
|
+
for (i; i < header.length; i++) {
|
|
19
|
+
const code = header.charCodeAt(i);
|
|
20
|
+
|
|
21
|
+
if (end === -1 && tokenChars[code] === 1) {
|
|
22
|
+
if (start === -1) start = i;
|
|
23
|
+
} else if (
|
|
24
|
+
i !== 0 &&
|
|
25
|
+
(code === 0x20 /* ' ' */ || code === 0x09) /* '\t' */
|
|
26
|
+
) {
|
|
27
|
+
if (end === -1 && start !== -1) end = i;
|
|
28
|
+
} else if (code === 0x2c /* ',' */) {
|
|
29
|
+
if (start === -1) {
|
|
30
|
+
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (end === -1) end = i;
|
|
34
|
+
|
|
35
|
+
const protocol = header.slice(start, end);
|
|
36
|
+
|
|
37
|
+
if (protocols.has(protocol)) {
|
|
38
|
+
throw new SyntaxError(`The "${protocol}" subprotocol is duplicated`);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
protocols.add(protocol);
|
|
42
|
+
start = end = -1;
|
|
43
|
+
} else {
|
|
44
|
+
throw new SyntaxError(`Unexpected character at index ${i}`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
if (start === -1 || end !== -1) {
|
|
49
|
+
throw new SyntaxError('Unexpected end of input');
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const protocol = header.slice(start, i);
|
|
53
|
+
|
|
54
|
+
if (protocols.has(protocol)) {
|
|
55
|
+
throw new SyntaxError(`The "${protocol}" subprotocol is duplicated`);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
protocols.add(protocol);
|
|
59
|
+
return protocols;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
module.exports = { parse };
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const { isUtf8 } = require('buffer');
|
|
4
|
+
|
|
5
|
+
const { hasBlob } = require('./constants');
|
|
6
|
+
|
|
7
|
+
//
|
|
8
|
+
// Allowed token characters:
|
|
9
|
+
//
|
|
10
|
+
// '!', '#', '$', '%', '&', ''', '*', '+', '-',
|
|
11
|
+
// '.', 0-9, A-Z, '^', '_', '`', a-z, '|', '~'
|
|
12
|
+
//
|
|
13
|
+
// tokenChars[32] === 0 // ' '
|
|
14
|
+
// tokenChars[33] === 1 // '!'
|
|
15
|
+
// tokenChars[34] === 0 // '"'
|
|
16
|
+
// ...
|
|
17
|
+
//
|
|
18
|
+
// prettier-ignore
|
|
19
|
+
const tokenChars = [
|
|
20
|
+
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 15
|
|
21
|
+
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 16 - 31
|
|
22
|
+
0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, // 32 - 47
|
|
23
|
+
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, // 48 - 63
|
|
24
|
+
0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 64 - 79
|
|
25
|
+
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, // 80 - 95
|
|
26
|
+
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, // 96 - 111
|
|
27
|
+
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0 // 112 - 127
|
|
28
|
+
];
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Checks if a status code is allowed in a close frame.
|
|
32
|
+
*
|
|
33
|
+
* @param {Number} code The status code
|
|
34
|
+
* @return {Boolean} `true` if the status code is valid, else `false`
|
|
35
|
+
* @public
|
|
36
|
+
*/
|
|
37
|
+
function isValidStatusCode(code) {
|
|
38
|
+
return (
|
|
39
|
+
(code >= 1000 &&
|
|
40
|
+
code <= 1014 &&
|
|
41
|
+
code !== 1004 &&
|
|
42
|
+
code !== 1005 &&
|
|
43
|
+
code !== 1006) ||
|
|
44
|
+
(code >= 3000 && code <= 4999)
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Checks if a given buffer contains only correct UTF-8.
|
|
50
|
+
* Ported from https://www.cl.cam.ac.uk/%7Emgk25/ucs/utf8_check.c by
|
|
51
|
+
* Markus Kuhn.
|
|
52
|
+
*
|
|
53
|
+
* @param {Buffer} buf The buffer to check
|
|
54
|
+
* @return {Boolean} `true` if `buf` contains only correct UTF-8, else `false`
|
|
55
|
+
* @public
|
|
56
|
+
*/
|
|
57
|
+
function _isValidUTF8(buf) {
|
|
58
|
+
const len = buf.length;
|
|
59
|
+
let i = 0;
|
|
60
|
+
|
|
61
|
+
while (i < len) {
|
|
62
|
+
if ((buf[i] & 0x80) === 0) {
|
|
63
|
+
// 0xxxxxxx
|
|
64
|
+
i++;
|
|
65
|
+
} else if ((buf[i] & 0xe0) === 0xc0) {
|
|
66
|
+
// 110xxxxx 10xxxxxx
|
|
67
|
+
if (
|
|
68
|
+
i + 1 === len ||
|
|
69
|
+
(buf[i + 1] & 0xc0) !== 0x80 ||
|
|
70
|
+
(buf[i] & 0xfe) === 0xc0 // Overlong
|
|
71
|
+
) {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
i += 2;
|
|
76
|
+
} else if ((buf[i] & 0xf0) === 0xe0) {
|
|
77
|
+
// 1110xxxx 10xxxxxx 10xxxxxx
|
|
78
|
+
if (
|
|
79
|
+
i + 2 >= len ||
|
|
80
|
+
(buf[i + 1] & 0xc0) !== 0x80 ||
|
|
81
|
+
(buf[i + 2] & 0xc0) !== 0x80 ||
|
|
82
|
+
(buf[i] === 0xe0 && (buf[i + 1] & 0xe0) === 0x80) || // Overlong
|
|
83
|
+
(buf[i] === 0xed && (buf[i + 1] & 0xe0) === 0xa0) // Surrogate (U+D800 - U+DFFF)
|
|
84
|
+
) {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
i += 3;
|
|
89
|
+
} else if ((buf[i] & 0xf8) === 0xf0) {
|
|
90
|
+
// 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
|
|
91
|
+
if (
|
|
92
|
+
i + 3 >= len ||
|
|
93
|
+
(buf[i + 1] & 0xc0) !== 0x80 ||
|
|
94
|
+
(buf[i + 2] & 0xc0) !== 0x80 ||
|
|
95
|
+
(buf[i + 3] & 0xc0) !== 0x80 ||
|
|
96
|
+
(buf[i] === 0xf0 && (buf[i + 1] & 0xf0) === 0x80) || // Overlong
|
|
97
|
+
(buf[i] === 0xf4 && buf[i + 1] > 0x8f) ||
|
|
98
|
+
buf[i] > 0xf4 // > U+10FFFF
|
|
99
|
+
) {
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
i += 4;
|
|
104
|
+
} else {
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
return true;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Determines whether a value is a `Blob`.
|
|
114
|
+
*
|
|
115
|
+
* @param {*} value The value to be tested
|
|
116
|
+
* @return {Boolean} `true` if `value` is a `Blob`, else `false`
|
|
117
|
+
* @private
|
|
118
|
+
*/
|
|
119
|
+
function isBlob(value) {
|
|
120
|
+
return (
|
|
121
|
+
hasBlob &&
|
|
122
|
+
typeof value === 'object' &&
|
|
123
|
+
typeof value.arrayBuffer === 'function' &&
|
|
124
|
+
typeof value.type === 'string' &&
|
|
125
|
+
typeof value.stream === 'function' &&
|
|
126
|
+
(value[Symbol.toStringTag] === 'Blob' ||
|
|
127
|
+
value[Symbol.toStringTag] === 'File')
|
|
128
|
+
);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
module.exports = {
|
|
132
|
+
isBlob,
|
|
133
|
+
isValidStatusCode,
|
|
134
|
+
isValidUTF8: _isValidUTF8,
|
|
135
|
+
tokenChars
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
if (isUtf8) {
|
|
139
|
+
module.exports.isValidUTF8 = function (buf) {
|
|
140
|
+
return buf.length < 24 ? _isValidUTF8(buf) : isUtf8(buf);
|
|
141
|
+
};
|
|
142
|
+
} /* istanbul ignore else */ else if (!process.env.WS_NO_UTF_8_VALIDATE) {
|
|
143
|
+
try {
|
|
144
|
+
const isValidUTF8 = require('utf-8-validate');
|
|
145
|
+
|
|
146
|
+
module.exports.isValidUTF8 = function (buf) {
|
|
147
|
+
return buf.length < 32 ? _isValidUTF8(buf) : isValidUTF8(buf);
|
|
148
|
+
};
|
|
149
|
+
} catch (e) {
|
|
150
|
+
// Continue regardless of the error.
|
|
151
|
+
}
|
|
152
|
+
}
|