UNPKG

@evolvejs/core

Version:

An advanced Discord API wrapper with TS and JS support

35 lines (34 loc) 876 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AsyncronousQueue = void 0; class AsyncronousQueue { constructor() { this._promises = []; } get resolved() { return this._promises.length === 0; } get notResolved() { return this._promises.length; } delay() { const next = this._promises.length ? this._promises[this._promises.length - 1].promise : Promise.resolve(); this.enqueue(); return next; } enqueue() { let resolve; const promise = new Promise((res) => { resolve = res; }); this._promises.push({ promise, resolve }); } dequeue() { const next = this._promises.shift(); if (next) next.resolve(); } } exports.AsyncronousQueue = AsyncronousQueue;