29 lines
862 B
JavaScript
29 lines
862 B
JavaScript
"use strict";
|
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.ArrayTaskQueue = void 0;
|
|
const node_assert_1 = __importDefault(require("node:assert"));
|
|
class ArrayTaskQueue {
|
|
constructor() {
|
|
this.tasks = [];
|
|
}
|
|
get size() {
|
|
return this.tasks.length;
|
|
}
|
|
shift() {
|
|
var _a;
|
|
return (_a = this.tasks.shift()) !== null && _a !== void 0 ? _a : null;
|
|
}
|
|
push(task) {
|
|
this.tasks.push(task);
|
|
}
|
|
remove(task) {
|
|
const index = this.tasks.indexOf(task);
|
|
node_assert_1.default.notStrictEqual(index, -1);
|
|
this.tasks.splice(index, 1);
|
|
}
|
|
}
|
|
exports.ArrayTaskQueue = ArrayTaskQueue;
|
|
//# sourceMappingURL=array_queue.js.map
|