Circular buffer / ring buffer with overflow support
npm install mthb-circular-bufferjavascript
import { CircularBuffer } from 'mthb-circular-buffer';
`
Allow OverFlow = true
`javascript
var circularBuffer = new CircularBuffer(2 /length/, true /allowOverFlow/);
circularBuffer.push(1);
circularBuffer.push(2);
console.log(circularBuffer.size()); // 2
circularBuffer.push(3);
console.log(circularBuffer.size()); // 2
console.log(circularBuffer.pop()); // 2
console.log(circularBuffer.pop()); // 3
console.log(circularBuffer.size()); // 0
`
Allow OverFlow = false
`javascript
var circularBuffer = new CircularBuffer(2 /length/, false /allowOverFlow/);
circularBuffer.push(1);
circularBuffer.push(2);
console.log(circularBuffer.pop()); // 1
console.log(circularBuffer.pop()); // 2
circularBuffer.push(3);
circularBuffer.push(4);
circularBuffer.push(5); // throw "overflow"
``