12345678910111213141516171819202122232425262728 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.Stack = void 0;
- const throttler_1 = require("./throttler");
- class Stack extends throttler_1.Throttler {
- constructor(options) {
- super(options);
- this.lastTotal = 0;
- this.stack = [];
- this.name = this.name || "stack";
- }
- hasWaitingTask() {
- return this.lastTotal !== this.total || this.stack.length > 0;
- }
- nextWaitingTaskIndex() {
- while (this.lastTotal < this.total) {
- this.stack.push(this.lastTotal);
- this.lastTotal++;
- }
- const next = this.stack.pop();
- if (next === undefined) {
- throw new Error("There is no more task in stack");
- }
- return next;
- }
- }
- exports.Stack = Stack;
- exports.default = Stack;
|