Skip to content
This repository was archived by the owner on Nov 23, 2022. It is now read-only.

Commit d8a5ac9

Browse files
committed
refactor: add state definitions
1 parent b9348c1 commit d8a5ac9

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

src/index.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,28 @@ const EventEmitter = require("events");
33
function QueueManager(queue) {
44
this._emitter = new EventEmitter();
55
const self = this;
6+
this.state = "running";
67
queue.drain(() => {
78
self._emitter.emit("toggle");
89
});
910
}
1011

1112
QueueManager.prototype.pause = function () {
1213
const self = this;
14+
this.state = "paused";
1315
return new Promise((resolve) => {
1416
self._emitter.once("toggle", () => resolve(true));
1517
});
1618
};
1719

1820
QueueManager.prototype.resume = function () {
21+
if (this.state === "running") return;
1922
const ack = this._emitter.emit("toggle");
2023
if (!ack) {
2124
console.log(
2225
`resume event wasn't consumed, queue will resume after it's drained`
2326
);
27+
} else {
28+
this.state = "running";
2429
}
2530
};

0 commit comments

Comments
 (0)