/
lostSun
/
project-client-server-apps
Обзор
Документация
Войти
/
lostSun
/
project-client-server-apps
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
node_modules/yocto-queue/index.js
68 строк
949 B
1lostsun
initial commit
05 май 2025, 11:35
05 май 2025, 11:35
fe8f535
Код
Авторство
О чём код?
class Node { /// value; /// next; constructor(value) { this.value = value; // TODO: Remove this when targeting Node.js 12. this.next = undefined; } } class Queue { // TODO: Use private class fields when targeting Node.js 12. // #_head; // #_tail; // #_size; constructor() { this.clear(); } enqueue(value) { const node = new Node(value); if (this._head) { this._tail.next = node; this._tail = node; } else { this._head = node; this._tail = node; } this._size++; } dequeue() { const current = this._head; if (!current) { return; } this._head = this._head.next; this._size--; return current.value; } clear() { this._head = undefined; this._tail = undefined; this._size = 0; } get size() { return this._size; } * [Symbol.iterator]() { let current = this._head; while (current) { yield current.value; current = current.next; } } } module.exports = Queue;