UNPKG

@kartikkhk/stl-node

Version:

Standard Data Structures for Node JS

36 lines (35 loc) 864 B
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const queue_1 = __importDefault(require("./queue")); class Deque extends queue_1.default { constructor(array) { super(array); } addLast(value) { this.add(value); } addFirst(value) { this._arr.unshift(value); } removeFirst() { return this.remove(); } removeLast() { return this._arr.pop(); } peekFirst() { return this.peek(); } peekLast() { if (this.isEmpty()) return undefined; return this._arr[this._arr.length - 1]; } static fromArray(array) { return new Deque(array); } } exports.default = Deque;