Files
railwaysystem/RuoYi-Vue/ruoyi-ui/node_modules2/handsontable/utils/dataStructures/queue.js
T

66 lines
1.1 KiB
JavaScript
Raw Normal View History

2026-09-10 15:40:10 +08:00
"use strict";
exports.__esModule = true;
require("core-js/modules/es.array.push.js");
/**
* @class Queue
* @util
*/
class Queue {
constructor() {
let initial = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
/**
* Items collection.
*
* @type {Array}
*/
this.items = initial;
}
/**
* Add new item or items at the back of the queue.
*
* @param {*} items An item to add.
*/
enqueue() {
this.items.push(...arguments);
}
/**
* Remove the first element from the queue and returns it.
*
* @returns {*}
*/
dequeue() {
return this.items.shift();
}
/**
* Return the first element from the queue (without modification queue stack).
*
* @returns {*}
*/
peek() {
return this.isEmpty() ? void 0 : this.items[0];
}
/**
* Check if the queue is empty.
*
* @returns {boolean}
*/
isEmpty() {
return !this.size();
}
/**
* Return number of elements in the queue.
*
* @returns {number}
*/
size() {
return this.items.length;
}
}
var _default = Queue;
exports.default = _default;