@aircast-4g/mavlink
Version:
TypeScript type generator for MAVLink dialects
2 lines (1 loc) • 815 B
JavaScript
class t{constructor(t=4096){this.bufferStart=0,this.bufferEnd=0,this.buffer=new Uint8Array(t)}append(t){const f=this.bufferEnd-this.bufferStart,e=f+t.length;if(e>this.buffer.length){const t=Math.max(2*this.buffer.length,e),r=new Uint8Array(t);r.set(this.getContents()),this.buffer=r,this.bufferStart=0,this.bufferEnd=f}else if(this.bufferEnd+t.length>this.buffer.length){const t=this.getContents();this.buffer.set(t),this.bufferStart=0,this.bufferEnd=f}this.buffer.set(t,this.bufferEnd),this.bufferEnd+=t.length}getContents(){return this.buffer.subarray(this.bufferStart,this.bufferEnd)}consume(t){this.bufferStart+=t,this.bufferStart===this.bufferEnd&&(this.bufferStart=0,this.bufferEnd=0)}reset(){this.bufferStart=0,this.bufferEnd=0}get length(){return this.bufferEnd-this.bufferStart}}export{t as StreamBuffer};