firewalk
Version:
A collection traversal library for Firestore
26 lines • 1.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SLLQueueExtended = void 0;
const ds_1 = require("@proficient/ds");
const errors_1 = require("../errors");
class SLLQueueExtended extends ds_1.SLLQueue {
/**
* Dequeues the first `itemCount` items into an array.
*
* @param itemCount - The number of items to dequeue.
* @returns The array of dequeued items.
* @throws {@link IllegalArgumentError} Thrown if `itemCount` is invalid.
*/
dequeueFirst(itemCount) {
if (!Number.isInteger(itemCount) || itemCount < 0 || itemCount > this.count) {
throw new errors_1.IllegalArgumentError('The `itemCount` argument must be a non-negative integer less than or equal to the size of the queue.');
}
const items = new Array(itemCount);
for (let i = 0; i < itemCount; i++) {
items[i] = this.dequeue();
}
return items;
}
}
exports.SLLQueueExtended = SLLQueueExtended;
//# sourceMappingURL=SLLQueueExtended.js.map