@rexxars/p-ratelimit
Version:
Promise-based utility to make sure you don’t call rate-limited APIs too quickly.
49 lines • 1.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.dequeue = void 0;
function dequeue() {
var length = 0;
var head = undefined;
var tail = undefined;
function push(value) {
var newNode = {
value: value,
prev: tail,
next: undefined,
};
if (length) {
tail.next = newNode;
tail = newNode;
}
else {
head = tail = newNode;
}
length++;
}
function shift() {
if (!length) {
return undefined;
}
var result = head;
head = head.next;
length--;
if (!length) {
head = tail = undefined;
}
return result.value;
}
function peekFront() {
if (length) {
return head.value;
}
return undefined;
}
return {
length: function () { return length; },
push: push,
shift: shift,
peekFront: peekFront,
};
}
exports.dequeue = dequeue;
//# sourceMappingURL=dequeue.js.map