UNPKG

@figliolia/data-structures

Version:

Efficient data structures for every day programming

47 lines (46 loc) 882 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Queue = void 0; /** * Queue * * A basic queue with enqueue, dequeue and peek methods * * ```typescript * import { Queue } from "@figliolia/data-structures"; * * const queue = new Queue<number>(); * queue.enqueue(1); * queue.enqueue(2); * queue.enqueue(3); * queue.peek(); // 1 * queue.dequeue(); // 1 * ``` */ class Queue extends Array { /** * Peek * * Returns a reference to the first element in the queue */ peek() { return this[0]; } /** * Enqueue * * Adds an element to the end of the queue */ enqueue(item) { return super.push(item); } /** * Dequeue * * Removes the first element in the queue */ dequeue() { return super.shift(); } } exports.Queue = Queue;