Cyclist is an efficient cyclic list implemention.
npm install cyclist
Cyclist allows you to create a list of fixed size that is cyclic. In a cyclist list the element following the last one is the first one. This property can be really useful when for example trying to order data packets that can arrive out of order over a network stream.
var cyclist = require'cyclist';var list = cyclist4; // if size (4) is not a power of 2 it will be the follwing power of 2// this buffer can now hold 4 elements in totallistput42 'hello 42'; // store something and index 42listput43 'hello 43'; // store something and index 43console.loglistget42; // prints hello 42console.loglistget46; // prints hello 42 again since 46 - 42 == list.size
cyclist(size)creates a new buffer
cyclist#get(index)get an object stored in the buffer
cyclist#put(index,value)insert an object into the buffer
cyclist#del(index)delete an object from an index
cyclist#sizeproperty containing current size of buffer