Class QueueImmutable<V>

Queue (immutable). See also QueueMutable.

Queues are useful if you want to treat 'older' or 'newer' items differently. Enqueing adds items at the back of the queue, while dequeing removes items from the front (ie. the oldest).

let q = queue();           // Create
q = q.enqueue(`a`, `b`); // Add two strings
const front = q.peek; // `a` is at the front of queue (oldest)
q = q.dequeue(); // q now just consists of `b`
const q = queue({capacity: 5, discardPolicy: `newer`});

Type Parameters

  • V

Implements

Constructors

  • Creates an instance of Queue.

    Type Parameters

    • V

    Parameters

    • opts: QueueOpts<V> = {}

      Options foor queue

    • data: readonly V[] = []

      Initial data. Index 0 is front of queue

    Returns QueueImmutable<V>

Properties

opts: QueueOpts<V>

Accessors

  • get isEmpty(): boolean
  • Returns true if queue is empty

    Returns boolean

  • get isFull(): boolean
  • Is queue full? Returns false if no capacity has been set

    Returns boolean

  • get length(): number
  • Number of items in queue

    Returns number

  • get peek(): undefined | V
  • Returns front of queue (oldest item), or undefined if queue is empty

    Returns undefined | V

Methods

  • Enumerates queue from back-to-front

    Parameters

    • fn: ((v: V) => void)
        • (v): void
        • Parameters

          Returns void

    Returns void

  • Enumerates queue from front-to-back

    Parameters

    • fn: ((v: V) => void)
        • (v): void
        • Parameters

          Returns void

    Returns void