array_queue.js 862 B

1234567891011121314151617181920212223242526272829
  1. "use strict";
  2. var __importDefault = (this && this.__importDefault) || function (mod) {
  3. return (mod && mod.__esModule) ? mod : { "default": mod };
  4. };
  5. Object.defineProperty(exports, "__esModule", { value: true });
  6. exports.ArrayTaskQueue = void 0;
  7. const node_assert_1 = __importDefault(require("node:assert"));
  8. class ArrayTaskQueue {
  9. constructor() {
  10. this.tasks = [];
  11. }
  12. get size() {
  13. return this.tasks.length;
  14. }
  15. shift() {
  16. var _a;
  17. return (_a = this.tasks.shift()) !== null && _a !== void 0 ? _a : null;
  18. }
  19. push(task) {
  20. this.tasks.push(task);
  21. }
  22. remove(task) {
  23. const index = this.tasks.indexOf(task);
  24. node_assert_1.default.notStrictEqual(index, -1);
  25. this.tasks.splice(index, 1);
  26. }
  27. }
  28. exports.ArrayTaskQueue = ArrayTaskQueue;
  29. //# sourceMappingURL=array_queue.js.map