0.0.3 • Published 9 years ago
queue-storage v0.0.3
queue-storage
Queue storage with linked list.
Env
node^6
Usage
let queue = new QueueStorage();
queue.push(data); // push data to front of queue
queue.pop(data); // pop data from back of queue
queue.front; // get front item
queue.back; // get back item
queue.size; // get size of queue
// iterable
for (let i of queue) {
// do somethings
}
let result = QueueStorage.from([ 1, 2, 3 ]); // Cast from an array
JSON.stringfiy(result) === '[1,2,3]'; // Stringify as an arrayParameters
limitis a number, it represents the max size of this queue,0means no limit, default0.overflowis a string,POPorIGNORE, it represents how to deal the overflowed item, defaultPOP.
let queue = new QueueStorage({ limit: 10, overflow: 'POP' });
for (let i = 0; i < 20; i++) {
queue.push(i);
}
queue.size; // 10
queue.front; // 19
queue.back; // 10let queue = new QueueStorage({ limit: 10, overflow: 'IGNORE' });
for (let i = 0; i < 20; i++) {
queue.push(i);
}
queue.size; // 10
queue.front; // 9
queue.back; // 0