tjc-sdk
Version:
TIANJI IM SDK
2 lines (1 loc) • 2.09 kB
JavaScript
class t{static MV_MASK=0;static WL_MASK=16;static MD_MASK=32;static MU_MASK=48;static KD_MASK=64;static KU_MASK=80;static UAC_MASK=96;name="";numberArgs=[];strArgs=[];toArrayBuffer(){let e;switch(this.name){case"mv":e=new Uint8Array(5),e[0]=t.MV_MASK,e[1]=(65280&this.numberArgs[0])>>8,e[2]=255&this.numberArgs[0],e[3]=(65280&this.numberArgs[1])>>8,e[4]=255&this.numberArgs[1];break;case"wl":e=new Uint8Array(5),e[0]=t.WL_MASK,e[1]=(65280&this.numberArgs[0])>>8,e[2]=255&this.numberArgs[0],e[3]=(65280&this.numberArgs[1])>>8,e[4]=255&this.numberArgs[1];break;case"md":e=new Uint8Array(5),e[0]=t.MD_MASK|255&this.numberArgs[0],e[1]=(65280&this.numberArgs[1])>>8,e[2]=255&this.numberArgs[1],e[3]=(65280&this.numberArgs[2])>>8,e[4]=255&this.numberArgs[2];break;case"mu":e=new Uint8Array(5),e[0]=t.MU_MASK|255&this.numberArgs[0],e[1]=(65280&this.numberArgs[1])>>8,e[2]=255&this.numberArgs[1],e[3]=(65280&this.numberArgs[2])>>8,e[4]=255&this.numberArgs[2];break;case"kd":let s=this.strArgs.join(",");e=Uint8Array.of(t.KD_MASK,...(new TextEncoder).encode(s));break;case"ku":let a=this.strArgs.join(",");e=Uint8Array.of(t.KU_MASK,...(new TextEncoder).encode(a));break;case"uac":e=new Uint8Array(2),e[0]=t.UAC_MASK,e[1]=255&this.numberArgs[0]}return Buffer.from(e)}static fromArrayBuffer(e){let s=new t,a=new Uint8Array(e),r="";switch(240&a[0]){case this.MV_MASK:s.name="mv",s.numberArgs[0]=(a[1]<<8)+a[2],s.numberArgs[1]=(a[3]<<8)+a[4];break;case this.WL_MASK:s.name="wl";let t=[];t[0]=(a[1]<<8)+a[2],t[1]=(a[3]<<8)+a[4];let e=new Int8Array(t);s.numberArgs=[...e];break;case this.MD_MASK:s.name="md",s.numberArgs[0]=15&a[0],s.numberArgs[1]=(a[1]<<8)+a[2],s.numberArgs[2]=(a[3]<<8)+a[4];break;case this.MU_MASK:s.name="mu",s.numberArgs[0]=15&a[0],s.numberArgs[1]=(a[1]<<8)+a[2],s.numberArgs[2]=(a[3]<<8)+a[4];break;case this.KD_MASK:s.name="kd",r=(new TextDecoder).decode(a.slice(1)),s.strArgs=r.split(",");break;case this.KU_MASK:s.name="ku",r=(new TextDecoder).decode(a.slice(1)),s.strArgs=r.split(",");break;case this.UAC_MASK:s.name="uac",s.numberArgs[0]=a[1]}return s}}export{t as default};